概述
谈到微服务,不得不提两个人对微服务的定义:
⻢丁·福勒的定义(个人比较认同马丁.福勒的定义,还是比较详细的):
一组小的服务(主张把单块应用拆分成一个个小的服务 例如:电商应用拆分成登陆,购物车,订单等服务)
那么多小才算一组小的服务?没有特别的定义,只要开发人员觉得这块服务是一组小的服务,就可以。
独立的进程:
每个服务运行在独立的进程。比如应用部署在tomcat中,tomcat作为一个进程运行。 现在的容器本身也是一种进程。
轻量级的通信机制
服务之间的通信比较轻量,快捷。
基于业务能力
将服务基于业务进行细分
独立部署
每个服务能独立部署,测试、和开发
无集中式管理
每个服务都是各个服务部门管理,无需集中管理多个服务。
Adrian Cockcroft的定义:
1.松耦合
每个服务的依赖性不强,每个服务都能独立开发、测试,部署。
2.服务面向架构
微服务也是SOA的一种架构,只是进行了细分。
3.局部状态:
每个团队可以维护自己的数据。
思考:
微服务可以独立部署,给业务带来了什么好处
提高应用的可扩展性,按需分配资源。偶同事保证各个服务之间的环境隔离,保证故障的影响最小、原因排查快、修复影响小。 同时方便了各服务的开发、维护、和部署。
微服务各个服务都有独立的数据源,带来什么样的挑战
拆分前的下单流程,减扣库存,减扣积分,锁定优惠券,保存订单等操作属于同一个事务;拆分后属于不同的服务,需要额外的流程保证一致性。
最后
以上就是虚心早晨为你收集整理的浅谈微服务架构谈到微服务,不得不提两个人对微服务的定义:的全部内容,希望文章能够帮你解决浅谈微服务架构谈到微服务,不得不提两个人对微服务的定义:所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复