写点什么

微服务守护神 Istio:关于 1.0 版本以及性能优化

  • 2018-04-17
  • 本文字数:2700 字

    阅读完需:约 9 分钟

Istio 是 Google/IBM/Lyft 联合开发的开源项目,2017 年 5 月发布第一个 release 0.1.0,官方定义 Istio 是一个连接、管理和保护微服务的开放平台。在越来越多的企业和项目实践微服务的环境下,Istio 也正在逐渐被采纳使用。但是很多开发者对于 Istio 的版本迭代和性能提升很感兴趣。

为了让读者更多的了解 Istio,7 月 6-9 日, ArchSummit 全球架构师峰会将在深圳华侨城洲际酒店举行。大会设置了《微服务架构》专题来深入当前关注度较高的 Istio、Conduit、Service Mesh 等在一线企业的技术和精进案例,其中邀请了IBM 高级技术委员会成员 Lin Sun 前来分享《Istio- 构造、守护、监控微服务的守护神》

我们借此机会邀请了敖小剑老师采访Lin Sun 老师,以下是对话内容,经过简单整理。如果读者想了解更多 Service-Mesh 如何帮助微服务过渡及 Istio 项目的进展和生态效果等,欢迎报名参加 ArchSummit 与 Lin Sun 老师进一步交流。

Disclaimer: below is personal view point, especialy anything related to timing.

InfoQ:我们看到本月 Istio 如期发布了 0.7 版本,从 Release Note 中看到,0.7 版本专注于改进构建和测试,修复了很多 bug,但是并没有提供新的特性。我的问题是:这是否代表着 Istio 的功能集已经趋近稳定?或者说,在 1.0 版本之前,RoadMap 上是不是已经没有大的重量级的新特性?

Lin Sun:对,Istio 0.7.1 版本主要是提升稳定性。现在 Istio 最大的的一块变动是故障管理。我们打算在 0.8 版本推出全新的 v1alpha3 故障管理规则和 Gateway,并且支持 Envoy v2。0.8 版本是维一的一个 Istio 版本支持老的和新的故障管理规则。我们希望用户们可以通过这个新版本的发布移到新的规则上。

InfoQ:之所以特别关心新特性,是因为我们觉得 Istio 的特性已经很多且很强大,但是稳定性不足。社区更希望尽快得到一个 Production Ready 的可用版本。我和社区所有人最关心的问题:1.0 版本何时发布?

Lin Sun:很可能今年夏天。当然 Istio 是个开源社区项目,时间上会受各方面的影响。

InfoQ:Istio 从去年 5 月开源,至今接近一年时间,期间我们看到几乎没有生产级的应用案例。请问,目前阻碍 Istio 上生产的最大障碍在哪里?

Lin Sun:现在有几个用户在使用 Istio, 比如说 Namely 最近在 Istio 的用户会上向大家介绍了他们怎么在生产环境里用 Istio 的。Istio 有很多功能,用户可以在初期先用一个功能,然后再慢慢加上别的功能。

InfoQ:我们看到 Istio 最近引入了 LTS (long term support) 的概念,能否给我们解释一下 LTS 的具体运作方式?

Lin Sun:LTS 是 Istio 技术管理委员会推出来的概念。一般来讲,LTS 本意是这个版本相对稳定,经过验证的,Istio 社区也会支持得久一些。如果用户发现严重问题,Istio 社区会尽量修复。

InfoQ:最近的 0.6 和 0.7 版本都只是常规的 Monthly Release,都不是 LTS。然后我们看到 5 月份的 0.8 版本将会成为(第一个?)LTS 版本,能否透露一下 0.8 版本除了继续 bugfix 和性能改进外,还会有哪些重要的内容?

Lin Sun:第一个 LTS 是 0.2。 0.8 是第二个 LTS,可能五月份。主要的新功能就是新的故障管理规则,Gateway 和 Envoy v2 以及其他一些功能的提升和改进。

InfoQ:0.8 版本之后,1.0 版本之前,还会有其他的 LTS 版本吗?

Lin Sun:很有可能会以月为单位来发布,中间可能不会再有 LTS 版本了。

InfoQ:看到近期几个版本都在做性能提升,能否介绍一下最近具体完成了哪些大的改进?

Lin Sun:除了前面说的功能之外,还有一些安全方面的功能,比如每个服务 mTLS 启动或者不启动、可插拔 CA、灵活的 TLS 配置,也会有 Envoy 习惯过滤器的支持,通过用户写一个 pilot webhook 来提供用户自定义的 Envoy 过滤器。此外还有增量采用 Istio,初始多集群支持,Mixer 性能提升,以上只是其中一部分

InfoQ:以及后续性能提升的重点在哪里?目前社区反馈,Istio 的性能还是不够理想,诸如启动速度,运行时性能,资源占用等。

Lin Sun:是的,我们知道大家想了解的问题。0.8 版本后主要的关注会在稳定性上,包括性能,连续性测试(long run test),更多 e-2-e 自动化测试,包括来自 Istio.io 的不同任务和指引,而这些也都是 Istio 的核心功能。

InfoQ:关于流量接管,我们觉得通过 Iptables 做流量劫持稍显粗暴,Istio 后续会不会规划其他的方式?

Lin Sun:1.0 后有可能,具体看用户提供的要求和用户案例。据目前看来,还没多个用户说这个会阻碍 Istio 的使用,这一部份是通过 init 容器做的,如果有更好的想法,欢迎试着把这个换成别的方法,并且向 Istio 社区提出这样的方案和样品。

