产品方案

分布式柜台交易解决方案

作者:admin 发布时间:2018-07-05 浏览量:

分布式的、高容错的、流处理的实时计算系统,继承大型机的全部功能和应用,摒弃了大型机应用服务器冗杂,不易监控管理的缺点,性能上远远超越大型机。毫秒级别响应,整个系统非常易于扩展,可随意扩展集群,可以轻松处理每秒上百万的业务量。通过集群技术在付出较低成本的情况下获得更高可靠性、灵活性和相对较高的收益。


image.png

▲金策略分布式量化平台是建立在实时高效,稳定的分布式平台基础上的,单点并发可以达到5万笔以上,集群可以轻松处理每秒上百万的业务量。整个系统非常易于扩展。


▲业务服务器都纳入Zookeeper管理,随时汇总各个节点的情况,第一时间检测到节点的断开,拥有分布式全局锁,保证分布式环境的一致性和健壮性。


▲服务器集群内部通信采用ZeroMQ极速消息队列,8字节的消息每秒可以吞吐280万条(10G网络)或者400万条(infiniband),100字节的消息每秒都在100万条以上。


▲行情主站提供实时行情,走势图,历史K线等常规行情服务。对外提供TCP、HTTP协议和跨语言的RPC函数调用,支持Scala、JRuby、Perl和PHP、Java、C++。


▲交易网关部署在公网上,提供大容量、高并发的委托交易服务;并保证客户的通道安全;交易网关只需要连接集群的分布式中间件,集群内任一单点故障,不影响系统正常运行;交易网关在提供服务的时候,也可以通过LVS或者均衡设备集群部署。前端交易的接入,交易指令通过ZeroMQ消息队列,根据LRU算法到交易核心。模拟交易的交易核心是分区撮合。


▲分布式中间件,主要是集成ZeroMQ的消息队列,支持常规的消息外,还支持实时行情的发布订阅,需要用到的应用,只需要到分布式中间件订阅相关内容即可。可以向交易网关提供集群的透明的柜台中间件服务,有自己的均衡算法;柜台中间件可以在线随意扩展,无需停止服务;柜台中间件出现单点故障,均衡器会自动均衡服务;分布式中间件本身也可以集群;分布式中间件也可以跨越不同网络级联集群,把不同网段的交易网关,柜台中间件集群起来。


image.png

▲均衡调度逻辑采用的是调度服务器模式,调度服务器是Nginx扩展的节点。服务器机房,根据属于哪个运营商来划分集群。例如电信机房的后台服务器:交易网关或者行情主站等,纳入本机房的Zookeeper集群管理,定期把自己的负载信息等写入Zookeeper节点,如果服务器消失,节点也自动消失。


▲调度服务跟所在机房的Zookeeper连接,定期读取Zookeeper下的节点信息,得到所有服务器的负载情况,并得到所在机房最优的服务器给客户端。


▲客户端只需要连接最近的调度服务器,根据跟调度服务器之间来回包的速度来决定,是采用哪个运营商的服务器集群。保证网络路径最短。

image.png

▲客户端拿到调度服务器选择好的最优地址,直接进行连接,进行业务处理。


▲如果机房是互联互通,调度服务器可以只需要配置一主一备,采用域名指定地址。如果机房分电信和联通等,区分明显,可以分开配置调度服务器。


▲客户端也不需要每次登陆时候选择网络最快调度服务器,可以缓存上次选择最优的调度服务器地址,空闲或者间隔一段时间再探测下网络最快的调度服务器。


调度服务也可以一次返回多组不同的最优业务服务器。