交易系统【三】网关

news2025/3/15 5:27:57

第二章本来是要讲消息总线,审核说是过度宣传,就放弃了,不纠结,先跳过。

网关和消息总线的底层技术都和网络相关,两者也有很重要的差别。消息总线主要用于内网,受交换机和网卡影响比较大,网络状况也比较稳定,网络重传的概率低,为了追求低延迟,软硬件技术非常苛刻。

网关和消息总线有很大不同,它主要面向互联网,交易所通常会要求专线接入,网络状况要优于互联网,但距离的缘故,网络延迟本身就远高于局域网。想象下,光每纳秒也只能传播30厘米,就知道距离对延迟的影响有多大。上海城内平均延迟在10毫秒,上海到北京之间城域网,延迟也要超过30毫秒。另一方面,长距离传输要跳转多个交换机,丢包率就要高于局域网。在这种场景下,网关的技术核心就不是怎么将延迟降到微秒级别,没有意义,而是在处理好不稳定的网络状况后,保证业务的持续性。

因为互联网本身固有的延迟,网关延迟要远高于内网的消息总线,但并不意味着网关的延迟控制不重要,在技术上也很容易。网关要处理的连接数通常要远高于消息总线,网络吞吐量也高于消息总线几个数量级。想象下,中国三亿股民,一只股票行情数据在消息总线上只需要传输几份副本,而将这个行情数据推送给客户端,网络传输的数据量得有多大。这个例子有点夸张也不准确,只为说明数量级的差距。交易所通常采用多级分发的策略,由交易所到证券席位和行情供应商,再由他们分发。

除了网络吞吐量大外,网关还要应对流量尖峰。一旦瞬间网络流量超过操作系统缓冲大小,超过运营商带宽,或者经过的交换机问题,都有可能被丢弃,导致网络重传,一旦触发超时机制,延迟都不会太小。

以上这些问题,是网关的共性技术问题,如何解决有不少优秀产品和技术可以借鉴。交易系统的网关在稳定性要求更加严格,在业务上也有特有的需求,比如交易网关,行情网关,结算网关,甚至股票和债券交易网关都可以分割开。

安全性考虑,将网关和核心网络隔离,防止重复登录,双向心跳侦测网络故障更及时。成交回报的推送除了避免网络上丢失,业务层面也要加入重传机制。

交易系统是时间敏感的,网关和终端之间日历和时钟同步也是至关重要。日历对延迟容忍性要高点,时钟就苛刻的多,传统的NTP误差在毫秒级,随着交易频率越来越高和交易公平性的要求,对时间精度越来越高。撮合原则除了价格优先还有时间优先,简单的做法以到达撮合系统来标记时间优先顺序,这种做法受到传输距离影响比较大,高频量化系统就把服务器搬到交易所机房,减少传输距离,拿到时间优先权,更公平的做法是以委托单到交易所的前置机为准。有的交易所会采用GPS时钟源,早期有报道称,谷歌在数据中心内部采用原子钟作为跨数据中心时钟同步基准,不知道现在交易所有没有应用。GPS时钟加原子钟,这两种技术混用,以物理世界的真实时间,大大降低了传输距离导致的排序偏差,也降低了技术难度。

前置机和网关之间的断网重连机制也是网关要考虑的重点,毕竟网络状况是不可预测的。前置机在断网后有可能连接失败,或者重连后可能连接到其他网关。交易系统如何避免重单,在前置机重连后,之前的网关数据如何处理,是业务级别策略。网关是被动接受连接,断网重连不是技术上难题。

网关除了网络流量控制外,还要考虑业务上的流速控制,避免某个前置机发单过多,而其他前置机处于饥饿状态,这是技术导致业务上的不公平。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2315248.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Axure设计之堆叠柱状图教程(中继器)

堆叠柱状图是一种常用的数据可视化工具,它通过在同一柱状图内堆叠不同类别的数据,以展示每个类别在总体中的贡献或占比。堆叠柱状图不仅可以帮助我们观察数据的总量,还能清晰地揭示各部分之间的关系和变化趋势。以下是一个使用Axure制作动态效…

本地部署Hive集群

规划 服务机器Hive本体部署在Node1元数据服务所需的关系型数据库(MYSQL)部署在Node1 安装MYSQL数据库 # 更新密钥 rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022# 安装Mysql yum库 rpm -Uvh http://repo.mysql.com//mysql57-community-release-el7-7.noarch.…

零成本本地化搭建开源AI神器LocalAI支持CPU推理运行部署方案

文章目录 前言1. Docker部署2. 简单使用演示3. 安装cpolar内网穿透4. 配置公网地址5. 配置固定公网地址 前言 嘿,小伙伴们!今天给大家带来一个超酷的黑科技——LocalAI。没错,你没听错,就是那个能在你的个人电脑上运行大型语言模…

git使用命令总结

文章目录 Git 复制创建提交步骤Git 全局设置:创建 git 仓库:已有仓库? 遇到问题解决办法:问题一先git pull一下,具体流程为以下几步: 详细步骤 Git 复制 git clone -b RobotModelSetting/develop https://gitlab.123/PROJECT/123.git创建提…

内容中台的核心架构是什么?

模块化架构设计解析 内容中台的模块化架构通过分层解耦实现灵活扩展,其核心由基础资源层、能力服务层与业务应用层构成。基础层以统一数据治理体系为支撑,通过标准化接口实现结构化与非结构化数据的统一存储,例如Baklib采用分布式存储架构保…

