ramy  2020-11-12 11:22:52  OpenCV |   查看评论   

B、对序列化解析器IDL的改进

 

在使用的便捷性上, 大部分序列化与反序列化的方法,都是先编写一个IDL文件,通过IDL再生成各种语言的代码。xSerial也有自己的IDL支持,但是做出了改进, xSerial的IDL语言将与对应的xRPC原生语言相融合。也就是说,如果xRPC是跑在C++上,xSerial将相应提供一个C++的语法解析器,自动去扫描C++的代码,识别出要生成序列化的代码,使用者无需再额外编写IDL文件。目前xSerial的IDL支持原生Go,C#, JAVA,Matlab和Python。

 

C、支持动态代码序列化

 

xSerial除了支持静态代码的序列化方式之外,同时新增了动态代码序列化的使用支持。在xRPC框架的序列化过程中,xSerial生成器在生成静态代码的时候,会同时生成对应的Json描述,这让xRPC通讯过程中,任意第三方应用服务可以直接调用xSerial的Json描述,来对通讯数据进行动态的序列化与反序列化。

 

3、xRPC独特的通讯层:接口和通讯方法松耦合设计

 

在通讯上和其他RPC框架不一样,一般RPC框架的通讯方式都是具体且唯一的,同时一般RPC框架默认所有的应用都是独立进程的。xRPC把通讯层抽象为接口,使得通讯变得更加灵活。在xRPC里面用户只需定义接口,具体的通讯方式由底层自行决定。xRPC允许几个应用部署在同一个进程中,并自动判断应用是否同一个进程,选择信息的传输是通过内存交互还是网络(xRPC如果走网络通讯,将基于TCP)。这个设计使得量化金融的一些特定应用场景,如:对某几个服务间的大量数据高速交换过程可完全避免网络间的通讯消耗。

 

4、xRPC使用特点:请求发起只能基于调用框架

 

xRPC的调用和其他RPC的调用方式不一样,xRPC的调用必须基于调用框架才能发起请求,将彻底避免常见的Callback Hell问题。通过一个列子,看看xRPC是如何解决这个问题的:

 

A、发送单个RPC请求

发送单个RPC请求

B、发送多个顺序的RPC请求

发送多个顺序的RPC请求

从上图可以看到(注:忽略Exception和Finally),发送了SayHello之后,在其返回函数Then里面,只要调用Next方法,并且传入调用下一个RPC的请求的参数,即可继续发起下一个RPC请求,比如这里在调用了SayHello2,又在SayHello2的返回函数里面调用了SayHello3,这种编写的方式使得很好的解决了CallBack Hell的问题,让代码的维护性更好。

 

C、 同时发送多个RPC请求

同时发送多个RPC请求

同时发送多个RPC请求,使用的调用框架是BPParallelRPC,这样同时发送的三个请求,可以在Then函数里面,分别取出各个RPC的请求结果。

 

以上通过对xRPC使用的方法介绍,解释了为什么必须通过调用框架来发起RPC请求,这样RPC的定义只需要定义一次即可。后面使用只需要更换调用RPC的调用框架,而不需要去修改RPC的定义,同时每一个RPC请求都会注册到RPC请求管理器当中,由其对RPC进行重传、超时等管理。

 

xRPC是唯一面向金融行业的纯C++分布式RPC框架

 

六、为什么需要面向量化金融的分布式通讯框架

 

高速稳定的分布式通讯框架是实现业务中台的关键技术

 

业务中台化,本质是解决多个业务可以通过一个中台在彼此间实现互联互通。因此业务中台的设计中,其首要考虑的核心问题是如何把多部门多场景的各类业务可迅速接入并实现相互间可进行通讯。解决这个问题的关键,是拥有一套稳定高效的分布式通讯框架。国内提供商用分布式框架解决方案的目前仅有国内极少数几家科技公司,而国内提供面向金融行业的分布式框架更是少之又少,如蚂蚁金服的SofaRPC分布式解决方案。SOFARPC 最早源于阿里内部的 HSF,是近期蚂蚁金服开源的一个高可扩展性、高性能、生产级的 Java RPC 框架。它致力于简化应用之间的 RPC 调用,为应用提供方便透明、稳定高效的点对点远程服务调用方案。

 

数字动能发布的xRPC框架与SofaRPC相比,拥有更高效的执行效能和更轻量更灵活的调用方法等特点。他根据量化金融传输要求进行特定场景设计,在动态路由、序列化方法和通讯层协议中进行了大量场景针对设计,是一个稳定高速的C++ RPC框架。凭借数字动能在量化金融领域的技术积累,xRPC更适合应用于量化金融、投研投顾领域的高算力和海量数据传输场景,可实现在不同的业务,如:回测执行、实时行情订阅、金融数据存取、复杂金融指标计算,因子生产等服务间快速信息交换的需求。随着数字动能自主研发的C++RPC分布式通讯框架落地,意味其“投研投顾一体化”产品及方案将从围绕产品的方案实施,向投研投顾集中业务中台的战略转变。拥有一个分布式通讯框架技术,是衡量一个金融科技公司是否掌握业务(技术)中台核心技术的关键。数字动能已拥有可让多业务间可高速稳定进行通讯的业务中台核心技术。

xRPC

想要了解更多的关于xRPC的技术细节,可以通过以下方式联系我们获取:

 

电话:400-1860-552

邮箱:[email protected]

 

除特别注明外,本站所有文章均为 赢咖4注册 原创,转载请注明出处来自数字动能发布量化金融C++RPC框架

留言与评论(共有 0 条评论)
   
验证码:
[lianlun]1[/lianlun]