分布式期货交易行情系统-前言

分布式期货行情交易系统-前言


前言

8年时间成追忆!留下了什么,好像什么都没留下!终于空闲了,整理下系统,也算留下岁月的脚印!


一、集中式架构与分布式架构

集中式架构:早期C/S结构的软件系统使用集中式结构,即服务器所有的服务都部署在单台服务器上,服务器开启Scoket端口监听,客户端通过socket直接连接服务器,完成消息的交换。集中式架构的优点是结构简单,开发周期短;缺点是:1.由于应用集中于一台服务器,当出现服务器硬件故障或者网络故障时,服务不可用且恢复较困难,整个系统对服务器故障的抵抗能力较弱,2. 服务集中式导致中心主机资源紧张与响应瓶颈的缺陷。因此,适用于小型和对可用性要求不高的系统。
分布式架构:将服务解耦后分布到不同的服务器上部署,通过网关对外部的客户端进行服务,一般通过消息队列的方式在服务和网关之间传递消息,客户端与网关建立socket直连,通过网关的负载均衡算法,将客户端的请求分配给资源充足的服务处理,服务处理后的结果反馈给网关,再转交给客户端。由于服务和网关是解耦的,因此,可以在系统中部署多个相同或者不同的服务以及部署多个网关。多个相同的服务可以解决服务资源紧张造成的相应瓶颈问题,而网关服务器可以根据客户端数量灵活增减,使系统具有良好的弹性,能有效平衡成本与效率的关系。

二、消息队列

###1、消息队列(MQ)概述

消息队列(Message Queue),是分布式系统中重要的组件,其通用的使用场景可以简单地描述为:
当不需要立即获得结果,但是并发量又需要进行控制的时候,差不多就是需要使用消息队列的时候。
消息队列主要解决了应用耦合、异步处理、流量削锋等问题。
当前使用较多的消息队列有RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、MetaMq等,而部分数据库如Redis、Mysql以及phxsql也可实现消息队列的功能。

###2、消息队列使用场景

消息队列在实际应用中包括如下四个场景:
应用耦合:多应用间通过消息队列对同一消息进行处理,避免调用接口失败导致整个过程失败;
异步处理:多应用对消息队列中同一消息进行处理,应用间并发处理消息,相比串行处理,减少处理时间;
限流削峰:广泛应用于秒杀或抢购活动中,避免流量过大导致应用系统挂掉的情况;
消息驱动的系统:系统分为消息队列、消息生产者、消息消费者,生产者负责产生消息,消费者(可能有多个)负责对消息进行处理;

总结

通过分析,对于期货行情和交易,特别是交易系统来说,高可用性和高性能要求非常高,且存在非常多的异步消息,因此,采用分布式C/S架构对于系统的实现是必然的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值