微服务设计——微服务初识
微服务的概念
微服务概就是协同工作的小而自治的服务。相互独立、且具有自治性的服务。
从字面意思中就可以看出,主要是小而独立,遵循单一职责原则(把因相同原因而变化的东西聚合到一起,把因不同原因而变化的而分离开来),从这句话而言,可以看出其高内聚行的存在。
自治性,一个服务就是一个独立的实体,可独立部署在PASS上。服务之间均通过网络调用进行通信,从而将强了服务之间的隔离性,避免紧耦合。服务暴露API,服务通过API进行通信。
微服务的好处
技术异构性:可以在不同的服务中,使用最合适该服务的技术栈
弹性:能够很好的处理服务不可用和功能降级问题
扩展:只需要对扩展的服务进行扩展,不需要对整个服务进行扩展
部署简化:服务独立部署,可以更快的对特定部分代码进行部署
与组织结构相匹配:可根据团队的结构合理的设计整体服务的大小
可组合性:易于重用已有功能
对可替代性的优化:使用多个小模块,在需要时轻易的重写服务或者删除不再使用的服务。
微服务的问题
必须面对分布式系统的复杂性。需要部署、测试和监控做很多工作,考虑如何扩展系统,并且保证它的弹性,处理类似分布式事务与CAP相关的问题。
总结
领域驱动设计、持续交付理论、六边形架构理论、单一职责原则、PAAS、舱壁、
以上内容,是本人通过阅读《微服务设计》第一章节的总结,只是简单的学习总结,如有错误还请批评指正,谢谢!