InfoQ:关于扩展性,Istio 是否容许对 Envoy 进行扩展,比如类似 Nginx 那样支持 Lua 脚本,这样方便实现各种定制化需求。

Lin Sun:现在 Istio 已经支持 pilot webhook,用户可已通过 pilot webhook 来进行特别的 Envoy 配置。Istio 社区也打算提出更简单好用的对 Envoy 过滤器的支持。

InfoQ:我们觉得 Istio 和云平台会是一个很好的搭档,也看到 Google 的 Google Kubernetes Engine 提供了 Istio 的支持,但是国内几个公有云都未见有支持 Istio 的举动。想了解 Istio 后续是否会和国内几大公有云合作,直接部署 Istio 作为基础服务提供给客户?

Lin Sun:这要看中国国内的几个公有云了,只要他们支持 K8s, 而且能通过 K8s 一致性测试,用户都可以自己安装 Istio。我个人觉得他们很可能会在 Istio 1.0 后开始支持 Istio,因为这样会给客户带来更大的可移植性。Istio 社区也欢迎他们能来做贡献。

InfoQ:在去年年底,我们组建了 Service Mesh 中国社区,追踪 Service Mesh 技术的最新动态。而 Istio 是我们关注的重点,在 1.0 版本即将到来之际,我们殷切的希望 Istio 官方可以组织 Istio 的开发者为我们做深入介绍和讲解。请问在 2018 年 Istio 在这方面有什么样的安排?

Lin Sun:Istio 社区有指导委员会,这个可以向社区指导委员会提出要求。指导委员会对 Istio 项目有控制管理权,市场推广等权利。我现在是指导委员会成员,也可以通过我向委员会提出要求。

感谢 Lin Sun 老师接受采访,期待您在 ArchSummit 深圳站的分享:《Istio- 构造、守护、监控微服务的守护神》更多 ArchSummit的分享及培训内容可戳此了解,目前大会 8 折优惠即将结束,如在报名过程中遇到任何问题,随时联系小助手豆包(微信:aschina666),或直接致电:010-84780850。

嘉宾介绍:

Lin Sun:IBM Senior Technical Staff Member
Lin 是 Istio 项目的核心贡献者和维护者,对于新技术有很浓厚的热情,并且愿意投身其中,同时也是一个技术能力很强的发明者,目前拥有 100 多个包括待批的专利,并且在 IP.com 网站上发布上百篇文章。

2018-04-17 06:005758
用户头像

发布了 38 篇内容, 共 21.2 次阅读, 收获喜欢 185 次。

关注

评论

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

当前的经济形势,如何让自己免于风险?

鼎玉谷

如何扩大我们的英语词汇量

董一凡

学习

放假了,你还会打开钉钉么?

Geek_6rptuk

高效工作 团队管理 企业文化 个人成长 技术管理

探寻融云多年领先的秘密:不断创新贴近开发者真实需求

DT极客

前端开发的瓶颈与未来之路

keelii

node.js typescript ruby-on-rails 编程 大前端

【Howe 学 JAVA】Java 类集框架2——Set 集合

Howe

Java 集合 set

C语言常量、变量和关键字

C语言技术网-码农有道

C语言 常量 变量 关键字

“随大流”的你是不会成功的

小天同学

个人成长 思考 写作平台 感悟 坚持

《Linux就该这么学》笔记(一)

编程随想曲

Linux

游戏夜读 | 游戏设计需要天赋?

game1night

Using R for everything: 方差分解(Variation partition)变量筛选与显著性标注

洗衣机用户不会用洗衣机

数据分析 R

保险知识梳理

魁拔

保险 生活质量

深入理解MDL元数据锁

Simon

MySQL

物联网资产整合架构

老任物联网杂谈

物联网架构

C语言运算符

C语言技术网-码农有道

C语言 运算符

高仿瑞幸小程序 06 layout布局

曾伟@喵先森

小程序 微信小程序 大前端

Python网络编程socket 简易聊天窗

Flychen

C语言输入和输出

C语言技术网-码农有道

C语言 输入 输出

OceanBase原理与实现分析

ElvinYang

对话 CTO | 喜茶也有 CTO?听陈霈霖讲讲茶饮中的技术甜度

ONES 王颖奇

研发管理 CTO 零售

对话 CTO | 听快看漫画 CTO 李润超讲重塑漫画产业的技术推动力

ONES 王颖奇

研发管理 CTO 动画 文化

面试官竟然一直和我聊线程的启动和终止

Simon郎

Java 大数据 后端 多线程

自助设备系列——技术应用

孙苏勇

产品 行业资讯 智能设备

给应届毕业生们的七点建议

Neco.W

大学生日常 工作 应届毕业

办公人员的 python 妙用——抽签结果提取

小匚

Python 远程办公

每个人都应该知道的性能参数

ElvinYang

你还在这样使用MYSQL吗?

Geek_6rptuk

MySQL 数据库 数据库规范 数据库设计

工具集系列 02|还在为海报设计、LOGO 设计发愁?这些在线工具值得收藏

一尘观世界

效率工具 设计 海报 课程封面 知识付费

C语言if分支结构

C语言技术网-码农有道

C语言 C语言if分支结构

JavaScript 学习笔记——数据类型

zjlulsum

Java 学习 大前端 类型推断 入门

【Howe 学 JAVA】Java 类集框架1——List集合

Howe

Java List 集合

微服务守护神Istio:关于1.0版本以及性能优化_架构_敖小剑_InfoQ精选文章