一个“微”体现了微服务架构与实践的核心要素,也就是说服务的微型化,简单来说就是一个微服务知识专注的做好一件事。当然这件事紧密围绕业务领域,形成了高度内聚的自治性。
大型的应用系统,采用模块化的分层式架构,所有的业务逻辑最终都会打进一个代码库中统一的进行部署。如果改动一个地方其它的好几个地方都需要改动,这就好比“洋葱架构”。特点就是一层又一层的粘连,重构这样的系统就像切洋葱一样让人忍不住流泪一样。
微服务架构与实践当中是一个可以给架构师提供很多权衡取舍的一个空间。每一个微服务实现层面的技术都是由服务负责人决定的,服务的分拆必定伴随着决策权和责任的分析,同时这也就减轻了整体应用负责人的责任负担。架构师虽然解放出来了从整体和全局上,我们更应该能够正确地监控系统全局的健康性。
软件系统会在他的生民周期中不断的产生变化,但是唯一不变的就是变化,而我们的微服务架构与实践当中,思路是不鼓励这样的一种方式的,将系统的演讲都是通过局部的新增、改进或者是替换微服务来实现的。在微服务的周期变化中,从整体来看就是一种渐进式、符合自然进化的一种系统演进道路。我们的微服务架构微妙之处就在于他很是符合城市历史的演进规律,能够随着人员变化、时间和技术的改进来引发自然渐进式的进化。