一.什么是微服务

微服务、微服务架构和微服务框架

  • 微服务架构是将复杂的系统使用组件化的形式进行拆分,并使用轻量级通讯方式进行整合的一种设计方法
  • 微服务是通过这种架构设计方法拆分出来的一个独立的组件化的应用。
  • 微服务框架是通过这种架构设计方法实现的一组软件组件,是一种可复用的体系结构
  • 微服务架构定义的精髓:“分而治之,和而用之”

单体(整体)架构的不足

  1. 复杂性逐渐增高
  2. 技术债务逐渐上升
  3. 维护成本大
  4. 持续交互周期长
  5. 可扩展性差

微服务架构的特性

  1. 单一职责(高内聚、低耦合的服务单元)
  2. 轻量级的通信(语言无关、平台无关的通信方式)
  3. 独立性(独立开发、测试和部署)
  4. 进程隔离(每个服务运行在独立的进程中,可跨主机部署)

微服务的不足

  1. 运维要求较高(需要知道是哪个模块出的问题)
  2. 分布式的复杂性(分布式本身具有复杂性)
  3. 接口调整成本高(一旦接口发生变动,所有依赖于它的微服务都要做相应的改变)
  4. 重复劳动(多个微服务上可能建立相同的工具类)

对比

微服务对比

为什么使用微服务架构

  1. 开发简单
  2. 快速响应需求变化(适合敏捷开发)
  3. 随时随地更新
  4. 系统更加稳定可靠 (高可用的分布式环境)