软件的设计理念应了:分久必和;合久必分
微服务就是一个分布式的设计。
介绍微服务的经典文章: https://martinfowler.com/articles/microservices.html
微服务架构风格这种开发方法,是以开发一组小型服务的方式来开发一个独立的应用系统的。其中每个小型服务都运行在自己的进程中,并经常采用HTTP资源API这样轻量的机制来相互通信。这些服务围绕业务功能进行构建,并能通过全自动的部署机制来进行独立部署。
九大特征:
1. 多服务: 服务可被独立部署;更加显式的(explicit)组件接口
2. 围绕“业务功能”组织团队: 一个微服务多大(“两个比萨团队”)
3. 做产品: 团队负责一个产品的整个生命周期
4. 智能端点(smart endpoints)和傻瓜管道(dumb pipes)
5. 去中心化
6. “去中心化”地管理数据
7. “基础设施”自动化
8. “容错”设计
9. “演进式”设计
Microservice架构模式简介
https://www.cnblogs.com/loveis715/p/4644266.html
这篇文章分析了Microservices,并有几个示例。
与Monolith的对比,Microserices展示了在开发的优势。但需要解决公共服务、数据处理(数据模型匹配)、接口设计、项目管理中的问题。