BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

基于Istio和Kubernetes实现微服务的弹性和容错

| 作者 Srini Penchikala 关注 36 他的粉丝 ,译者 薛命灯 关注 24 他的粉丝 发布于 2018年1月30日. 估计阅读时间: 3 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

看新闻很累?看技术新闻更累?试试下载InfoQ手机客户端,每天上下班路上听新闻,有趣还有料!

来自IBM公司的Animesh Singh和Tommy Li在近期举行的北美2017 KubeCon和CloudNativeCon开发者大会上呈现了关于如何使用Istio来实现微服务弹性和容错的演讲。

微服务架构为我们带来了高可伸缩性,微服务生态系统包含了大量分布式服务,需要在各个层面进行故障管理,实现弹性和容错。我们还要实现服务级别的访问控制和速率限定。服务网格架构模式将与弹性相关的特性抽离出来,独立于应用程序和框架,以此来实现弹性和容错。

Singh谈到了容器栈,Docker和Kubernetes处于OSI模型的第5层,是编配和调度服务模型的一部分。他还介绍了IBM的云容器服务(Cloud Container Service),可用于管理Kubernetes容器。Kubernetes是微服务的最佳选择,它的容器编配包括了调度、集群管理和服务发现特性,便于部署和管理微服务。

Singh和Tommy列出了构建反应式弹性微服务需要满足的部分要求:

  • 故障避免
  • 故障隔离
  • 故障检测
  • 恢复

服务网格实际上就是存在于服务之间的网络,为微服务带来了弹性。这种轻量级的边车(sidecar)负责管理服务之间的流量。

Istio是服务网格的一种实现,可用于部署具有弹性的微服务。演讲者介绍了Istio的一些相关概念,如PilotMixerProxy,以及控制面板和数据面板。Istio在不要求应用程序修改任何代码的情况下为应用程序带来了容错能力。容错特性包括超时、无超时重试、回路断路器、健康检测、AZ负载均衡以及系统性故障注入。

他们介绍了如何使用Istio来实现微服务的弹性,如分流和引流(基于内容的引流)。他们在演讲中进行应用程序演示。该应用程序包含了一个自动生成的控制面板,借助Istio的故障注入特性手动创建故障场景。他们还模拟了微服务故障,以及从服务网格中观察服务的响应情况。

Singh和Tommy总结了几种基于Kubernetes和微服务的开发者模式:

更多有关容器编配和开发者模式的内容可访问他们的网站

查看英文原文Microservices Resiliency and Fault Tolerance Using Istio and Kubernetes

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

挠头 by no day

内容空洞,什么都没学到

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT