架构师系列 11 微服务架构的思考
什么是微服务?
把一个复杂的单体应用变成围绕业务领域组件来创建应用,这些应用可独立地进行开发、管理和部署
微服务架构的好处?
大型的复杂的应用程序可以 持续交付 和 持续部署
适合scrum kanban 开发模式
每个服务都相对较小并容易维护
服务可以独立部署
服务可以独立扩展
微服务架构可以实现团队的自治
更容易实验和采纳新的技术
更好的容错性
微服务架构的弊端?
服务的拆分和定义是一项挑战
分布式系统带来的各种复杂性,使开发、测试和部署变得更困难。比如:
维护服务之间的数据一致性,
以及跨服务数据检索,
部署需要高度自动化的支持多服务实例
当部署跨越多个服务的功能时需要谨慎的协调更多开发团队
考虑服务间的依赖关系
开发者需要思考到底应该在应用的什么阶段使用微服务架构
小型的服务,或者应用的第一个版本不需要引入这样的架构,会延长开发周期
后续的复杂阶段中单体转微服务可能更好
评论