58 微服务架构在转转中的实践 sunxuan
2020-03-01 252浏览
- 1.微服务架构 在二手交易平台(转转)中的实践 孙玄 58集团技术专场
- 2.关于我 关于我 58集团技术委员会主席 58集团高级系统架构师 转转架构算法部负责人 百度高级工程师 毕业于浙江大学 代表公司多次对外分享 58集团技术专场
- 3.分享要点 1 特点 使用原因 2 微服务架构 5 6 3 演进 4 通信协议、服务注册/发现 柔性可用实践 服务治理 58集团技术专场
- 4.特点 什么是微服务架构 1 58集团技术专场
- 5.特点 微服务架构 微服务粒度 独立进程 围绕业务建模 轻量级通信 去中心化管理 1 58集团技术专场
- 6.使用原因-转转是什么 卖 买 2 58集团技术专场
- 7.使用原因-二手交易平台功能 发布商品 分类搜索 关键词搜索 推荐商品 消息中心 -私信、留言 个人中心等等 2 58集团技术专场
- 8.使用原因 业务功能多 业务复杂性高 用户体验好 业务高速发展 2 58集团技术专场
- 9.使用原因 微服务架构特点&二手交易平台特点 系统 高扩展性 Please add a 持续交付 Please add a comment here. comment here. 系统 高可用 2 快速迭代 Please add a comment here. 转转使用微服务架构比较合适 58集团技术专场
- 10.微服务架构 APP APP MicroService Gateway MicroService Gateway Please add a comment here. Please add a comment here. MicroService1 MicroService2 DB1 DB2 MicroService3 Please add a comment here. 持交付 Micro Service Registry DB3 2 58集团技术专场
- 11.演进-如何设计 整体设计 每层设计 高可用 水平分层 微服务-业务单元垂直拆分 冗余 垂直业务拆分 无状态化 自动恢复 独立进程、部署、运维 58集团技术专场
- 12.演进-总体架构设计 微服务网关 微服务聚合层 微服务原子层 微服务数据层 轻量级通信 -HTTP -RPC 去中心化管理 -开发语言-java 微服务注册 微服务发现 3 58集团技术专场
- 13.演进-存在问题 二手交易特点 仅一个 Process 业务发展快 业务越来越复杂 微服务聚合层 研发人员增多 多人 扩展性 开发 差 冲突 开发瓶颈集中 -微服务聚合层 性能 瓶颈 业务 耦合 性高 3 58集团技术专场
- 14.演进 单微服务聚合层 业务逻辑拆分 多微服务聚合层 业务物理拆分 转转业务领域模型拆分 3 58集团技术专场
- 15.演进 58集团技术专场
- 16.演进-多微服务聚合层优点 进程 独立 开发 部署 运维 高效 快速迭代 持续交付 3 58集团技术专场
- 17.通信协议-轻量级通信协议 REST HAL HTTP REST RPC 消息 队列 Thrift gRpc dubbo 4 58集团技术专场
- 18.通信协议选择-我们的选择 市场风险分析 REST API HTTPS JSON 转转 微服务网关 cmd:zz.com/zz/userquery method:GET request:{“uid”: 9664058} response:{”respCode”: 0,respData:{“nickname”: musciml}} RPC 转转 SCF 微服务聚合 私有协议 层、原子层 58集团技术专场
- 19.服务注册/发现 • • 微服务注册中心 Host Port Config等 微服务发现 下游发现 负载均衡 4 58集团技术专场
- 20.服务注册/发现-微服务发现 REQ 下游发现 负载均衡 微服务网关 Keepalive Retry 微服务1 微服务2 4 58集团技术专场
- 21.柔性可用实践-为什么需要 流量高峰期 短时请求量大 服务能力有限 性能下降 怎么办 5 系统雪崩 服务宕机 微服务柔性可用 58集团技术专场
- 22.柔性可用实践-柔性设计如何做 目标:保证核心服务可用;非核心服务弱可用,甚至不可用 系统 降级 5 数据层 降级 柔性可用 策略 58集团技术专场
- 23.柔性可用实践-系统降级 拒绝部分请求 关闭部分服务(业务紧密) 5 58集团技术专场
- 24.柔性可用实践-系统降级 1 拒绝部分老请求 减轻微服务请求处理数量 确保“新”请求正常响应 RPC队列方式(请求入队、出队时间处理请求时,检查 拒绝 部分请求 请求在队列请求时间超过一定时间[比如1s],直接丢弃) 2 优先级请求方式 非核心请求直接丢弃 (1)业务紧密 (2)转转 3 随机拒绝方式 随机丢弃一定比例请求 5 网站一会可用,一会不可用 58集团技术专场
- 25.柔性可用实践-数据层降级 更新请求 01 持久到消息队列 只更新缓存 02 读请求 读缓存 03 数据补齐 消息队列->数据库 5 58集团技术专场
- 26.柔性可用实践-柔性可用策略 5 自动 打开 不依赖于人肉 演练 保证线上生效 58集团技术专场
- 27.服务治理 进程状态 为什么需要监控 监控什么 6 及时发现问题 主动权 58集团技术专场
- 28.服务治理-监控手段 监控手段 1 ALive 语义监控 数据波动监控 6 机器资源不足 工作正常 2 正常工作 进程监控 、 3 错误日志监控 流量的突增突降 4 5 数据资源监控 58集团技术专场
- 29.服务治理 微服务实时监控 请求平均耗时 6 请求异常条数 58集团技术专场
- 30.服务治理-微服务监控框架 Open-falcon 定制开发 6 58集团技术专场
- 31.要点回顾 1 特点 使用原因 2 微服务架构 5 6 3 演进 4 通信协议、服务注册/发现 柔性可用实践 服务治理 58集团技术专场
- 32.欢迎关注本人公众号“架构之美” 后台开发、搜索、推荐算法职位 sunxuan@58.com 58集团技术专场
- 33.58集团技术专场