易达做市商系统

易达做市商系统是在易达交易系统的基础之上,为做市商量身打造的做市商专用系统。做市商系统继承了易达交易系统极速、稳定、合规、业务支持全面和易于运维的优点外,还解决了快速恢复、高可用等做市商业务的核心痛点,为业务正常开展保驾护航,目前做市商系统支持中金所、上期所、能源所、大商所六期和七期所有产品的做市功能,做市商专用柜台在普通易达期货柜台提供的所有功能基础之上,增加了报价功能。后续我们将根据客户需要增加上交所和郑商所做市商功能。

为了满足做市商和重视可用性的投资者的需要,易达推出了主备集群功能,它可以确保最大程度上的业务连续性,当宕机、断网等故障发生时,投资者的交易会在最短时间内自动恢复,恢复时间在1分钟以内。

高可用集群部署需要授权文件的支持,主备两个节点共享同一个授权和席位,最大程度上减少投入成本,如有需要请联系易达销售。

部署结构

高可用集群由三台服务器组成,主用服务器的ydServer正常时处于启动状态;备用服务器的ydServer通常处于停止状态,只有当发生切换时才会启动;仲裁机用来判断柜台节点的可用性并作出切换决策,没有性能要求。

易达柜台通过节点间的心跳监控集群可用性,并从主用节点向备用节点传输盘中流水数据以便切换时使用本地流水启动系统,因此需要连通仲裁机和主备节点,只需保证仲裁机能连通主备服务器即可,主备服务器之间的连通性没有要求。

高可用集群有以下组件:

组件名称说明
ydArb仲裁程序,部署在仲裁机上面的常驻程序。通过心跳信息监控集群的可用性,当主用节点发生故障时,主动通知备用节点启动接替主用节点。同时还负责将主用节点上的盘中数据持续传输到备用节点,以保证备用节点最快速启动。
ydGuardydServer守护进程,部署在主备用服务器上的常驻程序。检测ydServer的状态并向ydArb通报,同时主用柜台上ydGuard向ydArb传输盘中数据,而备用柜台上ydGuard从ydArb接收盘中数据。
ydServer易达柜台进程,向投资者提供交易服务。正常情况下,主用节点上的ydServer处于启动状态,备用节点上的ydServer处于停止状态。

故障切换

集群启动后,ydArb会等待ydGuard连接20秒,期间连接成功的ydGuard作为本次启动的集群成员,20秒后向ydArb.ini中配置的1号节点(主用节点)发送启动命令,如果主用节点启动失败,ydGuard会向ydArb报告节点故障,而后ydArb会向备用节点发送启动命令,而后循环往复。

故障分类应对措施
主用ydServer故障盘中一旦主用节点的ydGuard监测到ydServer故障,如进程无故退出,会立即向ydArb报告故障信息,而后ydArb会命令备用节点启动。
主用服务器故障若主用服务器发生故障导致重启或无法启动,ydArb会检测到ydGuard退出,而后立即命令备用节点启动。
备用服务器故障若备用服务器发生故障,导致其ydGuard退出或无法联系ydArb的,主用节点不会受到任何影响。
网络故障若期间发生网络故障,ydArb会通过第二张网络联系主节点的ydGuard,如果仍然联系不上,那么ydArb将通知备用节点启动。如果因ydArb自身的网络故障导致无法连接主备节点,集群的启动状态不会发生改变。
二次故障高可用集群设计保证只能发生一次自动故障切换,如果盘中担心再次发生故障,可以手工删除前次故障节点ydServer/memo目录下的所有文件,当再次发生故障时ydServer就能在前次故障节点上正常启动。