东方证券:我们如何成功实施微服务(3)

本文涉及的产品
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 东方证券:我们如何成功实施微服务

功能模块

星辰服务治理平台包含以下功能模块:

(1)服务治理

星辰服务治理平台支持对 gRPC、Spring Cloud、Dubbo 三种微服务框架进行管理,如图 5 所示,支持查询注册中心维护的服务实例信息,支持通过控制台配置注册中心、访问控制、主备、分组、黑白名单、流量控制、熔断等信息。

图 22 服务治理功能

图 23 服务间调用

(2)服务地图

服务地图将项目与项目、服务与服务之间的调用关系和调用量通过拓扑图的形式进行展示,如图 6 所示。系统架构师可以从服务地图提炼出全公司的核心系统拓扑图,找出不合理的环形调用链;运维人员可以从服务地图掌握核心系统所依赖的上游系统,并给予核心系统同级别的重点保障。当预期面临流量猛增时,服务地图还可用于流量预估,因为从客户端等入口预估流量最准确,进而可以沿着服务地图下沉计算出各个微服务分摊到的流量,协助后台系统制定扩容预案。

图 24 星辰服务治理平台服务地图

(3)链路跟踪

在微服务架构中,一个用户操作涉及到多个微服务的协同才能完成,在业务调用链路上任何一个微服务出现异常或者网络超时,都会导致失败。通过链路跟踪,我们可以很方便的看到每个请求各个环节的耗时以及异常,帮助我们对系统进行优化。星辰的链路跟踪功能基于 Google 的 DApper 论文 [11] 实现,在系统入口接收用户的请求后,会为用户的请求分配一个 TraceID 用来唯一标识调用链。TraceID 会跟随远程调用消息传递到下游服务,直到整个链路的节点都拥有了 TraceID,通过 TraceID 可以串起这个请求的完整调用链路。

图 25  调用链关系

(4)文档中心

文档中心对 ProtoBuf 格式接口定义文件进行自动解析,提供技术人员查询各服务注释信息与接口定义的功能。我们把文档中心看作是一个服务集市,技术人员在实现一个涉及通用模块或第三方应用的功能前,可以像逛集市一样来文档中心查询接口的详细信息。未来我们还将强化文档中心的交互沟通功能,增加问答与评论功能,打通各服务上下游的交流渠道。

图 26  文档中心

(5)统计分析

统计分析模块支持对服务、实例、端点的性能监控,包括响应时间、可用性、吞吐量等;支持数据大屏,全景展示当前所有服务的运行状态;记录用户请求处理时间,分析出被调用服务的性能;记录服务响应时间,并展示响应时间最长的数个服务,即慢服务列表。

图 27  平台统计分析

(6)告警中心

告警中心支持基于监控数据的告警规则设置,并以自定义的方式发出告警通知。

图 28  告警设置

(7)框架统一纳管

为了更好的支持企业架构转型,也便于各业务方系统内部有更多的微服务框架供选择,晨辰服务治理平台同时对多种微服务框架进行了统一纳管,在支持 gRPC 服务的基础上,增加了 dubbox 及 Spring Cloud 框架。

图 29  多框架支持

转型实践数字化转型

多年来,随着东方证券各类业务的持续发展,数百套业务及支撑系统在线运营,各类应用系统间开始呈现复杂的依赖关系,系统运维的复杂度急剧增加。特别是由于以往系统建设主要由各厂商开发等因素的影响,东方证券内部存在大量的异构业务系统,对外暴露的接口也呈现多种形式,各厂商都有各自私有协议,且存在有 SPX、T2、Web Service、REST、TCP 等各类型异构接口,进一步增加了系统开发、运维的难度。基于这些原因,东方证券从公司战略和技术管理上进行了变革。2018 年初,公司提出了“数字化转型”的战略目标,并将“增强金融科技应用”列入公司的六大发展战略任务之一,这促使我们以更加积极和开放的心态发展科技。

与此同时,东方证券同步在企业技术架构上制定了大中台战略,这也是公司数字化转型中的三个核心战略之一(另两个为:核心自主研发、重构企业技术架构),旨在通过架构转型为公司科技工作的长远发展打下坚实基础。为了推进架构转型工作,2019 年初,东方证券成立了以首席信息官舒宏总担任主任的架构委员会,旨在通过架构委员会重点进行企业架构转型的工作,同时创建了金融科技创新研究院,以整合东方证券及子公司的技术资源、倡导以研究为主导的技术应用为主要任务。

