金融行业早期 IOE 架构历史:IBM、Oracle、EMC 如何构建中国金融核心系统二十年基础#
引言:什么是金融行业的 IOE?#
今天谈金融 IT,经常会听到:
IOE 架构
其中:
I = IBM
O = Oracle
E = EMC代表:
- IBM:服务器、小型机、大型机、操作系统、交易体系
- Oracle:数据库
- EMC:企业存储
在 1990 年代到 2010 年左右:
全球银行、证券、保险核心系统大量采用类似架构。
经典金融架构:
Client
|
Application Server
|
Transaction Middleware
|
Oracle
|
EMC Storage
|
IBM Server
这套体系曾经支撑全球金融行业二三十年。
一、为什么金融行业需要 IOE?#
1. 金融业务的特殊性#
普通互联网应用:
可以:
- 宕机
- 重试
- 丢部分请求
但是金融交易:
不能。
例如:
股票交易:
客户买入股票
↓
资金扣除
↓
生成委托
↓
交易所确认
↓
成交回报任何错误都会造成:
- 资金错误
- 交易错误
- 合规风险
因此金融行业追求:
- 高可靠
- 高性能
- 高一致性
二、IBM:金融计算的基础设施霸主#
2.1 大型机时代#
20世纪70-90年代:
银行核心系统:
主要运行在:
IBM Mainframe架构:
Terminal|
IBM Mainframe|
CICS|
DB2IBM 提供:
- 硬件
- 操作系统
- 交易处理中间件
- 数据库
形成完整生态。
三、IBM CICS:金融交易运行平台#
CICS:
(Customer Information Control System)
它不是数据库。
它负责:
交易请求
↓
事务管理
↓
程序调度
↓
资源控制例如:
银行取款:
ATM请求
↓
CICS
↓
检查账户
↓
扣款
↓
更新DB2CICS 最大贡献:
把金融交易从普通程序提升为可管理的事务系统。
四、Oracle:开放系统时代的数据库核心#
4.1 Unix + Oracle 兴起#
1990年代:
金融行业开始从:
大型机
↓
Unix服务器架构变化:
Unix
*
Oracle
*
Tuxedo成为新的企业标准。
五、Oracle 在金融系统中的作用#
Oracle负责:
数据存储#
例如:
账户:
ACCOUNT_TABLE交易:
ORDER_TABLE资金:
BALANCE_TABLE事务一致性#
例如:
转账:
BEGIN;
UPDATE ACCOUNT_A;
UPDATE ACCOUNT_B;
COMMIT;保证:
ACID。
数据可靠性#
提供:
- 日志
- 恢复
- 备份
- RAC集群
但是:
Oracle不负责:
- 请求路由
- 服务调度
- 消息通信
所以需要中间件。
六、BEA Tuxedo:连接 IBM 与 Oracle 时代的重要桥梁#
1990年代:
开放系统金融架构:
Client
|
Tuxedo
|
OracleTuxedo解决:
1. 分布式事务#
例如:
证券交易:
资金系统
+
交易系统
+
清算系统多个数据库:
需要统一事务。
2. 应用服务器#
客户端:
不直接访问数据库。
调用:
BUY_STOCK()Tuxedo负责:
找到业务服务。
3. 高并发处理#
大量请求:
Tuxedo
/ | \
Server Server Server形成交易集群。
七、EMC:金融数据存储基础#
金融行业最大的问题:
不是计算。
而是:
数据安全。
因此采用:
EMC存储。
典型:
Application
|
Database
|
EMC SAN Storage提供:
- RAID
- 双控制器
- 数据镜像
- 灾备复制
八、中国金融行业 IOE 架构形成过程#
第一阶段:1990年代 银行核心系统#
典型:
IBM Mainframe
+
CICS
+
DB2主要用于:
- 银行柜面
- 清算
- 信用卡
第二阶段:证券集中交易时代(2000年前后)#
证券行业经历:
营业部模式#
过去:
上海营业部
数据库
北京营业部
数据库每个营业部:
独立系统。
集中交易模式#
2000年后:
变成:
全国投资者
|
证券总部交易中心
|
数据库需要:
- 中间件
- 集群
- 消息系统
九、2000年前后的典型金融架构#
证券公司:
客户端
|
BEA Tuxedo
|
Oracle
|
EMC
|
IBM Unix Server这是当时非常经典的 IOE 架构。
十、为什么国产中间件开始出现?#
问题来了:
数据库可以购买。
服务器可以买。
但是:
交易核心逻辑运行平台怎么办?
当时:
核心:
国外 Middleware
↓
Oracle交易系统最关键部分:
被国外控制。
于是出现:
金证 KCBP/KCXP#
对应:
Tuxedo
+
MQ架构:
Client
|
KCXP
|
KCBP
|
Oracle恒生 AS/AR#
对应:
Router
+
Application Server架构:
Client
|
AR
|
AS
|
Database十一、为什么后来出现去 IOE?#
1. 成本问题#
IOE:
价格昂贵。
尤其:
- 小型机
- 商业数据库
- 存储
2. 扩展问题#
传统:
纵向扩展:
更大的IBM服务器互联网时代:
需要:
横向扩展:
1000台普通服务器3. 云计算出现#
互联网公司证明:
普通服务器集群也可以支持巨大规模。
十二、余额宝与金融去 IOE#
2013:
余额宝成为典型案例。
架构:
从:
IOE集中式转向:
云计算
+
分布式
+
国产中间件其中:
金证 KCBP/KCXP:
承担:
- TA系统交互
- 核心交易处理
- 系统通讯
成为金融去 IOE 的代表案例之一。
十三、IOE之后的新架构#
今天:
金融架构变成:
Cloud Platform
|
Microservices
|
Middleware Platform
|
Distributed Database
|
Storage Cluster但是:
IOE时代留下的思想仍然存在:
- 事务
- 高可靠
- 数据一致性
- 灾备
十四、IOE时代的历史意义#
IOE不是简单的三个厂商。
它代表了一代金融架构思想:
IBM#
解决:
如何运行金融交易
Oracle#
解决:
如何保存金融数据
EMC#
解决:
如何保护金融数据
三者共同形成:
金融核心系统基础设施模型结语:国产化不是否定 IOE,而是掌握核心能力#
IOE 曾经是全球金融 IT 最先进的架构。
它帮助中国银行、证券行业完成:
- 信息化
- 集中化
- 企业级建设
但是:
随着金融规模扩大,中国开始意识到:
核心金融系统不能只依赖国外基础软件。
因此:
从:
IBM + Oracle + EMC
+
Tuxedo逐渐走向:
国产服务器
+
国产数据库
+
KCBP/KCXP
+
CRES/JRES
+
云原生平台这不是一次简单替换。
而是:
中国金融 IT 从"使用全球技术"
走向:
“掌握核心运行平台”
的历史过程。
金融架构演进路线图#
1970-1990
IBM Mainframe
CICS
DB2
↓
1990-2010
Unix
Oracle
BEA Tuxedo
EMC
↓
2000-2020
国产交易中间件
KCBP/KCXP
AS/AR
CRES
↓
2020+
Cloud Native
Microservices
Distributed Middleware
AI InfrastructureIOE 是中国金融信息化时代最重要的一章,也是国产金融基础软件诞生的历史起点。