写点什么

微服务守护神 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:005543
用户头像

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

关注

评论

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

Prometheus Exporter (一)Node Exporter

耳东@Erdong

Linux Prometheus exporter 11月日更 Node Exporter

如何给 CloudWeGo 做贡献

baiyutang

golang 微服务 11月日更

Moment.js 如何使用 Epoch Time 来构造对象

HoneyMoose

HarmonyOS新一代UI框架的全面解读|HDC2021技术分论坛

HarmonyOS开发者

HarmonyOS

指令重排序导致的可见性问题

博文视点Broadview

HarmonyOS本地模拟器重磅来袭|HDC2021技术分论坛

HarmonyOS开发者

HarmonyOS

【LeetCode】二叉树的坡度Java题解

Albert

算法 LeetCode 11月日更

腾讯北大合作的稀疏大模型训练加速方案HET入选国际顶会VLDB

科技热闻

机器学习 | 关于参数模型与非参数模型研究

索信达控股

机器学习 参数模型 非参数模型

分布式调试、调优能力解决方案|HDC2021技术分论坛

HarmonyOS开发者

分布式 HarmonyOS

云原生时代需要什么样的存储系统

青云技术社区

云计算 云原生 存储

0711作业:MapReduce 编程作业

arctec

linux之抓包神器tcpdump

入门小站

Linux

如何提高C# StringBuilder的性能

编程宝库

DOM操作造成的页面卡顿问题及解决

CRMEB

0718作业:Hadoop RPC

arctec

第六期零代码训练营正式开放报名!

明道云

AI界的革命!终于可以自动标注了!

百度大脑

人工智能 百度

动态模型之动态增减【FunTester测试框架】

FunTester

性能测试 接口测试 测试框架 FunTester 动态模型

题目一: 分析一条 TPCDS SQL

arctec

【Flutter 专题】05 图解修改应用名称及图标

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 11月日更

云网络的守护神:主动链路监控

华为云开发者联盟

数据中心 云网络 华为云Stack 网络监控 主动链路

Vue进阶(幺玖陆):js保留两位小数方法总结

No Silver Bullet

Vue 11月日更

ArkCompiler原理解析|HDC2021技术分论坛

HarmonyOS开发者

HarmonyOS

Moment.js 如何获得当前时间的零时时间

HoneyMoose

0919作业:HyperLogLog算法在Presto的应用

arctec

创新正当时!「Innovation 2021」网易应用创新开发者大赛决赛十强正式集结!

网易云信

人工智能 音视频 创新

Apache APISIX Ingress 为何成为又拍云打造容器网关的新选择?

API7.ai 技术团队

开源 云原生 API网关 Apache APISIX ingress-controller

在线等差数列项生成器

入门小站

工具

如何使用 MySQL 慢查询日志进行性能优化 - Profiling、mysqldumpslow 实例详解

蒋川

MySQL 数据库 MariaDB 慢查询

解密并发幕后黑手:线程切换引发的原子性问题

华为云开发者联盟

Java 线程 并发 原子性 线程切换

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