1. 微服务定义
微服务是一种架构设计风格,相对于整体式架构设计而言,微服务把一个包含复杂业务逻辑的大型项目按功能的不同分成一些小型的服务组件,这些组件各自完成某一项单一功能的设计,每一个组件能够进行独立部署和独立运行。这些小型的服务组件就是微服务应用。微服务之间可以通过RestAPI进行快捷地通讯。这样,由众多的微服务应用,就可以组建起一个稳定和高性能的大型平台。
对于一个功能包罗万象的整体式架构的应用平台来说,它有很多局限性:
如系统庞大,不便管理,不便更新,不好扩展,难以维护,性能越来越差,并且问题层出不穷,等等。
而微服务却具有非常明显的优势:
设计灵活,方便迭代和更新,能够快速响应需求的变化,并且非常适合使用敏捷开发方法。而由微服务构建起来的平台,具有高可用和高性能的特性,不但能够适应超大流量的高并发调用,而且能够适应规模化扩充的要求,可以对服务规模进行持续扩展,从而成为一个可以不断进化的生态系统。
2. 微服务结构体