微博Service Mesh实践BeiJing �16 微博Service Mesh实践 - WeiboMesh • 服务交互 • 服务发现 • 服务路路由 • 服务治理理 • 跨语⾔言序列列化 • 批量量请求 • 资源服务化 • 兜底逻辑 Mesh Light Client SM 功能 功能 强化 Go 并发 适配 不不同 语⾔言Service Mesh Cluster(发现集群管理理,group + path) ➢ HA(⾼高可⽤用策略略) ➢ LB(负载均衡) ➢ Endpoint(服务节点的抽象) ➢ Protocol(Motan2/传输协议+Simple/序列列化协议)Service Mesh Meetup · BeiJing Cluster 模块 �18 微博Service Mesh实践 - WeiboMesh WM/ Client request - WeiboMesh Header ➢ 消息类型 ➢ 协议版本 ➢ 序列列化协议(body) Metadata ➢ 服务名 ➢ ⽅方法名 ➢ 系统参数及⽤用户参数 Body ➢ response ➢ RequestService Mesh Meetup · BeiJing Simple 序列列化 �22 微博Service Mesh实践 - WeiboMesh 基础类型0 码力 | 43 页 | 1007.85 KB | 6 月前3
Service Mesh的实践分享难。需要自行处理HTTP请求和 响应(目前还没有生成HTTP sdk) 应用侵入性 侵入性大。复杂客户端会给 应用造成负担,包括资源占 用、依赖冲突等等 侵入性小。SDK只有简单的寻址和序列化/ 反序列化的功能 无侵入性。应用自行调用 运维难度 难度大。客户端的问题会对 应用直接产生影响,耦合太 重 难度小。Sidecar故障可以将流量临时切到 remote proxy解决 难度小。集群通过LVS接入,单 API不友好问题 • 不能unwatch • 需要花费很大力气进行迁移和替换PHP Thrift效率低 • 数量众多PHP应用,开发php-sdk over thrift • 在客户端进行序列化,减少一次协议转 换的消耗 • 与Java应用在架构上呼应,保持架构的一 致性 • 然而,实际上PHP Thrift效率低比内置 的HTTP模块慢得多 • 性能消耗比JSON转Thrift还要大0 码力 | 30 页 | 4.80 MB | 6 月前3
Service Mesh结合容器云平台的思考和实践ap_config.go中的 WriteBootstrap自动生成一个配置文件,默认将生成的配置文件放在/etc/istio/proxy/envoy-rev%d.json, 这里的%d会用epoch序列号代替。WriteBootstrap在envoy.Run方法中被调用。Pilot-Agent主要功能分析-Envoy监控与管理 为envoy生成好配置文件之后,pilot-agent还要负责envoy进程的监控与管理工作,包括:0 码力 | 28 页 | 3.09 MB | 6 月前3
蚂蚁金服Service Mesh渐进式迁移方案b-port=getOriginalDest() 都没有改造,直连 服务器端有改造,单跳 客户端有改造,单跳Service Mesh时代的客户端和寻址方式 服务发现 加密 负载均衡 请求路由 目标服务 的标识 序列化 链路追踪 故障注入 日志 监控 Metrics 熔断 限流 服务降级 前置条件检查 身份认证 密钥管理 访问控制 …… 下沉到 Service Mesh 轻量级客户端 传统 侵入式 客户端0 码力 | 40 页 | 11.13 MB | 6 月前3
共 4 条
- 1













