微服务-冯常健-云平台的微服务架构与实践

微服务-冯常健-云平台的微服务架构与实践

ID:8219430

大小:2.11 MB

页数:21页

时间:2018-03-10

微服务-冯常健-云平台的微服务架构与实践 _第1页
微服务-冯常健-云平台的微服务架构与实践 _第2页
微服务-冯常健-云平台的微服务架构与实践 _第3页
微服务-冯常健-云平台的微服务架构与实践 _第4页
微服务-冯常健-云平台的微服务架构与实践 _第5页
资源描述:

《微服务-冯常健-云平台的微服务架构与实践 》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、云平台的微服务架构与实践冯常健目录PART01微服务架构PART02技术选型PART03业务拆分和重构PART04持续集成PART05总结微服务架构模式Microservicearchitecturalstyleisanapproachtodevelopingasingleapplicationasasuiteofsmallservices,eachrunninginitsownprocessandcommunicatingwithlightweightmechanisms.--JamesLewis&MartinFowler特征:•原子业务•独立部署•通信协议轻量单体架构应用微服

2、务架构应用为什么要微服务化?单体应用面临问题•工程结构庞大•升级代价大•扩展性差•稳定性差•人员变更影响大•技术栈单一ܔଫአӱۓೆړங๐ۓ۸ଫአ1ଫአ2•开发效率低ଫአ3ଫአ4服务通信1)同步:RPC,RESTful等•实现方便•协议通用•架构简洁2)异步:消息队列•系统解耦•提高吞吐Docker+Kubernetes+OpenStack+应用服务ᨮ᫹࣐ᤍහഝପ੒᨝ਂؙᖨਂKVMKVMKVM业务架构前端服务OpenAPI控制服务容器服务构建服务弹性服务集群服务实负镜镜时载监像像容器服均日数控检中务衡志据服心容器务查服服务务网络目录变量A微服务架构6!TrafficFlow+C

3、LProxyCLWebCLOpenAPI๐ۓNLBS&CL;KCLᯈᗝ=4CLᦊᦤӾஞ๐ۓMQNOSETCD਻KVM2+"6(<9࢏88>A<!'SN1111PodPodC):C*CC๐////CLL,L3LLۓRedisLMySQL Docker Daemon7$CL如何进行消息队列的选型•协议:AMQP、STOMP、XMPP、私有协议等•消息是否需要持久化•吞吐量•高可用支持,是否单点•分布式扩展能力•消息堆积能力和重放能力•开发便捷,易于维护•社区成熟度引入消息队列的得与失1)消息队列能解决的问题•异步•解耦•

4、削峰2)使用消息队列带来的问题•编程复杂性、运维复杂性•可靠传输•高可用•扩展性服务发现–消息服务器&注册中心设计目标:实现一个路由灵活、可扩展、数据可靠传输、高可用的消息服务器,同时兼做注册中心。微服务通信–路由设计BUILDCBUILDPBUILD.host1binding=BUILDCBUILD.host2binding=BUILD.host1binding=BUILD.host2CTRLCTRLPXbinding=CTRLCtype:topic...CTRL.host1binding=WEB.host1WEBWEBPCWEB.host1ၾ௳๐ۓ࢏&ဳٙӾஞ要点:·Exch

5、ange类型为topic。·BindingKey就是队列名。·每个服务(BUILD/CTRL/WEB等)启动后会初始化一条AMQP连接,3个channel复用。微服务通信–路由设计BUILDCBUILDPBUILD.host1binding=BUILDCBUILD.host2binding=BUILD.host1binding=BUILD.host2CTRLCTRLPXbinding=CTRLCtype:topic...CTRL.host1binding=WEB.host1WEBWEBPCWEB.host1ၾ௳๐ۓ࢏&ဳٙӾஞ应用场景:·点对点(P2P)或请求有状态服务(Rout

6、eKey:${TYPE}.${HOST})·请求无状态服务(RouteKey:${TYPE})·组播(RouteKey:${TYPE}.*)·广播(RouteKey:*.*)服务发现和治理·消息服务器就是服务注册中心·服务注册:自注册(服务名+机器名)·服务注销:离线即注销·服务生产者根据场景指定RouteKey·自带负载均衡属性·服务优雅升级·流量控制业务拆分与重构一些经验•模块化可以越早越好,但微服务化不必•数据表命名约束,包名约束•数据最终一致性,重试+幂等•业务边界不确定,就再等等•逐步拆分,平滑过渡•把业务中扩展性差的服务独立出去业务拆分与重构(案例一:Timer)Jo

7、bWeb/API๐ۓJob຅ୌ๐ۓJobMQJobJobഴګ๐ۓJob਻࢏๐ۓJobJobWeb/API๐ۓ຅ୌ๐ۓഴګ๐ۓ•按职能划分,非业务边界•支持高可用,需分布式锁支持MQ•只负责触发,不负责业务执行ਧ෸ձۓ๐ۓ਻࢏๐ۓ业务拆分与重构(案例二:ServiceProxy)https://c.163.comlocation/router/rdsrouter/ncr...Web/API๐ۓrouter/apirouter/nosහഝପ๐ۓMQᖨਂ๐ۓhttps://c.163.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。