浅谈微服务架构

谈到微服务,不得不提两个人对微服务的定义:

 

丁·福勒的定义(个人比较认同马丁.福勒的定义,还是比较详细的):

一组小的服务(主张把单块应用拆分成一个个小的服务 例如:电商应用拆分成登陆,购物车,订单等服务)

那么多小才算一组小的服务?没有特别的定义,只要开发人员觉得这块服务是一组小的服务,就可以。

 

独立的进程:

每个服务运行在独立的进程。比如应用部署在tomcat中,tomcat作为一个进程运行。 现在的容器本身也是一种进程。

 

轻量级的通信机制

服务之间的通信比较轻量,快捷。

基于业务能力

将服务基于业务进行细分

独立部署

每个服务能独立部署,测试、和开发

无集中式管理

每个服务都是各个服务部门管理,无需集中管理多个服务。

 

 

Adrian Cockcroft的定义:

1.松耦合

每个服务的依赖性不强,每个服务都能独立开发、测试,部署。

2.服务面向架构

微服务也是SOA的一种架构,只是进行了细分。

3.局部状态:

每个团队可以维护自己的数据。

 

 

思考:

微服务可以独立部署,给业务带来了什么好处

提高应用的可扩展性,按需分配资源。偶同事保证各个服务之间的环境隔离,保证故障的影响最小、原因排查快、修复影响小。 同时方便了各服务的开发、维护、和部署。

微服务各个服务都有独立的数据源,带来什么样的挑战

拆分前的下单流程,减扣库存,减扣积分,锁定优惠券,保存订单等操作属于同一个事务;拆分后属于不同的服务,需要额外的流程保证一致性。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值