微服务——概述(一)

什么是微服务架构

架构图

微服务是什么_2019-11-20-13-53-42.png

描述

微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间相互协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务和服务之间采用轻量级的通信机制相互沟通(通常是基于 HTTP 的 Restful API).每个服务都围绕着具体的业务进行构建,并且能够被独立的部署到生产环境、类生产环境等

单体应用 VS 微服务架构

优点

  1. 提升开发交流,每个服务足够内聚,足够小,代码容易理解;
  2. 服务独立测试、部署、升级、发布;
  3. 按需定制的 DFX,资源利用率,每个服务可以各自进行 x 扩展和 z 扩展,而且,每个服务可以根据自己的需要部署到合适的硬件服务器上;每个服务按
  4. 需要选择 HA 的模式,选择接受服务的实例个数;
  5. 容易扩大开发团队,可以针对每个服务(service)组件开发团队;
  6. 提高容错性(fault isolation),一个服务的内存泄露并不会让整个系统瘫痪;
  7. 新技术的应用,系统不会被长期限制在某个技术栈上;

缺点

  1. 没有银弹,微服务提高了系统的复杂度;
  2. 开发人员要处理分布式系统的复杂性;
  3. 服务之间的分布式通信问题;
  4. 服务的注册与发现问题;
  5. 服务之间的分布式事务问题;
  6. 数据隔离再来的报表处理问题;
  7. 服务之间的分布式一致性问题;
  8. 服务管理的复杂性,服务的编排;
  9. 不同服务实例的管理。

参考资料

什么是微服务架构?

文章目录
  1. 1. 什么是微服务架构
    1. 1.1. 架构图
    2. 1.2. 描述
  2. 2. 单体应用 VS 微服务架构
    1. 2.1. 优点
    2. 2.2. 缺点
    3. 2.3. 参考资料
|