一文告诉你为什么会有微服务

72 阅读1分钟

1、微服务发展史

单体架构->集群及垂直化->SOA服务->微服务架构

1、单体架构

单体架构:一个war包或者jar包包含一个应用的所有功能,如图所示为单体架构图。

2、集群及垂直化

产生原因:

  • 用户量越来越大,服务端负载越来越高。
  • 业务场景越来越多并且越来越复杂。

优化:

  • 横向增加服务器,单台机器变为多台机器的集群。
  • 按照业务垂直领域进行拆分,减少业务耦合度。

总体思想:

分而治之

3、SOA服务

SOA(Service Oriented Architecture:面向服务的体系结构。

4、微服务架构

微服务架构优点:

  • 复杂度可控:体积小,复杂度低,开发、维护更加方便。
  • 技术选型更加灵活。
  • 可扩展性更强。
  • 独立部署。
  • 容错性:可通过重试、降级机制实现应用层面的容错。

微服务的挑战:

  • 故障排查难:微服务与微服务多次交互,开发人员定位难。
  • 服务监控:服务监控开销大。
  • 分布式架构的复杂度:微服务与微服务调用会存在网络延迟和网络故障无法避免。
  • 服务依赖:服务增多以后,使得系统整体更为复杂。
  • 运维成本:众多微服务的情况下,运维成本随之增加。

微服务技术挑战:

  • 分布式配置中心。
  • 服务路由。
  • 负载均衡。
  • 熔断限流。
  • 莲路监控。