Istio为用户提供基于微服务的流量治理能力.Istio允许用户按照标准制定一套流量分发规则,并且无侵入的下发到实例中,平滑稳定的实现灰度发布功能. 基于华为云的Istio服务网格技术,使得灰度发布全流程自动化管理: • 灰度版本一键部署,流量切换一键生效 • 配置式灰度策略,支持流量比例.请求内容(Cookie.OS.浏览器等).源IP • 一站式健康.性能.流量监控,实现灰度发布过程量化.智能化.可视化 Istio服务网格为应用治理提供的灰度发布功能,稳定高效地推动企业应用的迭代升级.用户无…
在之前的最佳实践中,已经带大家通过一系列的实践任务领略了Istio的无穷魅力.今天,将向大家介绍如何用Istio实现流量熔断. 熔断机制是创建弹性微服务应用程序的重要模式.熔断可以帮助您自由控制故障影响的范围.网络延迟的峰值以及抵御其他一些来自外部的恶意攻击等场景. 在接下来的任务中,idou老师将通过配置一个熔断器来详细介绍如何在Istio中实现熔断,以及背后的原理. 首先,我们需要添加一个应用程序来模拟访问网络中的通信.接着我们按照前面Istio实践中所要求的将Sidecar注入进应用中,然…
在前面的文章中,大家都已经熟悉了Istio的故障注入和流量迁移.这两个方面的功能都是Istio流量治理的一部分.今天将继续带大家了解Istio的另一项功能,关于请求超时的管理. 首先我们可以通过一个简单的Bookinfo的微服务应用程序来动手实践一下Istio是如何实现请求超时的管理.看过idou老师前面文章的老司机应该都已经对Bookinfo这个实例驾轻就熟了,当然还存在部分被idou老师的文采刚吸引过来的新同学. 下面先简单的介绍一下Bookinfo这个样例应用整体架构,以便我们更好地理解I…
大家都知道istio可以帮助我们实现灰度发布.流量监控.流量治理等功能.每一个功能都帮助我们在不同场景中实现不同的业务.那Istio是如何帮助我们实现监控和日志采集的呢? 这里我们依然以Bookinfo应用程序作为贯穿此任务的示例程序.首先在集群中安装并部署Istio. 1  收集遥测数据 创建一个新的YAML文件,用来保存Istio将自动生成和收集的新度量标准和日志流的配置.如下图所示: 通过命令$ kubectl apply -f new_telemetry.yaml推送刚刚配置的YAML文…
大家都知道istio可以帮助我们实现灰度发布.流量监控.流量治理等功能.每一个功能都帮助我们在不同场景中实现不同的业务.那Istio是如何帮助我们实现监控和日志采集的呢? 这里我们依然以Bookinfo应用程序作为贯穿此任务的示例程序.首先在集群中安装并部署Istio. 1 收集遥测数据 创建一个新的YAML文件,用来保存Istio将自动生成和收集的新度量标准和日志流的配置.如下图所示: 通过命令$ kubectl apply -f new_telemetry.yaml推送刚刚配置的YAML文件…
大家都知道istio可以帮助我们实现灰度发布.流量监控.流量治理等一些功能. 每一个功能都帮助我们在不同场景中实现不同的业务.那么其中比如流量监控这种复杂的功能Istio是如何让我们在不同的应用中实现呢? 因篇幅所限,我们今天重点介绍Istio里面实现这些功能的关键技术--调用链跟踪. 虽然 Istio 代理能够自动发送 Span 信息,但还是需要一些辅助手段来把整个跟踪过程统一起来.应用程序应该自行传播跟踪相关的 HTTP Header,这样在代理发送 Span 信息的时候,才能正确的把同一个…
Istio的性能问题一直是国内外相关厂商关注的重点,Istio对于数据面应用请求时延的影响更是备受关注,而以现在Istio官方与相关厂商的性能测试结果来看,四位数的qps显然远远不能满足应用于生产的要求.从发布以来,Istio官方也在不断的对其性能进行优化增强.同时,Istio控制面的可靠性是Istio用于生产的另一项重要考量标准,自动伸缩扩容,自然是可靠性保证的重要手段.下面我们先从性能测试的角度入手,了解下Istio官方提供的性能测试方法与基准,主要分为以下四个方面展开. 一.函数级别测试…
之前,已为大家介绍过 Istio 第一主打功能---连接服务. 凡是产生连接关系,就必定带来安全问题,人类社会如此,服务网格世界,亦是如此. 今天,我们就来谈谈Istio第二主打功能---保护服务. 那么,便引出3个问题: Istio 凭什么保护服务? Istio 具体如何保护服务? 如何告诉 Istio 发挥保护能力? Istio凭什么保护服务? 将单体应用程序分解为一个个服务,为大型软件系统的开发和维护带来了诸多好处,比如更好的灵活性.可伸缩性和可复用性.但这也带来了一些安全问题: 为了抵御…
使用 Istio 可以很方便地实现速率限制.本文介绍了速率限制的使用场景,使用 memquota\redisquota adapter 实现速率限制的方法,通过配置 rule 实现有条件的速率限制,以及速率限制的原理. 1 使用场景 在许多场景下都需要对服务进行速率限制. 一种常见的场景是防止来自外部服务的过度调用(如爬虫). 另一种常见的场景是调用某些收费的外部服务,但是提供了免费配额,可以使用速率限制确保只使用免费的配额. 2  环境准备 在 Kubernetes 集群上部署 Istio 部…
使用 Istio 可以很方便地实现速率限制.本文介绍了速率限制的使用场景,使用 memquota\redisquota adapter 实现速率限制的方法,通过配置 rule 实现有条件的速率限制,以及速率限制的原理. 1 使用场景 在许多场景下都需要对服务进行速率限制. 一种常见的场景是防止来自外部服务的过度调用(如爬虫). 另一种常见的场景是调用某些收费的外部服务,但是提供了免费配额,可以使用速率限制确保只使用免费的配额. 2 环境准备 在 Kubernetes 集群上部署 Istio 部署…