容器化技术在股票交易系统的应用
广发证券OpenTrading证券交易云
广发证券信息技术部资深架构师
交易云技术研发团队负责人
杨涛
基于docker容器化的行情服务
5大终端设备接入
web/pc/mac/android/ios
5
6大系统使用
移动易淘金、电商金融超市
广发微信、实盘晒股、web交易
6
日请求量超2亿
30万在线并发
2亿 4000
Pa
ge
6
200万投资者客户
支撑200w+投资者客户
每周增长10w+
200万
吞吐
建设北、上、广多地20个IDC站点
超过6个IDC机房
4000个docker容器
基于docker的证券交易接入网关
Pa
ge
6
雪球30万日PV
日均交易额高达3亿
30万
20套生产环境
20套生产环境部署,3个IDC机房
两地三中心多活
20 400
Pa
ge
4
DMA180万日PV
日均交易额平均8亿,最高30亿
180万
支持http,fix,t2等3种以上协议
400个docker容器
为什么要容器化 WHY
行业现状
量化交易、高频交易、实时风控高要求
创新、交易事故零容忍
互联网金融兴起
天量行情,高并发挑战
我们的痛点
硬件资源低负荷运转
通宵达旦的系统升级
补丁,补丁,还是补丁
耗时的测试环境搭建
快速部署难以实现
大升级不可回退
实时风控
拼算法 拼速度
“之龙指”、“胖手指”事件的反思
① 根本原因,技术系
统实时风控速度达
不到业务的要求
② 风控需求是实时的,
不可预测,各种不
确定性
传统股票交易流程
开立账户
存入款项
下单交易
交易确认
DBMS
中间件
中间件
中间件 应用路由
应用路由
应用路由
?
Docker 让我们弯道超车
① 轻量的引擎,高效虚拟化
② 秒级部署,轻松迁移和扩展
③ 易于移植、弹性伸缩,简单管理
④ 开始具备一点“云”的能力
⑤ 让微服务成为可能
⑥ 标准化的服务器端交付物
⑦ 向DevOps迈进的重要一步
怎么用docker HOW
docker是证券交易云的基础
云要落地
容器技术与云
① 容器不是虚拟机的替代者,是进程的替代者
② 广义上,云是单机多进程到跨网络多进程的延伸
③ 对资源,进程的远程编排和调度构成了云的基础
编排
① Orchestration
② 轻量级建模,通过API可以实现各种编排需求
云要落地
调度(Scheduling)
① 解耦应用和调度
② 基于建模的调度
③ 如果可以,直接调
用API部署
云要落地
容器编排与调度
启动脚本
Process
Manager(P
M2)
Config
Manage(An
sible)
Docker
Shipyard
Rancher
云要落地
应用感知云(Cloud-Ready)
① 容错
② 可伸缩
③ 透明部署
不可变运维
① 一旦实例化后,永不改变
② 服务的变更(升级,降级,修改配置)都通过重新部
署实现
③ 应用本身无状态
④ 不修改容器的内部
PATCH
SAY NO
Docker最佳实践
① 除了持久存储乊外,不用映射外部文件
② 不要使用本地网络
③ 镜像使用标签,抛弃latest
④ Build 和Build Image分离
⑤ Apt-get安装package用完即删
⑥ Docker内部不要daemon
Docker解决了我们哪些问题
①更快的上线速度
②故障时能做到自动隔离
③故障时能够做到自动恢复
④方便的水平扩容
⑤低成本的回滚
为什么用rancher
① 支持swarm,k8s
② 兼容docker标准API
③ Catalog,stack,service
④ Docker工具链支持(docker-
machine,docker-compose)
⑤ 开源,商业公司维护
Rancher 企业私有容器服务的解决方案
基于docker的研发流程