1.大型网络架构变迁
SOA与微服务最大的差别就是服务拆分的细度,目前大多数微服务实际上是SOA架构,真正的微服务应该是一个接口对应一个服务器,开发速度快、成本高;
微服务 | SOA |
---|---|
能拆分的就拆分 | 是整体的,服务能放一起的都放一起 |
业务逻辑存在于每一个服务中 | 业务逻辑横跨多个业务领域 |
使用轻量级的通讯方式,如HTTP | 企业服务产总线(ESB)充当服务之间通讯的角色 |
细粒度 | 粗粒度 |
2.微服务
微服务(Microservices)是一种软件架构风格,它将一个大型的应用程序拆分成多个小型的、自治的服务单元,每个服务单元都围绕着特定的业务功能构建。每个微服务都可以独立部署、独立扩展和独立维护,它们之间通过轻量级的通信机制进行交互。
2.1 微服务的必要性
随着时代的不断发展,项目规模越来越大,传统单体架构使得项目逻辑混乱难以维护,部署速度越来越慢
2.2 微服务的优点
易于开发维护、启动较快、局部修改容易部署、技术栈不受限(轻易能更新换代)、按需伸缩(增加服务功能简单)
2.3 微服务的缺点
运维要求较高(要维护多个项目)、分布式较复杂、接口调整成本高(接口改变,则调用该接口的服务都要调整)