微服务为什么迅速成为主流技术?

微服务是系统架构的一种设计风格,它是把一个独立的大系统拆分成多个小服务,让这些小服务都在各自的进程中运行,服务之间通过安全的Http Restful 接口进行协同通信。微服务的产生是为解决一个单体应用在庞大业务发展后导致的不可维护性,当开发团队在敏捷开发和部署中举步维艰时,最主要问题就是这个应用太复杂,以至于任何单个开发者都不可能独自承担。总结单体应用的主要存在问题:一是在不同模块发生资源冲突时,扩展非常困难;二是系统可靠性问题,因为所有模块都运行在一个进程中,任何一个模块发生类似内存泄露的问题,将会有可能弄垮整个进程。三是系统升级时依赖包的版本冲突问题,不同中间件直接引用的依赖包都是需要版本支撑的,很容易导致相互冲突而不可控。

目前知名互联网公司都是通过采用微服务架构解决了上述问题。其思路不是开发一个巨大的单体式应用,而是将应用分解为小的微服务。一个微服务一般完成某个指定的任务或者功能,每一个微服务都有自己的业务逻辑和适配器。一些微服务还会发布API给其它微服务和应用客户端使用。每一个应用功能区都使用微服务完成,和以往的多个服务共享一个数据库不一样,微服务架构要求每个服务都有自己的数据库。总结一下,微服务发展多年以来,它的架构模式有很诸多好处。具体说明如下:

  • 分解庞大单体应用来解决多个服务直接的相互依赖。在功能不变的情况下,应用被分解为多个可管理的分支或服务。每个服务都通过消息通信机制来发生交互。微服务架构模式提供了模块化和产品化的平台级解决方案。
  • 更适合敏捷开发和小团队协同作战。开发者可以自由选择开发技术并提供API服务。开发者不需要被迫使用某项目指定好的技术工具。
  • 实现了独立的部署。开发者不再需要协调其它服务部署对本服务的影响。这种改变可以加快部署速度,微服务架构模式使得持续化部署成为可能。

让每个服务实现高可扩展。开发者根据用户规模来部署集群服务。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值