上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

2019年多框架微服务治理解决方案及实践.pdf

编号:95888 PDF 25页 2.88MB 下载积分:VIP专享
下载报告请您先登录!

2019年多框架微服务治理解决方案及实践.pdf

1、多框架微服务治理落地实践目录 背景 gRPC微服务治理框架 多框架微服务治理背景 国内排名前列的综合类证券公司 A+H上市券商轻应用业务为导向,实现业务应用敏捷构建,及时响应市场需求重平台将数据和核心应用转化成平台服务,成为整个架构的核心服务化构建核心服务网络,简化应用开发与部署已经启动微服务化中台建设,在解决架构腐化、弹性等问题的同时,也带来了新的微服务管控问题痛点&需求 多种开发语言 多种对外接口 全局化平台协同与调度困难重重 缺乏关键业务的流量控制技术手段 服务多样性对同步、异步、流式数据等都提出了技术需求,统一化难度大版本管理多版本管理,包括版本升级,版本回退、灰度升级等监控告警准确反

2、映应用服务的实时及历史访问流量及健康状态,为评估应用服务容量及负载提供依据。线上治理流量控制、熔断隔离、服务容错、服务降级等。统一微服务开发框架需要支持多语言、异步调用,性能高痛点需求 服务调用复杂,需要明晰的服务调用链当我们说服务治理时,我们在说什么?微服务治理框架 微服务治理平台服务治理监控治理服务拓扑服务监控链路跟踪日志监控告警服务限流服务降级熔断保护黑白名单API管理灰度管理路由控制服务治理由微服务治理框架和微服务治理平台组成治理框架功能治理平台功能多语言支持服务间通信服务注册服务发现加密认证鉴权流量控制熔断隔离服务容错服务降级服务路由负载均衡健康检查服务上下线访问控制流量控制黑白名单

3、负载均衡灰度管理熔断保护网关管理配置中心 API鉴权 黑白名单 请求过滤 网关限流 路由管理 应用拓扑API监控链路跟踪服务监控日志监控目录 背景 gRPC微服务治理框架 多框架微服务治理开源微服务治理框架分析241010社区Java10+10+Java语言流量控制需安全扩展程序.SslSsl无安全性并发控制AlibabaFacebookGoogleNetFlix来源71096性能异步消息动态服务更新1.Dubbo2.Thrift3.gRPC4.SpringCloud框架吞吐量:thriftgRPCdubboSpringCloud并发响应时间:thiftgRPCdubboSpringCloud

4、并发响应中位数:gRPCthriftdubboSpringCloud主要通过以下指标对候选技术进行评估分析,包括:技术来源 社区活跃度 多语言支持 性能 流量控制 安全协议 并发连接限制 异步消息支持 动态服务更新gRPC的服务治理框架实现注册中心(zookeeper)Trace ProcesserJava ClientC+ClientPython ClientJava/C+/Python ServergRPC stubgRPCstubgRPCstubrpc调用链Protocolbuffer 3.0http 2服务发现负载均衡配置下发信息收集信息收集服务治理平台配置下发服务注册服务授权服务流控

5、服务优先级服务SLA服务版本管理gRPCstub对gRPC的增强功能:引入服务注册中心,统一管理服务provider和服务consumer扩展gRPC,提供服务注册、查询、负载均衡、流控等能力基于服务注册中心实现服务集中化配置管理,包括调度策略下发、安全配置、带宽控制等通过agent实现了APM监控和告警gRPC治理流程客户端(消费者):服务的调用者,与注册中心交互获取服务注册信息;基于服务注册信息发起对服务端的调用;采集调用端信息发送到流处理引擎中进行分析处理;为调用链分析提供客户端数据。服务端(生产者):服务的提供者,通过注册中心对外发布服务信息;响应消费者的服务调用请求;响应控制台等发起

