what is Istio?

Learn how a service mesh can help to manage your microservice deployments.

One of the key metrics or performance indicator of a microservices software architecture and environment is lead time (the amount of time it takes to get from idea to production). Many things have an impact on lead time, such as decision-making time, how quickly the code can be implemented, testing, continuous integration, etc.

介绍Istio

Istio  是创建和管理微服务时所需的特性和功能的边车容器实现。监控,跟踪,断路器,路由,负载平衡,故障注入,重试,超时,镜像,访问控制,速率限制等都是其中的一部分。虽然现在所有这些特性和功能都可以通过在代码中使用大量库来实现,但Istio与众不同之处在于,您可以在不更改源代码的情况下获得这些优势。

通过使用边车模型,Istio在您的Kubernetes吊舱中的Linux容器中运行(非常类似于摩托车旁边的侧车)并根据您的配置注入和提取功能和信息。再次(强调),这是您的代码之外的配置。这立即减少了代码复杂性和重量。

它(也很重要)将操作方面从代码开发转移到操作领域。为什么开发人员要承受断路器和故障注入的负担?他们应该对它们做出回应吗?是的,但是要处理和/或创建它们?从代码中解脱出来,让代码专注于底层业务领域。使代码更小,更简单

服务网

Istio在源代码之外运行的功能引入了Service Mesh的概念。这是由一个或多个二进制文件组成的协调组,构成网络功能的网格。如果您还没有,那么在接下来的几个月里,您将会听到很多关于Service Mesh的消息。

快速概述

这是一个30,000英尺的视图,了解一个边车容器如何与  Kubernetes  和  Minishift一起工作:一旦你开始你的Minishift实例,你就为Istio创建了一个项目(我们称之为“istio-system”),然后安装并启动所有与Istio相关的组件。从那里,当您创建项目和窗格时,您将配置信息添加到部署中,并且您的窗格将使用Istio。下图是一个简单的概述。

在此之后,您可以开始更改Istio设置以调用故障注入或支持  Canary部署或Istio支持的任何其他内容 - 所有这些都不会触及您的应用程序源代码。

例如,假设您要将来自最大客户(Foo Corporation)的用户的所有网络流量定向到您网站的新版本。您可以通过创建一个在其用户ID中搜索@ foocorporation.com并正确指导它们的Istio路径规则来决定这样做。对世界其他地方而言,这是透明的。同时,您可以测试新软件。这不需要开发人员才能实现。

这个很贵吗?

不,Istio非常快。它是用Go编写的,   为您的系统增加了很小的开销。此外,您应该通过提高开发人员的效率和速度来支付在线性能可能会失去的成本。至少这是理论。不要忽视开发人员很贵的事实。

至于软件,Istio是开源的,所以你可以抓住它并立即开始使用它。

自己做

想亲眼看看?红帽开发人员体验团队开发了一个深入的实践  教程  ,您可以使用它来了解有关Istio的更多信息。它支持Linux,macOS和Windows,代码为Java或Node.js.

学到更多

除了这个快速介绍之外,我们还创建了更多更深入的有关Istio的信息,包括有关断路器,路由规则,跟踪和监控等的帖子。查看完整系列:

https://opensource.com/article/18/9/what-istio

猜你喜欢

转载自www.cnblogs.com/springcloud/p/9691674.html