很小,专注做好一件事
那么什么程度够小?
“一个微服务应该可以在两周内完全重写”
同时应该具有自治性:你能否修改一个微服务并对其进行部署,而不影响其他任何服务。
优点
技术异构
- 更快的使用新技术
- 针对某一部分使用性能更好的技术栈重新构建。
弹性
一个组件如果不可用,那么不应该影响系统的其他部分。
拓展
可以只针对需要拓展的服务进行拓展,可以将不需要拓展的服务运行在性能更差的硬件上。
利于部署
可以针对特定部分的代码进行部署,如果出现问题只影响一个服务,并可以快速回滚。
提高团队效率
避免过大的代码库,获得理想的团队大小及生产力。
可组合性
易于重用已有功能
优化可替代性
可以在需要的时候轻易重写服务
网友评论