6、的配置管理操作,对服务质量、安全策略、数据收集等进行配置管理。注册中心:服务端元数据信息的注册、存储、查询、配置变更的服务存储的信息包括服务名称、版本、上线时间、TTL、状态、优先级、角色、服务协议、服务IP/Port信息、服务命令及参数信息、访问路径、安全ACL等。分析APM:包含信息采集、分析(引擎)、监控分析、告警分析等等。服务封装运行时访问协议注册中心APM_agent消费者服务治理注册中心/dfzq-根目录服务接口1服务接口2服务接口3服务接口4Provider urlConsumer urlRouter urlConfiguration urlRouter对象:Provider对象

7、:Consumer对象:Configurator对象:provider对象是服务提供者及其属性在服务提供端或服务消费端的表示,其在服务注册中心的注册路径与格式如下:/dfzq/com.dfzq.app.interface.service/providers/协议:/ip:port/服务名?application=应用名&project=项目名&ower=员工工号&methods=方法列表&revision=版本&side=provider,是一个encode URI字符串。服务consumer对象是服务消费者及其属性在注册中心端的表示,其在服务注册中心的注册路径与格式如下:/dfzq/.dfz

8、q.app.接口分类.service/consumers/consumer:/ip/服务名?application=调用方系统&project=项目名&ower=员工工号&methods=方法列表&application.version=版本&side=consumer一个router对象在服务注册中心中表示一个encode URI的router节点,在协议中代表白名单、黑名单或全部禁止,url格式为:route:/生效的ip范围/服务名?category=routers&dynamic=true&force=true&name=规则名&priority=0&router=condition&

9、rule=consumer.host+!%3D+节点列表+%3D%3E&runtime=false,其中白名单中!为必选、禁止时节点列表为*一个configurator对象表示平台对服务的参数的配置调整,通常用户禁止服务provider、调整权重、调整调度算法、服务降级等。url格式如下:override:/0.0.0.0/com.foo.BarService?category=configurators&dynamic=false&application=foo&key=value&key=valuegRPC增强-配置更新(调度方式、带宽配置)用户通过注册中心的Configurator对象对

10、平台调度方式、带宽等进行控制。注册中心调用者提供者同步同步配置更新指令调度更新带宽控制gRPC增强-调用链跟踪protocol:“gRPC,providerPort:7010,consumerSide:true,serviceVersion:1.0.0,endTime:41,serviceName:.git.htsc.sproc2gRPC.service.SprocService,startTime:31,appName:zlcft_product,chainId:0,consumerPort:0,initial:true,serviceGroup:

11、,traceId:35d01fc4-7cd7-48a7-be6f-36603e5c8d62,methodName:$invoke,success:true,consumerHost:192.168.71.41,providerHost:192.168.71.42消费者注册中心信息采集(agent)服务封装运行时访问协议调用链分析引擎KafkaTrace信息:gRPC框架已经在行情平台、交易工具、量化平台、交易接入、财富销售、账户中心、交易营运平台等服务后台得到应用,对证券行业近期火爆的流量进行了有效支撑,经历了复杂网络环境下的服务压力测试,证明该服务治理方案的可靠性和稳定性。实际应用情况THR

12、EADS原生GRPCGRPC框架48525438892086522790445014721性能测试结果(TPS)服务注册与发现容错:注册中心断线重连策略设计:重连频率,时间;客户端与注册中心断连处理:不更新客户端缓存的服务端列表服务端与注册中心断连处理:客户端更新服务端列表,如果服务列表为空,调用上一次成功连接的服务端 性能优化:服务跟踪信息影响较大:包括消息发送合并和频率优化、消息精简、减少判断等 自动化接口测试基于NodeJS开发独立运行的服务,为自动化测试平台提供BrotoBuf文件解析、方法调用等能力。踩坑和优化经验目录

13、 背景 gRPC微服务治理框架 多框架微服务治理多框架并存是长期现状ServiceMeshgRPCdubboxSpringCloud由于业务的实际需求和技术发展,开发部门/供应商通常会根据需要选择不同的微服务框架,呈现多样化选型。如何管理好这些服务,成为运维部门需要面对的问题。如果可以将这些框架和服务对接到统一的服务治理平台,将可以大大降低协作开发的成本,并提升整体的版本迭代效率。.包括服务的上线审批、下线通知,服务的在线升级,以及上线、下线,自动弹性伸缩,资源扩容。服务生命周期管理基于Docker容器,可以实现微服务的独立部署和细粒度的资源隔离。基于云端的弹性伸缩,可以实现微服务级别的按需伸

