微服务(一):为什么需要微服务

微服务(一):为什么需要微服务

微服务出现的原因
  • 单体架构存在不足

    业务越来越复杂,单体应用的代码量越来越大,代码的可读性、可维护性、可拓展性下降,新人接手代码所需的时间成倍增加,业务扩展带来的代价极大。

    单体应用的并发能力有限。

    隔离性差,某部分出现问题时,整个工程都需要重新发布,故障影响范围大

服务化出现
  • 为了解决,单体应用的问题,选择将应用进行切分。相继出现了SOA及微服务,下面列出Dubbo和spirngCloud的技术区别。
    在这里插入图片描述

  • SOA和微服务的一个主要不同点就是自动化程度上的不同。大部分SOA实现只达到了服务级别的抽象,而微服务达到了对服务和运行环境的抽象级别。即SOA只是提供一个service层给其他服务调用,而微服务每个服务都是一个独立的模块,负责独立的业务可独立运行,并且在docker容器中运行。

  • 微服务的几个要点:1.微服务单元按业务划分2.微服务通过HTTP来互相通信3.微服务的数据库独立4.微服务的自动部署5.服务集中化管理,即注册中心6.分布式架构7.熔断机制

  • 微服务的优势

    复杂的业务分解成若干小的业务,业务量变小,新人上手容易。

    分布式系统,服务于服务间无耦合,具有极强的扩展能力。

    新开发的服务模块可不局限于某个技术、语言因为模块间相互独立,只暴露接口。

    重构难度降低,重构时只需要重构某个模块。

    隔离性强,某个服务出问题了,只需要测试和部署出问题的服务。

    微服务在CAP理论中采用的是AP架构,即具备高可用和分区容错性。

  • 微服务的缺点

    微服务的复杂度,构建一个微服务需要掌握更多的架构知识和框架知识,服务之间相互调用。

    微服务一般是一个AP系统,要解决C必须要用到分布式事务。

    服务的划分需要熟悉业务

    服务的部署,一个大型应用有几百个服务,一个服务有多个实例,每个服务启动顺序也有要求,部署有难度。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值