烟哥:\"大众小刘啊,去把公司那套天霸动霸Tua系统整整,接入注册中央,熔断器什么的,整成微做事架构!
领导发话了,就用java里的spring cloud那些组件来做,有没有问题?\"大众
只见小刘眼角闪过一丝泪花,说道:\"大众有一个大大的问题!
天霸动霸Tua系统中的动霸Tua运用是08年开拓的,是用php写的!
你让我怎么接入那些java的注册中央、熔断器啊…\"大众
接下来自然便是:

烟哥瞪了瞪眼,说道:\"大众小刘啊,你知道什么是边车(SideCar)嘛?\"大众
小刘说:\"大众知道啊,便是如果只是单独一辆自行车只能坐一个人,可以给自行车加一个边车(SideCar),扩展一下现有的功能,像下面这样\公众
\"大众嗯嗯,实在这个模式在微做事中也可以用的!
你想啊,我们给动霸Tua运用做一个代理,然后呢,做事注册、鉴权、限流啊…这些功能都做在代理里,然后呢我们不要直接调动霸Tua运用,调的是动霸Tua运用的代理,这里代理便是所谓的边车(SideCar),大概支配图是下面这样的!
\"大众
说到,这里小刘的眼神中彷佛露出了满脸的期待,像下面这样
烟哥很装13了停了停,然后连续说道:\"大众说到这里,我们基本可以明白!
要将一个运用改成微做事架构,基本有两种办法:(1)以改FrameWork的办法,直接在原来的项目代码里头进行修正!
(2)以边车(SideCar)模式的办法,通过边车(SideCar)进行转发要求!
\"大众
\"大众小刘你瞅啊,边车(SideCar)模式这种办法,不仅对原来的运用代码零侵入,而且不限定原来运用的措辞,特殊适宜这种异构微做事的场景!
其余,往后你的边车(SideCar)要升级了,是可以独立升级的,不用重新打包原来的运用!
听起来是不是很完美?\"大众
烟哥回答道:\"大众嗯嗯,你看啊!
须要把稳的有下面几点:\"大众
由于你的边车(SideCar)集成了微做事的通用功能、如果边车(SideCar)进行重试调用,会对你的系统造成额外的影响么?也便是担保你的接口幂等性!
刚说到了利用边车(SideCar)后,边车是可以独立升级的!
那这也带来了一个问题,你的原程序要进行升级或边车(SideCar)要进行升级如何协同来担保要求的正常处理或转发,可以理解为如何进行优雅高下线,这些要考虑清楚!
小刘问道:\公众嗯好的,我懂啦!
可是,你说的都好理论啊,在项目中那详细怎么做呢,比如以我们的技能栈Spring Cloud来说,究竟怎么做这个边车(SideCar)模式呢?\"大众
\公众嗯,听好啦\"大众
怎么做(由于我们的技能栈是Spring Cloud,因此只能解释在该技能栈下是怎么做的!
)
SpringCloud中有一个组件叫spring-cloud-netflix-sidecar是供应了边车模式的支持的!
自己搭建一个microservice-sidecar的工程也非常大略,maven中的dependencies依赖如下
然后,在Application中加上@EnableSidecar表明,像下面这样
末了便是修正你的配置文件,像下面这样
然后你就可以通过sidecar来访问了你的php运用
http://localhost:8070/拓展过了几天,小刘又来找我了!
只见小刘说道:\"大众能不能给所有的微做事都搭一个边车(SideCar),然后用一个平台将边车(SideCar)管理起来,像下面这样\"大众
烟哥回答道:“可以的!
这便是去年年初被炒的火热的做事网格(ServiceMesh)模式!
”
请看下回《大话微做事中的做事网格》
作者:孤独烟原文:转载自公号孤独烟,已获作者授权