单体架构 = 表现层 + 业务逻辑层 + 数据访问层
其实就是MVC
单体架构的缺陷:
1.如果项目过大、代码量过多,会让开发者难以维护
- 资源无法隔离
- 无法灵活扩展
微服务
微服务包括:
- 客户端
- 微服务网关:gameoManager、center
- 微服务原子层
- 服务发现
- 数据库
- 部署平台
- 可选:负载均衡、权限认证、服务熔断、日志监控
理解
- 把软件拆分为一个个组件,运行在进程\线程\协程中,独立部署
- 要围绕业务划分不同的微服务
- 要建设基础设施并使其自动化:
如导表工具、渲染流水线... - 可以有多个中心
- 拆分为多个服务之后,使用聚类分析聚成几个类。
三部曲:问题建模、规则制定、系统划分
+常见的微服务设计模式
聚合器微服务设计模式
代理微服务设计模式
链式微服务设计模式
分支微服务设计模式
数据共享微服务设计模式
异步消息传递微服务设计模式