API架构演进
复杂业务背景下微服务化的是与非
付钱拉
闫金明
主讲人
讲点儿什么
简化的业务介绍
业务痛点、难点分析
• 从业务模型说起
• 系统模型演进
过程分析
简单的集中式与分布式
高性能的阶段性事件驱动(SEDA)
热议的微服务
看上去很美
背后的困扰
• 带刺的玫瑰
……• 微服务跳坑经
从业务模型说起
互联网化 金融云
聚合支付 线下扫码
鉴权服务 资金管理
银行流水 征信报告
余额增值 理财超市
平台
业务功能
网银支付
快捷支付
实时收款
批量收款
卡bin 鉴 权
聚合支付
充 值 转 账提 现
实时付款 批量付款
线下扫码
退 款
收银台
系统流程
接入网关
风控处理 交易路由
预处理
交易检查
支付处理
响应处理结果通知
交
易
请
求
金融系统
正好一次
耗时适当延长
每一次调用都重要
数据强一致
业务特点
安全,稳定
系统模型演进
集中式与分布式
应用分离 定时分离
改造
池化线程 多级缓存
用户接口
网络
数据文件
统一报文
数学库
线程管理
核心逻辑
数据库
图形库
配置中心
缓存库
XML解析器
痛点
怎样提高性能
怎样减少BUG
怎样提高开发效率
怎样提高测试覆盖率
怎样无缝升级新版本
业务怎样监控报警
问题在哪里
微服务化
模块化
服务化
同步交易异步化
简单可调试
脱离容器
迭代演进
1
2
3
4
5
6
高效的SEDA
系统模型演进
高效的SEDA
SEDA(Staged Event-Driven Architecture)
Controller
Thread Pool
Event Handler
acquire
release
event queue
扩展后的的SEDA
MicroService Cluster
Controller
Env Monitor
event queue
A
local queue
B
local queue
SEDA(Staged Event-Driven Architecture)
队列的作用
• 系统解耦
• 同步转异步
• 负载均衡
• 流量缓冲
•
业务/系统/模型/演进/交易/支付/服务化/提高/服务/数据/
业务/系统/模型/演进/交易/支付/服务化/提高/服务/数据/
-->