vlambda博客
学习文章列表

云原生 | 服务网格 与 Istio 技术原理


前言

作为 CNCF 定义的云原生关键技术之一,服务网格发展至今已经有五个年头了,其发展目前正处于大规模落地及生态发展阶段。

服务网格是一个专门处理服务通讯的基础设施层。它的职责是在由云原生应用组成服务的复杂拓扑结构下进行可靠的请求传送。Istio 是一个开源的服务网格实现产品,以透明的方式构建在现有的分布式应用中。

技术原理


  • 本文将介绍几种将 Istio 流量管理能力扩展到其他七层协议的方法,并对比分析这几种方法各自的优缺点,以及介绍如何利用 Aeraki 开源项目来在 Istio 中管理任何七层协议,包括 Dubbo、Thrift、Redis 等。


  • 本文将从云原生容器化环境入口流量管理使用场景切入,带您了解云原生接入层流量管理的各类解决方案及优劣对比。


  • 本文将基于 Istio Ingress Gateway 面向入口流量分发、容错与高可用调度介绍上述功能的原理与演示。


  • 本文总结了使用 istio 常见的10个异常,并提供了解决方案。



  • 本文介绍了 Istio 提供的多控制面和单控制面部署模式,大家可以根据不同的需求进行选择。

  • 在这篇文章中,我们将探讨 Istio 是如何使用证书来实现网格中服务的身份认证和安全通信的。


  • 本文分析了 Istio 和第三方服务注册表集成的几种可能的方式,包括自定义的 Service Registry 适配代码,自定义 MCP Server 和采用一个独立服务向 API Server 写入 ServiceEntry 和 WorkloadEntry 三种方法。


  • 腾讯云服务网格(TCM)作为一个兼容 isito 的服务网格平台,已经在腾讯内外部有诸多落地案例。本文是对腾讯云高级工程师钟华、苗艳强在云+社区沙龙online的分享整理,深度解析服务网格架构演进和发展趋势,希望与大家一同交流。

  • 本文介绍了如何使用 Envoy 为微服务应用提供客户端无感知的 Redis 数据分片,以及如何通过 Istio 来统一管理系统中多个 Envoy 代理的 Redis Cluster 配置。

性能优化

  • 在使用istio时,有一些对通信性能要求较高的业务会对istio的性能有一些担忧。本文介绍了对一通信过程进行优化,以更好的满足更多客户的需求。

  • 腾讯 TKE 团队用 IPVS-BPF 模式,完全绕过 nf_conntrack 的处理逻辑,使用 eBPF 完成 SNAT 功能。对最常用的 Pod 访问 ClusterIP 场景,短连接性能提升40%。

  • 性能一直是用户十分关心的一个点,也是用户评估是否使用服务网格产品的关键因素,腾讯云 TCM 团队一直致力于优化服务网格性能,本文分享了使用 eBPF 代替 iptables 优化服务网格数据面性能的方案。


  • 在 Istio 中启用 Aeraki LazyXDS 后,控制面推送次数减少 80%,envoy sidecar 内存占用降低 60%。

技术实践

  • 不停服,不变更前端,用户无感的平滑过渡至云上 ServiceMesh,大幅降低成本,提升研运效能。

  • 本文将介绍如何利用 Spring 和 OpenTracing 简化应用程序的Tracing 上下文传递,以及如何在 Istio 提供的进程间调用跟踪基础上实现方法级别的细粒度调用跟踪。

  • 在本篇文章中,将继续利用 eshop demo 程序来探讨如何通过 OpenTracing 将 Kafka 异步消息也纳入到 Istio 的分布式调用跟踪中。


  • 本文将为大家分析应用容器对Envoy sidecar的启动依赖问题以及几种解决方案。


  • 本文将介绍用户从 Spring Cloud,Dubbo 等传统微服务框架迁移到 Istio 服务网格时的一些经验,以及在使用 Istio 过程中可能遇到的一些常见问题的解决方法。

  • 本文将为大家分析应用容器对Envoy sidecar的启动依赖问题以及几种解决方案。