架构标准

为了建设各业务方遵循标准进行开发的能力,让企业架构建设有据可依,东方证券架构委员会制定了架构标准的决策流程及机制,通过架构标准去约束各系统相应开发实践,2019 年 5 月,我们通过服务治理平台接入规范的架构标准,确定了企业技术架构转型的核心框架,各系统采用统一的接口调用方式,要求系统间调用必须使用 gRPC 提供服务,系统内部可以采用 gRPC/dubbo/Spring Cloud 三种框架,支持东方证券 IT 技术架构从传统架构向微服务为核心的现代化面向服务架构全面转型。

图 30  服务治理架构决策

大中台战略

为了实现数字化转型,东方证券制定了三年架构规划,通过架构规划及落地实施,打造行业领先的 IT 架构和一流的 IT 队伍,形成公司科技发展的竞争力,架构规划中有七大重点任务,其中一项是建设强大的业务共享中台,提炼核心业务流程,为前端产品线提供业务共享能力,给前台提供强大的“炮火支援”能力,确保“厚中台,薄应用”的成功落地,。

按照证券行业的领域特点,我们将整个中台领域划分为产品、账户、财富、交易、资产、行情、资讯、日志、认证等中心,而服务治理框架也成为了整个业务中台的核心基础设施。

图 31  东方证券大中台战略

开源共享 / 行业标准

东方证券 gRPC-Nebula[9],本身就是在站在开源 gRPC 的巨人肩膀之上发展而来,为了更好的反馈社区,2019 年 6 月中旬,东方证券宣布开源 gRPC-Nebula 服务治理框架,开源地址:https://github.com/grpc-nebula,目前社区已建设了社区决策委员会,初期拟设 7 名委员,含 1 名委员会主席,设有专人进行 GitHub 代码的跟踪、维护、解决。同时,委员会会定期组织研讨和常态化沟通、社区技术交流、协调开发力量进行社区开发、社区筹款、审议版本 maintainer 的版本和功能集、进行社区委员会选举等工作。社区将秉持金融科技创新,对外技术输出的原则,致力于成为行业内首家基于 gRPC 可治理 RPC 框架下的开源社区,并获得了 2019 年信通院 OSCAR 尖峰开源技术创新奖(基于社区开源二次开发)及第四届中国优秀云计算开源案例一等奖。

同时整个证券行业长期以来在技术架构领域没有统一标准,各家厂商都有自己相应的技术框架,从而造成了整个行业一直面对的异构化难题,gRPC-Nebula 开源也旨在为整个行业提供参考建议,同时,我们也积极加入了深交所技术产品联盟,推广 gRPC-Nebula 在行业内的使用,希望能达成行业共识,形成统一技术标准,大幅降低行业各系统间对接成本。

实践成果

从 2019 年初开始,东方证券进行服务治理框架研发工作,截止 2020.9 月,gRPC-Nebula 框架 Java 语言共迭代 14 个版本,C++ 语言共迭代 8 个版本,平台迭代了 4 个版本,较好的支撑了业务各类的需求。

同时,东方证券在内部大力推广服务治理框架及平台的使用,截止 2020.9 月,共接入各类应用 46 个,项目 99 个,服务数 369 个,方法数 3125 个,日承载各类请求量已达到数千万级。

从系统维度来看,东方证券服务治理框架已接入内部东方赢家 App、私行 App 通达信网上交易、同花顺机构版、东方睿、东方大脑、智能投顾、大营运平台、业务中台(财富、交易、产品、账户、资产、行情、资讯等)、资产配置等核心系统,从厂商维度来看,微软、恒生、金仕达、新意、顶点、通达信、同花顺等核心厂商及自研团队也已按照架构标准接入服务治理框架及平台,实践成果非常明显。

图 32 服务治理平台实践成果

总    结

本文探讨了企业架构领域的关键技术,并详细介绍了东方证券服务治理项目的建设成果与实践经验。东方证券在企业架构层面制定了大中台战略,旨在通过业务架构转型为公司科技工作的长远发展打下坚实基础。作为大中台战略的核心组成部分,服务治理项目的建设,是公司提高金融科技核心竞争力的重要突破。gRPC-Nebula 框架和星辰服务治理平台已经应用于东方证券业务中台(财富中心、交易中心、账户中心、产品中心等)、东方赢家 App、私行 App 和东方睿机构交易产品线等数十个项目,同时实现了各微服务框架 (gRPC-Nebula/dubbox/Spring Cloud) 的统一纳管,为业务线开发提供了更多的开发框架选择,随着平台生态的不断优化和发展,未来将在内部全面推广,服务于更多产品线和用户,为公司 IT 治理规范和体系化架构建设做出更多贡献。

