内容简介:微服务并不像过去那样新鲜和热,这绝对是一件好事。因为我们已经发展到基于Kubernetes,Openshift和其他各种集装箱管理系统的稳定可靠的领先地步,而不是生活在前沿集装箱平台的时代。现在,基于这些容器编排提供了很多核心功能,如负载平衡,服务发现和安全性,这就是在基础架构上创建所谓的服务网格。服务网格使分布式系统的核心功能(如服务之间的通信)更易于配置和管理。所有应用程序所需的通用网络功能集(例如处理超时,重试,速率限制,路由和负载平衡)都可以集中处理,因此每个应用程序无需单独处理这些难题。
微服务并不像过去那样新鲜和热,这绝对是一件好事。因为我们已经发展到基于Kubernetes,Openshift和其他各种集装箱管理系统的稳定可靠的领先地步,而不是生活在前沿集装箱平台的时代。现在,基于这些容器编排提供了很多核心功能,如负载平衡,服务发现和安全性,这就是在基础架构上创建所谓的服务网格。
Istio 就是这样的一个服务网络产品,它是仅次于谷歌Kubernetes的开源贡献。将Istio称为热门话题是轻描淡写的。
Istio是控制面板,Envoy是数据面板
服务网格使分布式系统的核心功能(如服务之间的通信)更易于配置和管理。所有应用程序所需的通用网络功能集(例如处理超时,重试,速率限制,路由和负载平衡)都可以集中处理,因此每个应用程序无需单独处理这些难题。
这有助于保持业务逻辑分离,因此开发人员可以专注于使用户满意,而不必担心堆栈的较低层。Istio通过Envoy提供这套解决方案,数据面板处理服务网格中的所有流量,以及构成管理策略和配置的控制面板的少数应用程序,即:
- Pilot - 流量管制 俗称飞行员
- Mixer - 后端集成
- Citadel - 身份验证和授权
- Galley - 配置验证
Envoy微服务代理
Envoy是一个代理,类似于HAProxy和Nginx,但专为微服务架构而设计。具有以下功能:
- 动态重新配置/热重启
- 分阶段/金丝雀部署
- 高级负载平衡
- 请求路由
- 健康检查
- 分布式跟踪
Envoy管理内部和外部服务通信的所有路由要求,外部服务连接受益于故障恢复功能,例如超时,重试和断路器。Envoy被部署为应用程序pod中的sidecar容器,并通过gRPC从Istio控制面板接收其所有配置。
进出应用程序的数据包被Envoy使用iptables拦截,这允许强大的路由控制和流量可见性,提供详细的指标。Envoy旨在简化高度分布式,面向服务架构中的网络和可观察性的困难。高性能和低延迟是任何有价值的代理的基本特征,因此使用C ++编写Envoy是完全合理的。
通过Pilot和Mixer进行流量控制和遥测
Mixer和Pilot是利用Istio服务网格最重要特征所不可或缺的,即:流量管理和遥测处理。
Pilot
Envoy侧面车从Pilot接收策略以执行规则,例如允许服务A与服务B通话,但不允许服务A与服务C通话.Pilot提供请求路由和负载平衡的配置设置,以支持分阶段发布,蓝/绿部署和A / B测试。
由Pilot管理的路由规则允许Envoy根据分配给每个版本的HTTP标头和权重等条件选择指定的APP版本。
来自底层集群基础设施比如k8s的服务注册表通过Pilot 发送到 Envoy 边车共享给整个服务网格,用于动态服务发现。也就是说,Istio不负责服务注册,服务注册到K8s中,这样避免了服务注册的单点风险。
Mixer
Mixer有一组支持的适配器,它与Prometheus和Stackdriver等基础设施后端对话,以处理和存储指标,跟踪和记录。Envoy将遥测数据发送到Mixer,然后Mixer将这些值发送到配置的后端。
总结
在没有像Istio这样的服务网格的情况下管理分阶段部署和应用程序版本并非易事。Envoy和Istio控制面板组件通过编码请求路由配置,并将该控制权交给开发人员来支持组织的DevOps计划。
Istio网格的另一个重要特性是您无需安装或使用所有组件。我们建议利用Istio的跟踪功能来可视化流量在您的服务和网络之间流动的方式。这是开始使用Istio的完美方式,因为它可以快速轻松地进行配置,并且无需更改您的微服务即可开始受益于此遥测。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 精彩的无服务器时代:不仅有服务网格,还有事件网格
- 服务网格重蹈ESB的覆辙?为什么需要SMI服务网格接口? - samnewman
- 容器、微服务和服务网格简史
- 服务网格如何辅助微服务管理
- 服务网格:微服务的下半场
- 在服务网格内部调用外部 TCP 服务
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
R语言实战(第2版)
[美] Robert I. Kabacoff / 王小宁、刘撷芯、黄俊文等 / 人民邮电出版社 / 2016-5 / 99.00元
本书注重实用性,是一本全面而细致的R指南,高度概括了该软件和它的强大功能,展示了使用的统计示例,且对于难以用传统方法处理的凌乱、不完整和非正态的数据给出了优雅的处理方法。作者不仅仅探讨统计分析,还阐述了大量探索和展示数据的图形功能。新版做了大量更新和修正,新增了近200页内容,介绍数据挖掘、预测性分析和高级编程。一起来看看 《R语言实战(第2版)》 这本书的介绍吧!