14、缩和故障隔离。灵活的资源调度通过服务注册中心对服务强弱依赖进行分析,结合运行时服务调用链关系分析,梳理不合理的依赖和调用路径,优化服务化架构,防止代码腐化。防止业务服务架构腐化通过服务调用链日志、服务性能KPI数据、服务接口日志、运行日志等,实时汇总和分析,实现故障的自动发现、自动分析和在线条件检索,方便运维人员进行故障诊断。快速故障定界定位运行态服务治理,包括限流降级、服务迁入迁出、服务超时控制、智能路由、统一配置等,通过一系列细粒度的治理策略,在故障发生时可以多管齐下,在线调整,快速恢复业务。服务微管控企业或公司中不同部门、不同分公司都有自己对于分布式框架的理解和使用,可以提供多分布式框架

15、的管理平台,框架只需引入服务治理的SDK。分布式架构多元化管理服务治理的目标集成组件:Eureka:负责服务注册、服务发现等,有Eureka Server和Eureka Client两个模块;Robbin:提供负载均衡算法,选择合适的服务;Config:提供统一配置下发操作,集成Gitlab、MQ、Config Server等组件;Hystrix:提供熔断保护等服务治理功能;Zuul:提供服务网关,通过编排模板实现认证、审计、接口换等功能;Security:基于spring security的安全工具包,为应用程序添加安全控制;Sleuth:日志收集工具包,封装了Dapper和log-base

16、d追踪以及Zipkin和HTrace操作,为SpringCloud应用实现了一种分布式追踪解决方案。Ratlimit:Feign:.微服务治理架构(Spring Cloud)服务提供方(Provider)所在的应用在容器中启动并运行服务提供方(Provider)将自己要发布的服务注册到注册中心(Registry)服务调用方(Consumer)启动后向注册中心订阅它想要调用的服务注册中心(registry)存储着Provider注册的远程服务,并将其所管理的服务列表通知给服务调用方(Consumer),且注册中心和提供方和调用方之间均保持长连接,可以获取Provider发布的服务的变化情况,并将

17、最新的服务列表推送给Consumer服务调用方(Consumer)根据从注册中心获得的服务列表,根据软负载均衡算法选择一个服务提供者(Provider)进行远程服务调用,如果调用失败则选择另一台进行调用。(Consumer会缓存服务列表,即使注册中心宕机也不妨碍进行远程服务调用)微服务治理架构(Dubbo)多框架微服务治理平台架构 服务地图将项目与项目、服务于服务直接的调用情况进行拓扑展示。服务监控监控服务可用性、调用情况、错误数、延迟等 服务治理对服务的负载、权重、流控等功能进行治理 服务注册/服务发现服务注册后,可通过服务治理平台查看到注册后的信息 文档平台通过PB文档的解析,在平台中可以

18、查询项目中的服务 告警中心监控分为两类主机告警(服务节点)、服务告警 链路跟踪快速定位链路故障以及展示服务间拓扑关系通过中间层设计,兼容多框架的通用治理能力分发器:统一多框架通用治理能力,由分发器下发至不同的组件,由组件通知服务实现治理动作治理组件:平台纳管多框架的组件,通过分发器下发治理动作,由组件治理对应的框架服务SpringCloud:需要引入SDK,实现黑白名单、访问控制、灰度发布等治理能力Dubbo:通过平台向ZK下发治理动作,不对Dubbo做源码改动gRPC:引入SDK,注册、发现通过ZK实现,治理动作需修改ZK配置,实现对服务的治理微服务治理+容器平台集成,提供更深度的治理功能组件部署管理灰度弹性统一配置中心注册中心、网关等组件的部署和管理多版本管理对外服务的灰度内部服务互访的灰度基于应用监控指标的弹性部署+治理全生命周期管理即将开源!基于gRPC的微服务治理框架

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(2019年多框架微服务治理解决方案及实践.pdf)为本站 (云闲) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部