参考文献

[1]Fowler M, Lewis J. Microservices. Viittattu, 2014, 28: 2015

[2]Fotis Aisopos, Konstantinos Tserpes, Theodora Varvarigou. Resource management in software as a service using the knapsack problem model.  International Journal of Production Economics. 2013 (2)

[3]Thones J. Microservices. Software IEEE, 2015, 32(1): 116-116

[4] 李贞昊. 微服务架构的发展与影响分析. 信息系统工程, 2017(1): 154-155

[5]https://dubbo.io/

[6]https://thrift.apache.org

[7]https://grpc.io/

[8]https://spring.io/projects/spring-cloud/

[9]https://github.com/grpc-nebula

[10]Hunt P,Konar M,Junqueira F P, et a1. ZooKeeper:Wait-free Coordination for Interact-scale Systems[C]// USENIX Annual Technical Conference. 2010, 8: 9.

[11]Sigelman, Benjamin H., et al. DApper, a Large-Scale Distributed Systems Tracing Infrastructure. Technical report, Google, 2010

相关文章
|
1月前
|
监控 API 开发者
深入理解微服务架构:设计与实施
【10月更文挑战第7天】深入理解微服务架构:设计与实施
37 0
|
1月前
|
Prometheus 监控 API
深入理解微服务架构:设计与实施
【10月更文挑战第7天】深入理解微服务架构:设计与实施
53 0
|
4月前
|
设计模式 弹性计算 监控
后端开发中的微服务架构:优势、挑战与实施策略
在现代软件开发中,微服务架构已成为一种流行的设计模式,特别是在后端开发领域。该架构风格通过将应用程序分解为一组小型、松耦合的服务,旨在提升可维护性、可扩展性和敏捷性。本文深入探讨了微服务架构的关键优势,面临的主要挑战,以及成功实施微服务的策略。通过引用业界案例和最新研究,文章提供了对微服务架构综合理解的视角,并讨论了如何在不断变化的技术环境中保持其有效性。
|
云安全 供应链 NoSQL
创新!阿里首发微服务实施手册我粉了,原来微服务还可以这样玩
相信大家在网上会看到很多帖子把分布式跟微服务放在一起讨论。确实,微服务就是一种分布式架构的设计方法。但是,在微服务概念还没有出现之前,分布式这个概念并不能引起人们的强烈关注,如果说自己擅长分布式架构设计,可能没有多少人理你,但如果说自己精于微服务架构设计,情况那就大不一样了。有关于微服务的优点,网上大把的文章已经说的很清楚了,我就不细说了,简单来说微服务能够创建一个“打不垮”的系统。以至于现在,微服务架构已经成为家公司技术 是否先进、是否具有规模发展的标杆配置。
创新!阿里首发微服务实施手册我粉了,原来微服务还可以这样玩
|
弹性计算 运维 负载均衡
东方证券:我们如何成功实施微服务(2)
东方证券:我们如何成功实施微服务
138 0
|
13天前
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
57 6
|
13天前
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
29 1
|
2月前
|
安全 应用服务中间件 API
微服务分布式系统架构之zookeeper与dubbo-2
微服务分布式系统架构之zookeeper与dubbo-2
|
2月前
|
负载均衡 Java 应用服务中间件
微服务分布式系统架构之zookeeper与dubbor-1
微服务分布式系统架构之zookeeper与dubbor-1
|
3月前
|
Kubernetes Cloud Native Docker
云原生之旅:从容器到微服务的架构演变
【8月更文挑战第29天】在数字化时代的浪潮下,云原生技术以其灵活性、可扩展性和弹性管理成为企业数字化转型的关键。本文将通过浅显易懂的语言和生动的比喻,带领读者了解云原生的基本概念,探索容器化技术的奥秘,并深入微服务架构的世界。我们将一起见证代码如何转化为现实中的服务,实现快速迭代和高效部署。无论你是初学者还是有经验的开发者,这篇文章都会为你打开一扇通往云原生世界的大门。
下一篇
无影云桌面