单体架构拆分微服务二

微服务架构

UML

单体架构拆分微服务二_第1张图片

优势

  • 服务可靠性高、可用性高、可扩展性高
    将之前的多种模块拆成了多个服务,即使某个服务挂掉了也不会影响到其他服务,比如订单服务挂了,不会影响到客户继续逛商场,不会影响添加购物车。
    每个服务可以用不同的技术栈实现,提现各个技术栈的优势。
    每个服务都可 X、Y、Z轴扩展,根据不同服务的特性有不同的扩展方案。
    X轴:
    水平复制,即在负载均衡服务器后增加多个web服务器。
    Y轴:
    根据服务的职责/功能,拆分服务。
    Z轴:
    对数据库的扩展,即分库分表(分库是将关系紧密的表放在一台数据库服务器上,分表是因为一张表的数据太多,需要将一张表的数据通过hash放在不同的数据库服务器上)

  • 业务解耦,增加专注度
    当单体服务过大时,业务逻辑都耦合在一块的很难进行区分辨识,开发艰难,拆成多个服务将逻辑解耦业务开发人员即可专注自己的业务。

  • CPU等硬件配置可根据不同需求进行配置
    服务可根据业务的不同进行不同的硬件配置。

劣势

你可能感兴趣的:(java,1024程序员节)