微服务与 N 层应用设计全解析
1. 微服务架构概述
在应用扩展方面,Y 轴扩展涉及功能分解,也就是将整体应用拆分成不同的服务。在应用层,Y 轴扩展会把单体应用拆分为多个独立的服务集,每个服务实现一组相关的功能,例如客户管理、订单管理等。通常,应用会同时利用扩展立方体的三个轴。Y 轴扩展将应用分解为微服务;在运行时,X 轴扩展会在负载均衡器后面运行每个服务的多个实例,以提高输出和可用性;有些应用还会使用 Z 轴扩展来对服务进行分区。
2. 微服务的缺点
- 部署复杂 :与单体应用相比,微服务应用通常由大量服务组成,这使得部署的复杂性大大增加。
- 管理和编排复杂 :大量服务中的每个服务都可能有多个运行时实例,需要进行配置、部署、扩展和监控的组件数量呈指数级增长。成功部署微服务需要开发人员对部署方法进行更精细的控制,并结合高度的自动化。
- 测试复杂 :为微服务应用编写测试类时,不仅需要启动该服务,还需要启动其依赖的服务。
3. 设计微服务的考虑因素
从单体应用向微服务架构转变时,尽管微服务架构存在缺点和实施挑战,但对于复杂、不断发展的应用来说,它仍是更好的选择。在开发新应用或更新旧应用时,需要考虑以下因素:
- 构建和维护高可用的分布式系统很复杂。
- 更多的组件意味着需要跟踪更多的部件。
- 松散耦合的服务需要采取措施来保持数据一致性。
- 分布式异步进程会导致网络延迟和更多的 API 流量。
- 测试和监
超级会员免费看
订阅专栏 解锁全文
952

被折叠的 条评论
为什么被折叠?



