小的时候,只有一台服务器,把程序,文件,数据库丢在一起 2. 流量变大了,买了三台服务器,把程序,文件,数据库分开 3. 为了加速,开始加入缓存服务器组,redis,memcached 等 4. 流量进一步增加,开始用负载均衡,把应用服务器,改为一组,使用LVS,NGINX减少单机应用压力 5. 数据库进行读写分离,主库负责写,多台从库负责 More
微服务架构(microservices architecture)是服务导向架构(service-oriented architecture,缩写 SOA)的升级。 每一个服务就是一个独立的部署单元(separately deployed unit)。这些单元都是分布式的,互相解耦,通过远程通信协议(比如REST、SOAP)联系。 微服务就是应用的各项核心功能,而且这些服务均可独立运行。 微服务和单体服务 More
微核架构(microkernel architecture)又称为"插件架构"(plug-in architecture),指的是软件的内核相对较小,主要功能和业务逻辑都通过插件实现。 内核(core)通常只包含系统运行的最小功能。插件则是互相独立的,插件之间的通信,应该减少到最低,避免出现互相依赖的问题。 优点 良好的功能延伸性(extensibility),需要什么功能,开 More
架构学习难度比较大,原因为互联网上没有什么易懂的资料,大多数是翻译过来的,作者理解了,读者难以理解,月小升用复杂问题简单化,来理解下架构模式 定义:事件驱动架构是由高耦合度、单一目的的事件处理模块构成,这些模块异步接收、处理事件。(概念这玩意有点抽象,什么叫高耦合度,什么叫单一目的,什么叫事件处理模块,什么叫异步,这段定义 More
分层架构模式里的组件被分成几个平行的层次,每一层都代表了应用的一个功能(展示逻辑或者业务逻辑)。尽管分层架构没有规定自身要分成几层几种,大多数的结构都分成四个层次:展示层,业务层,持久层,和数据库层。 常见的图如下 复杂一点的分层架构图如下 分层架构的特点: 1. 分层架构中的每一层都着特定的角色和职能。 比如说展示层并不需 More
定义: 软件架构: 软件架构(software architecture)是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。软件架构会包括软件组件、组件之间的关系,组件特性以及组件间关系的特性[1]。软件架构可以和建筑物的架构相比拟[2]。 软件框架: 软件框架(software framework),通常指的是为了实现某个业界标准或完 More