高并发——应用拆分(四)

前言

一个服务器再怎么优化,其处理能力都是有限的。根据项目情况,将一个整体应用拆分为多个应用也不失为一个方案。比如按功能模块及功能模块使用频率拆分。

应用拆分的好处

  1. 减轻并优化了整个统一的应用的压力。
  2. 拆分后的应用可以被更精准的监控。
  3. 不同子应用会更容易管理及局部优化。
  4. 更利于功能模块内部的团队协作。

应用拆分的弊端

  1. 管理的复杂度上升。
  2. 代价昂贵。使用资源的成本增加。
  3. 网络开销增加,带宽要求增加。

应用拆分的原则

  1. 业务优先。优先按照业务的功能拆分为小应用。
  2. 循序渐进,迭代拆分并进行测试。
  3. 兼顾技术:重构、分层。
  4. 可靠测试。减少或避免累积错误的出现。

应用拆分的思考

  1. 应用之间通信:RPC(dubbo 等)或消息队列(适用于传输数据包小,但传输量大,对数据的实时性要求不高的场景)。
  2. 应用之间的数据库设计:每个应用都应有自己的数据库,其中一些共同的信息可以另建一个公共数据库来存放。
  3. 避免事务操作跨应用,降低耦合度。

框架

dubbo

spring cloud

微服务

文章目录
  1. 1. 前言
  2. 2. 应用拆分的好处
  3. 3. 应用拆分的弊端
  4. 4. 应用拆分的原则
  5. 5. 应用拆分的思考
  6. 6. 框架
  7. 7. 微服务
|