微服务网格istio
-
微服务网格的作用,是在构成应用程序的微服务网络和应用之间实现交互,服务网格的功能包括服务发现、负载均衡、故障恢复、指标和监控以及更加复杂的运维工作,例如A/B测试、金丝雀发布、限流、访问控制和端到端身份验证等。
微服务是用于构建应用程序的架构风格,一个大的系统可由一个或者多个微服务组成,微服务架构能够将应用拆分成多个不同的核心功能,其中每一个功能都被称为是一项服务,它们能够单独构建和部署,这就意味着各项服务在工作时、或者出现故障的时候不会相互影响,简单来说,微服务架构是把一个大的系统按照不同的业务单元分解成多个职责单一的小系统,并利用简单的方法使多个小系统相互协作,组合成一个大系统,各个小的系统是独立部署的,它们之间是松耦合的。
istio是一个能够起到连接、管理和保护微服务作用的的开源的服务网格,更重要的是istio解决了开发人员和运维人员从部署单个应用程序走向分布式微服务架构过渡的难题,istio作为微服务网格中的大头,它提供了很多超强的能力,其中最优秀的能力莫过于洞察和操作控制微服务网格的能力,并且它提供了完整的解决方案来满足微服务应用程序的各种要求,从较高的层面来说,istio有助于降低这些部署的复杂性,并减轻开发和运维团队的压力,istio它也是一个平台,可以集成任何日志、遥测和策略系统等API接口,istio多样化的特性使大家能够成功且高效地运行分布式微服务架构,并提供保护、连接和监控微服务的统一方法,istio目前仅支持在Kubernetes上部署,未来版本中将支持其他环境。
为什么要使用它呢?通过负载均衡、服务间的身份验证、监控等方法,istio可以轻松地创建一个已经部署了服务的网络,而服务的代码只需很少更改甚至无需更改,通过在整个环境中部署一个特殊的sidecar代理为服务添加istio的支持,而代理会拦截微服务之间的所有网络通信,然后使用其控制平面的功能来配置和管理istio,这包括:为 HTTP、gRPC、WebSocket和TCP流量自动负载均衡。
可以通过丰富的路由规则、重试、故障转移和故障注入对流量等操作进行细粒度控制。具有可插拔的策略层和配置API,支持访问控制、速率限制和配额。
在集群内所有流量的自动化度量、日志记录和追踪。它基于强大的身份验证和授权,并集群中实现安全的服务间通信。
istio的核心特性在于Istio以统一的方式提供了许多跨服务网络的关键功能。流量管理: istio简单的规则配置和流量路由允许你控制服务之间的流量和API调用过程。istio简化了服务级属性(如熔断器、超时和重试)的配置,并且能够让它很轻松的解决各个难题。拥有对流量的可视性、开箱即用的故障恢复特性,这样就可以在问题产生之前捕获它们,无论面对什么情况都可以使调用更可靠,网络更健壮。
安全:真正解放开发人员的是安全性这一特点,istio的安全性使得开发人员有更多的精力和时间去专注于其应用程序级别的安全。不仅如此,istio还提供了一个底层安全通信通道,并且大规模的为服务通信进行管理认证、授权和加密。拥有了istio,就代表你的服务通信在默认情况下都是可以受保护的,能够让你在跨不同协议和运行时的情况下实施统一的策略,而所有这些都只需要极少的去修改应用程序,更甚至不需要进行修改应用程序。并且istio是独立于平台的,它能够与Kubernetes的网络策略同时使用。只不过istio是更加的强大的,它能够在网络和应用等不同的层面保护pod到pod、服务到服务之间的通信。
西南地区IT社群(QQ)
- 云南
- 【昆明网页设计交流吧】243627302
- 【昆明nodejs交流吧】 243626749
- 【VUE】838405306
- 【云南程序员总群】343606807
- 【昆明UI设计】104031254
- 【云南软件外包】15547313
- 贵州
- 【PHP/java源码/站长交流群】55692114
- 四川
- 【成都Java/JavaWeb交流】86669225
- 【vaScript+PHP+MySql】116270060
- 【UI设计/设计交流学习群】135794928
- 重庆
- 【诺基亚 JAVA游戏博物馆】 559479780
- 【PHP,Java,Python,C++接单】 442103442
- 西藏