【大咖分享】AI 大模型时代,架构师有哪些机遇和挑战? 了解详情
写点什么

Istio:一个用于微服务间通信的服务网格开源项目

  • 2017-05-30
  • 本文字数:1151 字

    阅读完需:约 4 分钟

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)。下图给出了系统的高层图解:

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 版计划于今年下半年发布。

查看英文原文: Istio: A Service Mesh for Microservices

2017-05-30 19:0013240
用户头像

发布了 227 篇内容, 共 68.9 次阅读, 收获喜欢 26 次。

关注

评论

发布
暂无评论
发现更多内容

Java多线程:从基本概念到避坑指南

Java 架构 后端 JVM 计算机

TDSQL演进三部曲

腾讯云数据库

tdsql #数据库

求阿里大神整理的分布式核心笔记出炉了,GitHub刚发布就标星85k

Java~~~

Java 负载均衡 架构 面试 分布式

三顾茅庐,七面阿里,25k*16offer,还原我的大厂面经

Java 程序员 面试 后端 计算机

腾讯云数据库TDSQL:分布式数据库,你真的了解吗?

腾讯云数据库

数据库 tdsql

在职字节师兄分享出了这份数据结构手册,LeetCode现已开放下载

Java~~~

Java 架构 面试 算法 刷题

让GitHub炸锅的深入理解MySQL实战手册,竟出自阿里云“藏经阁”

Java~~~

Java MySQL 数据库 架构 面试

如何实现 Android 短视频跨页面的流畅续播?

阿里云视频云

android App 音视频 Video播放器 APP开发

实时消息RTM| 多活架构中的数据一致性问题

anyRTC开发者

音视频 WebRTC 数据一致性 实时消息 数据容灾

33张图解析ReentrantReadWriteLock源码

程序猿阿星

源码分析 读写锁 ReentrantReadWriteLock 源码解读

TDSQL云时代,我们需要怎样的数据库?

腾讯云数据库

数据库 tdsql

Github星标百万!终于有人将Spring技术精髓收录成册

Java 编程 程序员 架构 面试

从动物科学到乐队鼓手,腾讯技术小哥的开源人生

腾源会

腾讯云 开源

有人在恶意提权吗?

BUG侦探

Linux 主机安全 提权

操作系统的IO模型

Java 程序员 架构 操作系统 计算机

爆赞!GitHub上首本IntelliJ IDEA操作手册,标星果然百万名不虚传

Java~~~

Java 架构 面试 IDEA 架构师

GitHub经典教材!阿里P8的这份SpringBoot精髓到底厉害在哪里?

Java~~~

Java 架构 面试 微服务 Spring Boot

不吹不黑!阿里新产微服务架构进阶笔记我粉了!理论实战齐飞

Java 程序员 架构 面试 微服务

写了一年golang,来聊聊进程、线程与协程

捉虫大师

线程 进程 协程 Go 语言

26岁!月薪38k,全靠这份GitHub百万下载的阿里P5-P9知识核心手册

Java~~~

Java 架构 面试 微服务 多线程

出自清华大神之手的JVM实战手册,刚上架GitHub点赞就达到85k

Java~~~

Java 架构 面试 JVM 多线程

Alibaba新产!Spring+SpringBoot+SpringCloud全家桶进阶小册

Java~~~

Java spring 架构 面试 Spring Boot

滴滴最看重的SpringCloud手册曾被疯狂转载,现在学还有用吗?

Java~~~

Java 架构 面试 微服务 Spring Cloud

Alibaba内部的10w字Java高频面试手册遭人恶意在牛客网开源下载?

Java~~~

Java 架构 面试 JVM 多线程

GitOps系列|云原生时代,你还不懂GitOps?

极狐GitLab

security CI/CD gitops

实战 实时物体检测YOLOv3 CNN卷积神经网络John 易筋 ARTS 打卡 Week 63

John(易筋)

ARTS 打卡计划

一文详述如何卸载SQL Server 2019及其 DBMS

Regan Yue

数据库 SQL语言 9月日更

实用?HUAWEI高工总结出15W字的图解计算机操作系统指南手册

Java~~~

Java 架构 面试 TCP 网络协议

清华大牛带领20位大厂专家耗时三年整理出这份2000页Java进阶指南

Java~~~

Java 架构 面试 微服务 多线程

在FL Studio中如何使用混音器的效果

懒得勤快

GitHub上火了这份堪称神级的SpringBoot手册,竟出自滴滴之手

Java~~~

Java spring 架构 面试 Spring Boot

  • 扫码加入 InfoQ 开发者交流群
Istio:一个用于微服务间通信的服务网格开源项目_开源_Abel Avram_InfoQ精选文章