bootloader相关部分

简单说明 程序烧录的方式主要有ICP,ISP,IAP 其中ICP就是常用的jlink等工具 ISP就是利用MCU自带的一些特殊引脚烧录,比如uart IAP就是利用用户写的bootloader代码烧录 bootloader主要分为三层,厂家出厂的bootrom ,用户自己写的bootloader,…

AI+视频监控电力巡检:EasyCVR视频中台方案如何赋能电力行业智能化转型

随着电力行业的快速发展,电力设施的安全性、稳定性和运维效率变得至关重要。传统视频监控系统在实时性、智能化及多系统协同等方面面临严峻挑战。EasyCVR视频中台解决方案作为一种先进的技术手段,在电力行业中得到了广泛应用,为电力设施的监控…

C++从入门到入土(七)——多态

目录 前言 多态的概念 多态的定义 虚函数的介绍 虚函数的重写/覆盖 析构函数的重写 override和final关键字 纯虚函数和抽象类 重写/重载/隐藏总结 多态的原理 小结 前言 C一共有三个特性,封装、继承和多态,在前面的文章中,我们分别…

新闻网页信息抽取

1. 网页信息抽取 问题定义:对新闻网页(输入为HTML)提取结构化信息,包括标题、发布时间、作者、正文、图片等。 动机:由于网页(大多数为HTML格式)通常带有很多标签、样式、脚本等信息&#xff0…

Docker 部署Spring boot + Vue(若依为例)

首先我们要在docker中安装好环境镜像 jdk. mysql. redis. nginx 镜像安装我们在上一篇文章中已说明,请大家自行查看。 下面我介绍部署步骤 部署后台jar 在你的工作目录下新建application 用来存放后台jar包 1.将打好的jar包上传 2.编写Dockerfile文件&#…

PDF文件里到底有什么?

PDF 文档结构由多个组件组成,这些组件决定了文本、图像和其他元素的存储和显示方式。PDF 是一种二进制文件格式,这意味着您无法在文本编辑器中直接编辑 PDF 文件。添加或删除一个字符都可能导致整个文件损坏! PDF 文件结构 理解 PDF 文档结…

FANUC机器人几种常用的通讯网络及接口

FANUC机器人几种常用的通讯网络及接口 Devicenet 网络通讯接口,接口为5针线 (规定用的机架为 81-84) PROFIBUS 网络通讯接口,针脚为2针(规定用的机架为 67) Intemet 网络通讯接口(常用的网线接口&#xf…

实用插件分享:@plugin-web-update-notification/vite 的使用指南

实用插件分享:plugin-web-update-notification/vite 的使用指南 在前端开发的过程中,及时告知用户网页有更新是提升用户体验的一个重要方面。plugin-web-update-notification/vite 就是一款能够轻松实现网页更新通知功能的插件,下面就来详细…

IEC61850标准下MMS 缓存报告控制块 ResvTms详细解析

IEC61850标准是电力系统自动化领域唯一的全球通用标准。IEC61850通过标准的实现,使得智能变电站的工程实施变得规范、统一和透明,这大大提高了变电站自动化系统的技术水平和安全稳定运行水平。 在 IEC61850 标准体系中,ResvTms(r…

人工智能与人的智能,思维模型分享【2】沉没成本

**沉没成本(Sunk Cost)** 是指已经发生且无法收回的成本(时间、金钱、精力等)。沉没成本思维模型的核心原则是:理性决策应基于未来可能的收益与成本,而非被已经无法改变的历史投入所影响。陷入沉没成本陷阱…

艾尔登复刻Ep1——客户端制作、场景切换、网络控制

需要添加的插件内容 Netcode for GameObjects:是一个为 Unity 游戏开发提供高级网络功能的 SDK。它的主要作用是允许开发者在其 GameObject 和 MonoBehaviour 工作流中集成网络功能,并且可以与多种底层传输层协议兼容。 具体内容请看:https:…

基于YOLO11深度学习的遥感视角地面房屋建筑检测分割与分析系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标分割、人工智能

《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】3.【手势识别系统开发】4.【人脸面部活体检测系统开发】5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】7.【…

Java中常见的PO、VO、DAO、BO、DO、DTO、POJO、Query类解释(通俗易懂)

文章目录 先点击收藏和点赞,切勿白嫖,感谢一丶PO(persistant object)持久对象二丶VO(value object)值对象三丶DAO(Data Access Objects) 数据访问对象接口四丶BO/DO(Business Object) 业务对象层五丶DTO(Data Transfer Object) 数据传输对象六丶POJO(Plain Old Java Objects) 简…

完美解决ElementUI中树形结构table勾选问题

完美解决ElementUI中树形结构table勾选问题 实现功能效果图全选取消全选取消父节点取消某个子节点 关键代码 实现功能 1. 全选/取消全选,更新所有节点勾选状态 2. 勾选父/子节点,子/父节点状态和全选框状态更新 效果图 全选 取消全选 取消父节点 取消某…

文件解析漏洞靶场集锦详解

一、IIS解析漏洞 环境安装&#xff1a;windows2003iis6 1.目录解析 .asp文件夹中的任意文件都会被当做asp文件去执行 1.在iis6的网站根目录新建⼀个名为1.asp的文件 2. 在1.asp中新建⼀个jpg文件。内容为 <%now()%>asp代码 3.在外部浏览器中访问iis⽹站中的1.jpg 发现…