架构技术交流 2020-06-13
大型网络技术架构3
2020.3.14
分层
最常见的架构模式,将系统在横向维度上切分成几个部分,每个部分单一职责。网站一般分为三个层次:应用层、服务层和数据层,过分层,一个庞大系统切分成不同部分,便于分工合作和维护。
分割:
分割是在纵向方面对软件进行切分->将不同的功能和服务分割开来,包装成高内聚低耦合的模块单元,有助于软件开发和维护,还便于不同模块的分布式部署,提高网站的并发处理能力和功能扩展能力。
分布式
①分布式应用和服务:应用和服务模块分布式部署,便于业务功能扩展;
②分布式静态资源:JS、CSS、LOGO图片等资源独立部署,采用独立域名->动静分离;
③分布式数据和存储:传统RDBMS分布式部署和NoSQL产品;
④分布式计算:Hadoop及其MapReduce分布式计算框架,其特点是移动计算而不是移动数据。
缓存
缓存是改善软件性能的第一手段。在复杂的软件设计中,缓存几乎无处不在。
①CDN:内容分发网络,缓存网站的一些静态资源;
②反向代理:部署在网站的前端,最先访问到的就是反向代理服务器;
③本地缓存:在应用服务器本地缓存热点数据,无需访问数据库;
④分布式缓存:应用程序通过网络通信访问缓存数据;
业务之间的消息传递不是同步调用,而是将一个业务操作分成多个阶段,每个阶段之间通过共享数据的方式异步执行进行协作。