汽车之家微服务架构实践
石智中@汽车之家
2016-4-23
微服务架构 (MSA )
什么是MSA
微服务架构 (MSA )是一种架构概念 ,旨在通过将功能分解到各
个离散的服务中以实现对解决方案的解耦。
MSA能带给我们什么
• 分解
• 自由
• 效率
• 易迭代
• 弹性
MSA不足
• 复杂度
• 大小限制
• 进程间通信
• 事务
• 测试
• 服务治理
• 可靠性 ?
汽车之家怎样落地MSA
微服务框架Turbo
之家情况
15年6月ADU980万
全网千亿调用
15年双11汽车电商交易额87.95亿
服务化之前
• C#
• 设计、架构老旧
• 各 自为政
• 无标准
• Http+Json
• 服务配套 ?
要实现的东东
1 集中式负载均衡 2 服务发现
3 无感知的降级和分流 4 统一实时的监控报警
5 提升进程间通信 6 分布式跟踪
7 持续集成 8 自动化弹性部署
Turbo
一套多语言适配的微服务化解决方案 ,提供服务发现、多协议RPC、
负载均衡、分布式跟踪、统一监控报警、自动化部署等功能。
Turbo框架简示图
服务治理-分层架构
服务发现
多语言支持的代价
架构上的去中心化
使得每种语言都要
依据分层架构做 自己的实现
发现和负载的AB方案
RPC协议头
稳定性和容错
• 多机房部署zookeeper集群 ,主力机房5个节点(leader/follower集群) ,
其他机房各2个节点(observer节点) ,保证性能和稳定性。
• Turbo客户端服务端添加守护线程 ,定时校验本地缓存和zookeeper的
数据一致性。
• Turbo客户端会将缓存的服务信息持久话到本地 ,即使zookeeper挂掉
或者重启也不影响正常调用。
• 注册中心zookeeper的数据全部持久化到DB中。
• 嵌入Trace客户端上报收集分布式跟踪 日志
服务监控-架构
服务监控-日志分析
服务监控-Trace数据模型
服务监控-Trace数据模型
• TraceId标识唯一调用树
• TransactionId标识唯一次调用
• 一次trace调用会产生四条 日志
• Trace调用树可以由Turbo、本地调用、http或其他调用方式组成
• Trace客户端是独立的 ,Tur
您可能关注的文档
- 生产与运作管理 第2章 企业战略和运作策略.pdf
- 以用户为中心的移动应用探索测试实践.pdf
- 生产与运作管理 第九章 服务业的运作计划.pdf
- 京东大规模监控系统实践.pdf
- 生产与运作管理 第二章 企业战略和运作策略.pdf
- Oracle跨平台迁移升级最佳实践.pdf
- 生产与运作管理 第四讲 生产运作能力.pdf
- 生产运作战略.pdf
- 营销运作规则.pdf
- 运作管理复习.pdf
- (正式版)DB51∕T 1867-2014 《袋栽黑木耳生产技术规程》.docx
- (正式版)DB51∕T 2413-2023 《油橄榄密植丰产栽培技术规程》.docx
- (正式版)DB51∕T 2436-2017 《川菜东坡一品肉烹饪工艺技术规范》.docx
- (正式版)DB51∕T 2396-2017 《农村电子商务服务站(点)服务与管理规范》.docx
- (正式版)DB51∕T 2419-2017 《桢楠扦插育苗技术规程》.docx
- CN105145773B 一种无花果曲奇饼干及其制作方法 (江苏农林职业技术学院).docx
- CN105203825A 微测量电极的制作方法和热电势的测量方法及相关装置 (国家纳米科学中心).docx
- CN105137533B 一种啁啾光纤光栅及其制作方法 (南京航空航天大学).docx
- (正式版)DB51∕T 2453-2018 《巴山新居公共管理指南》.docx
- (正式版)DB51∕T 1892-2014 《川西北地区沙化土地治理技术规程》.docx
原创力文档

文档评论(0)