淘宝服务框架之路(华黎)

Download Report

Transcript 淘宝服务框架之路(华黎)

淘宝服务框架之路
华黎
Aboutme
• 姓名:曾宪杰
• 花名:华黎
• 淘宝-技术研发部-产品技术-Java中间件团队
• 团队博客http://rdc.taobao.com/team/jm/
• 团队内部站点http://jm.taobao.net
• Sina微博@曾宪杰_华黎
• Twitter@vanadies10
大纲
• 淘宝服务框架的发展过程
• 我们目前要解决的问题
• 一些教训
回到2007
Denali
Mckinley
DB
Fortuna
……
TDBM(Tair前身)
TFS
Transmit
ISearch
2008之初-千岛湖
• 开始走向服务化
– TCUIC
• 各种RPC方式
– Hessian
– 基于TCP的自有协议(不是各个系统通用的)
• 通信上不同的实现
2008年-HSF出世
• 统一服务提供和使用方式
• 应用外部XML方式配置
• 统一的RPC和通信实现
• 采用的还是硬件负载均衡
• 上线时遇到了一个Timeout设置太长的问题.
2008-第二版HSF
• 从硬件负载走向软件负载
– ConfigServer的原型诞生在这年的端午节
• 和Spring集成的服务提供、消费的配置
• 公用的ConfigServer和TBRemoting
HSF基本成型
• HSF(Hi-speedServiceFramework)
调用者
服务提
供者
HSF
HSF
调用者
服务提
供者
HSF
HSF
Config
Server
进入2009
• 增强易用性
– 服务的查询和管理
– 出错信息完善
– 开发模式的指定目标地址
– ……
进入2009
• 支持按方法和参数路由
• 解决Jar包冲突的问题
• 引入动态升级
进入2010
• 依赖图
• 功能的完善和增强
• 日志流控
2011
• 提升业务稳定性
– 调用方
• 使用远程服务的并发数控制
• 对于失效地址的处理
– 提供方
• 拒绝某些调用方的请求
• 线程池隔离
• 对调用方进行流控
2011
• 开放、透明
– 提供扩展点,可以覆盖默认行为
– 提供运行时的统计信息
服务框架要解决的问题
• 统一的服务提供和使用方式
• 软件负载均衡支持
• 跨语言的序列化协议和高性能通信
• 多个扩展点、控制点
• 运行状况的图形化展示以及管理
大纲
• 淘宝服务框架的发展过程
• 我们目前要解决的问题
• 一些教训
我们要解决的问题
• 监视和管理
– EagleEye(GoogleDapper)
– 应用运行图
– 路由和软负载管理
• 跨语言支持
– Proxy方式
– 直连方式
大纲
• 淘宝服务框架的发展过程
• 我们目前要解决的问题
• 一些教训
教训
• 隔离与控制
• 序列化协议
• 服务注册查找中心(ConfigServer)
• 运维管理工具
Thanks!