搜索

pdf文档 2.2.5 go-Chassis 在 shopee 供应链的实践

8.00 MB 31 页 0 下载 1 浏览 0 评论 0 收藏
所属分类: 后端开发 / Go
语言 格式 评分
中文(简体)
.pdf
3
摘要
文档介绍了go-Chassis在Shopee供应链中的实践。Shopee成立于2015年,是东南亚本地电商平台,覆盖8个市场。其供应链技术栈从过去的Python、gunicorn、Celery、elastic等演进到当前的Saturn、kubernetes、RabbitMQ、kafka、ceph、Celery、gunicorn、elastic等。通过go-Chassis与CAT结合,实现定时统计性能指标、容器CPU/Mem/Net信息上报、golang runtime信息收集、所有服务调用监控,并利用CatHandler劫持上报服务调用,通过context携带调用链信息,实现全链路跟踪。实践包括统一业务框架、服务治理、监控及全链路跟踪、日志。统一业务框架带来长期好处如标准化技术规范、打破技术壁垒、技术沉淀,以及当前切实好处如统一服务治理规范、统一监控规范、全链路跟踪、服务注册/服务发现。原有服务注册/发现采用ZK+nginx,存在扩展性差、无客户端负载均衡、无定制和服务治理支持等问题。
AI总结
Shopee是一家成立于2015年的东南亚电商平台,业务覆盖8个市场,发展迅速。其供应链部门的技术栈经历了从Python(使用gunicorn、Celery、Elasticsearch)向Go语言(使用go-Chassis、Kubernetes、RabbitMQ、Kafka、Ceph等)的演进。 核心实践围绕四个方向展开: 1. **统一业务框架**:通过go-Chassis实现标准化,带来长期好处(技术规范统一、打破壁垒、技术沉淀)和当前切实好处(统一的服务治理、监控、全链路跟踪、服务注册与发现)。 2. **服务治理**:针对原有“ZK + nginx”方案扩展性差、缺乏客户端负载均衡和定制支持的问题,进行了改进。 3. **监控及全链路跟踪**:结合go-Chassis与CAT系统,实现定时统计性能指标、上报容器及Go运行时信息、劫持所有服务调用。通过在客户端生成消息树ID并以HTTP Header传递,实现了全链路跟踪。 4. **日志**:作为实践的一部分被提及。 此外,实践还涉及异步/定时任务、异构数据平台、ID生成服务及多级缓存等具体应用。
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余 19 页请下载阅读 -
文档评分
请文明评论,理性发言.