面向服务架构设计理论与实践 1 SOA相关概念1.1 SOA的定义从软件的基本原理定义,可以认为SOA是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的 需接口和契约 联系起来。接口是采用中立的方式进行定义的,它应该独立与实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以一种统一和通用的方式进行交互。 1.2 业务流程与业务流程执行语言业务流程与业务流程执行语言( 2023-07-22 系统架构师 > 理论和实践 #系统架构师
MySQL安装 下载安装包,上传至服务器 cd mysql安装tar包所在文件夹 12345678910111213141516171819# 解压tar xvf mysql...# 重命名mv mysql... mysqlcd mysql# 创建data文件夹存储文件mkdir data# 创建用户组以及用户和密码groupadd mysqluseradd -g mysql mysql# 授权用户chown - 2023-07-16 数据库 > MySQL #mysql #安装文档
Netty重构RPC 1 RPC概述当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本, 通常会采用单一应用架构。之后出现了ORM 框架,主要用于简化增删改查工作流的,数据访问框架ORM 是关键。 随着用户量增加,当访问量逐渐增大,单一应用增加机器,带来的加速度越来越小,需要将应用拆分成互不干扰的几个应用,以提升效率,于是就出现了垂直应用架构。MVC 架构就是一种非常经典的用于加速前端页面开发 2023-07-16 网络通信 > Netty #http #NIO #Netty
NIO与Netty初识 1 Java NIO在NIO 中有几个核心对象需要掌握:缓冲区(Buffer)、选择器(Selector)、通道(Channel)。 1.1 缓冲区–Buffer1.1.1 基本API缓冲区实际上是一个容器对象,更直接的说,其实就是一个数组,在NIO 库中,所有数据都是用缓冲区处理的。在读取数据时,它是直接读到缓冲区中的;在写入数据时,它也是写入到缓冲区中的;任何时候访问NIO 中的数据,都是将它 2023-07-16 网络通信 > Netty #http #NIO #Netty
Netty高性能理解 1 异步非阻塞通信在IO 编程过程中,当需要同时处理多个客户端接入请求时,可以利用多线程或者IO 多路复用技术进行处理。IO 多路复用技术通过把多个IO 的阻塞复用到同一个select 的阻塞上,从而使得系统在单线程的情况下可以同时处理多个客户端请求。与传统的多线程/多进程模型比,I/O 多路复用的最大优势是系统开销小,系统不需要创建新的额外进程或者线程,也不需要维护这些进程和线程的运行,降低了系 2023-07-16 网络通信 > Netty #http #NIO #Netty
SQL执行流程 1.查询SQL的执行流程 1.1 连接 MySQL的服务器监听端口默认时3306,客户端连接服务端的方式有很多。可以是同步的也可以是异步的,可以是长连接也可以是短连接,可以是TCP也可以是Unix Socket,MySQL有专门处理连接的模块,连接的时候需要验证权限。查看当前的连接数: 1show global status like 'Thread%' 字段 2023-07-15 数据库 > MySQL #mysql
系统质量属性与架构评估 1 软件系统质量属性的概念1.1 开发期的质量属性 属性 说明 易理解性 指设计开发人员理解的难易程度 可扩展性 软件因适应新需求变化而增加新功能的能力,也称为灵活性 可重用性 指重用软件系统或其一部分的难易程度 可测试性 当软件测试以证明其满足需求规范的难易程度 可维护性 当需要修改缺陷、增加功能、提高质量属性时,识别修改点并实施修改的难易程度 可移植性 将软件系统 2023-07-15 系统架构师 > 高级技能 #系统架构师
软件可靠性分析与设计 1 可靠性基本概念系统可靠性 是系统在规定的时间内及规定的环境条件下,完成规定功能的能力,也就是系统无故障运行的概率。也就是软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统的功能特性的基本能力。系统可用性 是指在某个给定时间点上系统能够按照需求执行的概率,也就是系统能够正常运行的时间比例。 软件可靠性 ≠ 硬件可靠性,其区别: 复杂性 ,软件复杂性比硬件高, 大部分失效来自于软 2023-07-15 系统架构师 > 高级技能 #系统架构师
构件与中间件技术 1 构件的定义定义1: 软件构件是一种组装单元,它具有规范的接口规约和显式的语境依赖。软件构件可以被独立地部署并由第三方任意地组装。定义2: 构件是某系统中有价值的、几乎独立的并可替换的一个部分,它在良好定义的体系结构语境内满足某清晰的功能。定义3: 构件是一个独立发布的功能部分,可以通过其接口访问它的服务。 构件是一组通常需要同时部署的原子构件。 构件和原子构件之间的区别: 在于大多数原子构件永 2023-07-15 系统架构师 > 高级技能 #系统架构师
软件架构概念、架构风格、ABSD、架构复用、DSSA 1 软件架构的概念1.1 软件架构的定义软件架构概念 软件架构(Software Architecture) = 软件体系结构指系统的一个或者多个结构,结构包括:(1)结构 - 软件的构件(可能是程序的模块、类、或者中间件)(2)属性 - 构件的外部可见属性(3)交互作用 - 构件之间的相互关系 软件架构的本质 软件架构为软件系统提供了一个 结构、行为和属性的高级抽象。软件架构风格是特定应用领域的 2023-07-15 系统架构师 > 高级技能 #系统架构师