第1章 初识证券交易系统
本章主要介绍为何要带大家从零开始开发一套高可用的撮合交易实战课程,之后会聊聊这个行业的参与者们,介绍金融行业的系统有哪些部分组成,它们的架构是什么样子的。希望大家都能通过这门课程,学有所成,学有所归。
第2章 Vue委托终端开发准备
本章将带大家对委托终端的开发做足准备,包括框架选型(通过对不同时期的前端框架进行优劣比较,着重讲解Vue作为前端主框架的优势和Vue应用的思路和通过实例快速入门Electron两方面的内容。
第3章 订单出发-结合Element UI开发委托终端
本章将会带大家开发一个委托终端,委托终端主要使用Element UI作为组件库, 除了使用Element UI还会根据柜台的业务开发自定义的的组件。在开发的过程中着重展示一个结构清晰的代码结构应该怎么组织各个层级方法的调用关系。...
第4章 Spring Cloud柜台开发准备
本章将带大家对柜台开发做足知识准备,包括了解柜台在交易撮合系统中会扮演一个什么样的角色,柜台的技术选型,如何使用SpringCloud搭建柜台开发的脚手架三方面的内容。
第5章 订单第一站-柜台
本章将带大家开发基于Spring Cloud的柜台,包括Token身份认证接口(使用Redis存储Token进行认证),查询类接口(使用数据库+缓存的方式提高系统负载能力),委托发送接口,自动提示框接口(使用倒排索引的方式提高检索效率)。...
第6章 Vertx网关开发准备
本章将带大家对网关的开发做足知识准备,包括了解网关在交易撮合系统中发挥的作用,在柜台和交易之间的隔离,协议转换的作用,了解TCP网络编程的重要技术点报文的编解码和重连的设置。
第7章 订单第二站-网关
本章将带大家完成网关的开发,柜台使用Vertx的TCP模块作为开发框架,使用Vertx开发TCP的服务端和客户端,并会重点带大家分析TCP网络编程中如何使用自定义的缓存队列防止系统的阻塞。
第8章 Raft排队机开发准备
本章将带大家对排队机的开发做足知识准备,包括了解排队机在交易撮合系统中发挥的作用(主要用于订单的收集,定序和广播),了解排队机如何保证强一致性和高可用,并基于现有的SOFAJRaft框架完成一个高可用和强一致性的key-value数据库用来保存申报数据。 ...
第9章 订单第三站-排队机
本章将带大家开发一个基于SOFAJRaft 和Vertx的UDP模块作为开发框架的排队机,完成从网关收集订单,定序,存储等功能。为了保证业务上的公平性,排队机以固定的频率从网关收集订单,对所有申报进行定序,最后存放到具有强一致性和高可用特性的Key-Value数据库中。...
第10章 Disruptor撮合核心开发准备
本章将带大家对撮合核心开发做足知识准备,包括了解撮合核心的业务知识以及它在撮合交易系统中发挥的作用,TCP/UDP在撮合核心开发当中的优劣选择,Disruptor的入门和使用三方面的内容。
第11章 订单终点站-撮合核心
本章将带大家开发一个撮合核心,撮合核心主要使用Disruptor,eclipse collections作为开发框架,完成使用NACK策略接收排队机的组播数据,使用自定义的订单簿数据结构对委托进行撮合和存储,对申报的结果进行广播等功能,本章的难点在于如何规避UDP丢包和乱序的问题,如何设计一个较为高效的订单簿数据结构。...
第12章 行情发送、订阅和和课程总结
本章先带大家了解柜台如何通过总线接收撮合核心发布的行情和撮合数据,委托终端如何从柜台订阅委托和成交的变动信息,如何请求股票的订单簿数据,最后对整个课程业务、技术做全面总结。