Istio:用于微服务的服务啮合层

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介:
 Google、IBM和Lyft开源了微服务管理、保护和监控框架Istio。Istio为希腊语,意思是“启航”。

微服务简化了开发,它将创建复杂系统的任务切分为数十乃至上百个小服务,这些小服务易于被小型的软件工程师团队所理解和修改。但是微服务并未真正地消除复杂性,而是将复杂性迁移到对大量服务的连接、管理和监控上。其中涉及对上百个服务的管理、处理部署问题、版本控制、安全、故障转移、策略执行、遥测和监控等,实现它们并非易事。Istio力图去解决这些问题。

按Google的提法,Istio是“架构的一层,处于服务和网络间”,它“通常连同服务部署一起,统称为服务啮合层(Service Mesh)”。在Istio网站上,详细解释了“服务啮合层”这一概念:

如果我们可以在架构中的服务和网络间透明地注入一层,那么该层将赋予操作人员对所需功能的控制,同时将开发人员从编码实现分布式系统问题中解放出来。通常将该统一的架构层与服务部署一起,统称为一个“服务啮合层”。由于微服务有助于分离各个特性团队(Feature Team),因此服务啮合层有助于将操作人员从应用特性开发和发布过程中分离出来。通过系统地注入代理到微服务间的网络路径中,Istio将迥异的微服务转变成一个集成的服务啮合层。

Istio可在任何云上或私有的环境中运行。虽然首个测试版(即0.1版)是运行于Kubernetes上的,但并非必须如此。Istio的主要特性包括:

HTTP、gRPC和TCP网络流量的自动负载均衡; 提供了丰富的路由规则,实现细粒度的网络流量行为控制; 流量加密、服务间认证,以及强身份声明; 全范围(Fleet-wide)策略执行; 深度遥测和报告。

Istio的底层使用了Envoy。Envoy是Lyft于去年九月份开源的一种服务代理和通信总线,已用于生产系统中,“管理了上万台虚拟机间的一百多个服务,每秒可处理近两百万次请求”。在近期的GlueCon 2017大会上,来自IBM的Shriram Rajagopalan和来自Google的Louis Ryan介绍了Istio的技术细节(PDF)。下图给出了系统的高层图解:

20170531113444446.png

Envoy实现了过滤和路由、服务发现、健康检查,提供了具有弹性的负载均衡。它在安全上支持TLS,在通信方面支持gRPC,支持MongoDB和DynamoDB分析器对数据库访问统计信息的采集,以及更多功能。Envoy用C++ 11编写实现,并测试了使用C++、Go、Java、PHP和Python编写的微服务,也支持使用其它的语言。Istio还实现了应用和网络的监控,可在Prometheus和Grafana中查看。Istio还可以集成Zipkin,对延迟问题进行诊断。

Istio支持团队计划将其与Google Cloud Endpoints和Apigee集成。此外,Red Hat、Pivotal、Weaveworks、Tigera和Datawire也有兴趣将自身的产品与Istio集成。在Istio的路线图中,给出了未来将提供功能的更多细节。Istio 1.0版计划于今年下半年发布。



本文转自d1net(转载)

相关文章
|
22天前
|
Java API 微服务
【Spring Boot系列】通过OpenAPI规范构建微服务服务接口
【4月更文挑战第5天】通过OpenAPI接口构建Spring Boot服务RestAPI接口
|
2月前
|
消息中间件 监控 API
在Python中如何实现微服务架构,及相关的服务间通信方案?
Python微服务架构涉及服务划分、注册发现、通信协议选择(如HTTP、gRPC、消息队列)及服务间通信实现。每个服务应自治,有独立数据库和部署流程,并需考虑容错(如分布式事务、重试、熔断)和监控日志。API网关用于请求管理和路由。实际操作需根据需求和技术栈调整,并关注服务拆分和数据一致性。
24 5
|
2月前
|
监控 持续交付 开发者
深入探讨后端服务的微服务架构设计与实践
【2月更文挑战第10天】随着互联网应用的不断发展,微服务架构作为一种灵活、高效的解决方案在后端服务开发中备受关注。本文将深入探讨微服务架构设计与实践,从服务拆分、通信机制到部署管理等方面进行详细剖析,旨在帮助开发者更好地理解和运用微服务架构。
|
2月前
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
117 0
|
10天前
|
负载均衡 Java API
构建高效微服务架构:API网关与服务熔断策略
【5月更文挑战第2天】 在微服务架构中,确保系统的高可用性与灵活性是至关重要的。本文将深入探讨如何通过实施有效的API网关和设计合理的服务熔断机制来提升分布式系统的鲁棒性。我们将分析API网关的核心职责,包括请求路由、负载均衡、认证授权以及限流控制,并讨论如何利用熔断器模式防止故障传播,维护系统的整体稳定性。文章还将介绍一些实用的技术和工具,如Netflix Zuul、Spring Cloud Gateway以及Hystrix,以帮助开发者构建一个可靠且高效的微服务环境。
|
14天前
|
敏捷开发 运维 监控
【专栏】微服务架构,以敏捷、灵活著称,通过拆分大型应用为小型自治服务,简化开发运维
【4月更文挑战第27天】微服务架构,以敏捷、灵活著称,通过拆分大型应用为小型自治服务,简化开发运维。本文探讨其基本概念、起源,核心优势(如敏捷开发、高可伸缩性)及挑战(系统复杂度、数据一致性),并分享实施策略(服务划分、技术选型、CI/CD)与实践案例(Netflix、Uber、Spotify),展示微服务如何重塑软件开发,并成为未来复杂应用系统的基础。
|
16天前
|
Java 数据安全/隐私保护 Sentinel
微服务学习 | Spring Cloud 中使用 Sentinel 实现服务限流
微服务学习 | Spring Cloud 中使用 Sentinel 实现服务限流
|
23天前
|
运维 监控 Cloud Native
江帅帅:一盏茶的时间初探网格服务架构 Istio
江帅帅:一盏茶的时间初探网格服务架构 Istio
24 0
|
29天前
|
监控 Sentinel 微服务
微服务的防御之道:服务雪崩、服务熔断、服务降级
微服务的防御之道:服务雪崩、服务熔断、服务降级
25 1
|
2月前
|
自然语言处理 运维 Cloud Native
云原生技术专题 | 探索云原生化的服务架构体系的技术风向,攻克云原生化微服务架构的痛点和特性
云原生技术专题 | 探索云原生化的服务架构体系的技术风向,攻克云原生化微服务架构的痛点和特性
47 0