 SolarMesh 基于Istio构建的流量监管平台错综复杂的服务调度掩盖了 问题的源头 服务间交互的复杂性: Ø 难以可视化 Ø 难以全面测试 Ø 多服务联动时问题难以察觉 Ø ... 服务间通信的复杂性: Ø 网络延迟 Ø 消息序列化 Ø 不可靠的网络 Ø 异步机制 Ø ... 开发难 排错难 测试难 运维难 Ø 服务变得非常多 Ø 版本变得非常复杂 Ø 上线十分痛苦 Ø 排查问题更难 Ø 解决手段更复杂 Ø0 码力 | 20 页 | 1.29 MB | 1 年前3 SolarMesh 基于Istio构建的流量监管平台错综复杂的服务调度掩盖了 问题的源头 服务间交互的复杂性: Ø 难以可视化 Ø 难以全面测试 Ø 多服务联动时问题难以察觉 Ø ... 服务间通信的复杂性: Ø 网络延迟 Ø 消息序列化 Ø 不可靠的网络 Ø 异步机制 Ø ... 开发难 排错难 测试难 运维难 Ø 服务变得非常多 Ø 版本变得非常复杂 Ø 上线十分痛苦 Ø 排查问题更难 Ø 解决手段更复杂 Ø0 码力 | 20 页 | 1.29 MB | 1 年前3
 Envoy原理介绍及线上问题踩坑RPC协议并提取请求中方法、接口、 metadata等信息,并根据元数据进行路由选择。 envoy.filters.network.local_rateli mit L4网络过滤器 基于L4层网络限流,通过令牌桶防止定期时间间隔内 过多下游连接。 envoy.filters.network.http_conne ction_manager L4网络过滤器 专门用于处理HTTP请求的网络过滤器,根据协议类型 处理HTTP编解码并调用L7层HTTP过滤器。 基于Lua脚本语言,处理HTTP请求及相应,每个Lua运 行时运行在工作线程中。 envoy.filters.http.local_ratelimit L7 HTTP过滤器 基于L4层请求限流,通过令牌桶防止定期时间间隔内 过多下游请求 envoy.filters.http.wasm L7 HTTP过滤器 基于WASM(WebAssembly)技术,支持沙箱、热升级、 跨语言的扩展机制,处理L7层HTTP请求编解码。 outbound|xx|191130102|xx.xx.svc.cluster.local - 10.17.8.9:xx 100.95.165.3:28788 100.85.225.193 - 原因 分析 1. 抓包看到出现短时间内大量Retransmission 2. 超过cluster内建立与目标主机连接的最大重试次数(3次) 3. 原因为客户POD内部署两个对外服务端口,当客户端同时发起对不同服务的访问时,路由结果可能会落0 码力 | 30 页 | 2.67 MB | 1 年前3 Envoy原理介绍及线上问题踩坑RPC协议并提取请求中方法、接口、 metadata等信息,并根据元数据进行路由选择。 envoy.filters.network.local_rateli mit L4网络过滤器 基于L4层网络限流,通过令牌桶防止定期时间间隔内 过多下游连接。 envoy.filters.network.http_conne ction_manager L4网络过滤器 专门用于处理HTTP请求的网络过滤器,根据协议类型 处理HTTP编解码并调用L7层HTTP过滤器。 基于Lua脚本语言,处理HTTP请求及相应,每个Lua运 行时运行在工作线程中。 envoy.filters.http.local_ratelimit L7 HTTP过滤器 基于L4层请求限流,通过令牌桶防止定期时间间隔内 过多下游请求 envoy.filters.http.wasm L7 HTTP过滤器 基于WASM(WebAssembly)技术,支持沙箱、热升级、 跨语言的扩展机制,处理L7层HTTP请求编解码。 outbound|xx|191130102|xx.xx.svc.cluster.local - 10.17.8.9:xx 100.95.165.3:28788 100.85.225.193 - 原因 分析 1. 抓包看到出现短时间内大量Retransmission 2. 超过cluster内建立与目标主机连接的最大重试次数(3次) 3. 原因为客户POD内部署两个对外服务端口,当客户端同时发起对不同服务的访问时,路由结果可能会落0 码力 | 30 页 | 2.67 MB | 1 年前3
 Istio 与 Knative 踩坑实录Knative 简介 FAAS 实践进展19/25 酷家乐 FAAS 方案 FAAS 实践进展20/25 Knative 基本实践数据 FAAS 实践进展 分享主题:字号 分享嘉宾 平均冷启动时间 不包含 Istio-proxy 业务为 go 语言或 nodejs 语言的简单接口 3.6 秒 额外内存占用 30~60 MB 为 queue-proxy 占用21/25 踩过的坑/问题 Activator 重复创建并占用大量资源22/25 Knative 当前瓶颈 FAAS 实践进展 • 还未发布 Production-ready 版本 • Queue-proxy 过重 • 冷启动时间亟待优化 • 支持代码级更新?23/25 展望-推动组织变革 FAAS 实践进展24/25 总结 FAAS 实践进展 • 深入掌握后可谨慎使用 • 可能颠覆组织和职能的运作方式,推进需要技巧0 码力 | 26 页 | 1.35 MB | 6 月前3 Istio 与 Knative 踩坑实录Knative 简介 FAAS 实践进展19/25 酷家乐 FAAS 方案 FAAS 实践进展20/25 Knative 基本实践数据 FAAS 实践进展 分享主题:字号 分享嘉宾 平均冷启动时间 不包含 Istio-proxy 业务为 go 语言或 nodejs 语言的简单接口 3.6 秒 额外内存占用 30~60 MB 为 queue-proxy 占用21/25 踩过的坑/问题 Activator 重复创建并占用大量资源22/25 Knative 当前瓶颈 FAAS 实践进展 • 还未发布 Production-ready 版本 • Queue-proxy 过重 • 冷启动时间亟待优化 • 支持代码级更新?23/25 展望-推动组织变革 FAAS 实践进展24/25 总结 FAAS 实践进展 • 深入掌握后可谨慎使用 • 可能颠覆组织和职能的运作方式,推进需要技巧0 码力 | 26 页 | 1.35 MB | 6 月前3
 Istio控制平面组件原理解析sockets,在这期间使用UDS从P获取合适的listen sockets • 4. S初始化成功,通知P停止监听新的链接并优雅关闭未完成的工作 • 5. 在P优雅关闭过程中,S会从共享内存中获取stats • 5. 到了时间S通知P自行关闭 • 6. S升级为P • 官方博客:Envoy hot restart什么时候会进行热重启?监控envoy ü获取非正常退出状态 ü抢救机制触发 ü抢救令牌减少一个(总共10个) ücert-chain.pem 和 key.pem 实际有效期90天,程序控制有效期45天 ü证书过期会被重新生成并挂载到/etc/certs ü触发envoy热启动ü方案一: • 把重新生成证书时间改为凌晨http://www.servicemesher.com0 码力 | 30 页 | 9.28 MB | 6 月前3 Istio控制平面组件原理解析sockets,在这期间使用UDS从P获取合适的listen sockets • 4. S初始化成功,通知P停止监听新的链接并优雅关闭未完成的工作 • 5. 在P优雅关闭过程中,S会从共享内存中获取stats • 5. 到了时间S通知P自行关闭 • 6. S升级为P • 官方博客:Envoy hot restart什么时候会进行热重启?监控envoy ü获取非正常退出状态 ü抢救机制触发 ü抢救令牌减少一个(总共10个) ücert-chain.pem 和 key.pem 实际有效期90天,程序控制有效期45天 ü证书过期会被重新生成并挂载到/etc/certs ü触发envoy热启动ü方案一: • 把重新生成证书时间改为凌晨http://www.servicemesher.com0 码力 | 30 页 | 9.28 MB | 6 月前3
 IstioMeetupChina 服务网格热升级技术分享修改SidecarSet,指定新版本镜像 • SidecarSet将EmptyContainer替换为新Sidecar镜像,新Sidecar镜像启动 • 新Envoy进程与老Envoy交互,开始进行热重启流程 • 最大排水时间到达,SidecarSet Controller将老Container替换为Empty镜像 • 热升级结束 10 • 为什么需要服务网格数据面热升级 • 实现热升级 • 实践热升级 目录 Catalog0 码力 | 14 页 | 2.25 MB | 1 年前3 IstioMeetupChina 服务网格热升级技术分享修改SidecarSet,指定新版本镜像 • SidecarSet将EmptyContainer替换为新Sidecar镜像,新Sidecar镜像启动 • 新Envoy进程与老Envoy交互,开始进行热重启流程 • 最大排水时间到达,SidecarSet Controller将老Container替换为Empty镜像 • 热升级结束 10 • 为什么需要服务网格数据面热升级 • 实现热升级 • 实践热升级 目录 Catalog0 码力 | 14 页 | 2.25 MB | 1 年前3
 在网格的边缘试探:企业 Istio 试水指南����� ����制定目标 • 集群环境申请:版本、开关、资源等。 • 功能性需求:本次试用中Istio需要提供的功能,再次强调:No Freestyle • 非功能需求:并发、成功率、响应时间等服务质量参数。 • 故障处理需求:故障预案。 • 影响范围分析。 • 选定测试版本:研读开放Issue以及Release Notes。测试方案部署 • Istio部署 • 复查集群环境 • 调整资源参数0 码力 | 19 页 | 11.41 MB | 6 月前3 在网格的边缘试探:企业 Istio 试水指南����� ����制定目标 • 集群环境申请:版本、开关、资源等。 • 功能性需求:本次试用中Istio需要提供的功能,再次强调:No Freestyle • 非功能需求:并发、成功率、响应时间等服务质量参数。 • 故障处理需求:故障预案。 • 影响范围分析。 • 选定测试版本:研读开放Issue以及Release Notes。测试方案部署 • Istio部署 • 复查集群环境 • 调整资源参数0 码力 | 19 页 | 11.41 MB | 6 月前3
共 6 条
- 1













