微服务的特点
组件化、服务化
在进行微服务化改造时,组件化、服务化是常用手段之一。
将公共的逻辑抽离出来,提供一个公共的 SDK 、API 封装所有实现逻辑和方法。其他的服务,只需要使用这些组件、服务即可。
这也是实现内聚的一个过程。
松耦合
在不断组件化、服务化的过程中,每个服务内聚了各自规划的功能。
而服务与服务之间相互独立,没有强依赖。服务与服务之间,可以通过 API、RPC、数据库、消息队列等进行交互,避免因为一个服务奔溃,导致其他服务连锁反应。
去中心化
不同服务提供不同的功能,因此整个系统的流量会被分配到各个子服务,不会存在传统架构下的中心节点。
服务与服务之间直接通信,整个链路呈现网状。
敏捷发布快
发布一个服务比发布整个应用的周期短很多。单个服务容易部署,也方便回滚,故障率低。
技术更自由
可以根据需要,自主的选择实现方式。