博客
关于我
为什么服务网格、编排器决定了云原生部署的成败
阅读量:183 次
发布时间:2019-02-28

本文共 1247 字,大约阅读时间需要 4 分钟。

微服务的自包含、暂态性带来了一些大好处,但跟踪每一个微服务都是一个挑战,特别是当试图弄清楚当单个微服务发生故障时其余的如何受到影响时。最终的结果是,如果你在微服务架构中运维或开发,那么很有可能你花了不少时间去了解服务到底干了什么。

采用微服务后,大型系统中存在大量服务,问题随之而来——必须针对每个服务单独处理安全性、负载均衡、监控和速率限制等问题,而且这些问题必须针对一个单体一次性解决。

好消息是工程师无惧挑战,他们正在利用新兴的微服务工具和技术模式解决这些问题。

今天的云原生宠儿Kubernetes缓解了微服务带来的许多挑战。自动调度、水平扩展和服务发现解决了你在微服务中遇到的大多数构建和部署问题。

Kubernetes没有解决的是一些关键的容器化应用程序运行时问题。这就是服务网络发挥作用的地方。让我们看一下Kubernetes所提供的,以及Istio如何添加到Kubernetes以解决微服务运行时问题。

 

 

  •    Kubernetes解决了构建和部署挑战

容器编排工具(如Kubernetes)管理容器化应用程序带来的许多构建和部署挑战。

Kubernetes支持微服务架构,使开发人员能够抽象出一组pod的功能,并通过定义良好的API向其他开发人员公开服务。Kubernetes支持L4负载均衡,但它无法解决更高级别的问题,例如L7指标、流量分配、速率限制和电路中断。

  • 服务网格解决了运行时管理流量的挑战

服务网格有助于解决最终用户使用应用程序时出现的许多挑战。能够监控哪些服务正在相互通信(如果这些通信是安全的),并且能够控制集群中的服务到服务通信,是确保应用程序安全且灵活运行的关键。

通过在整个过程中生成统一的指标,Istio还可以在微服务架构中提供一致的视图。有了它,不再需要协调各种运行时代理发出的不同类型的指标,也不再需要添加任意代理来收集遗留的未检测应用程序的指标。它在你的多语言服务和集群中增加了一定程度的可观察性,这是任何其他工具在细粒度水平上无法实现的。

Istio还增加了更深层次的安全性。Kubernetes仅提供基本秘密分发和控制平面证书管理,Istio则提供mTLS功能,因此你可以对线路流量进行加密,以确保服务到服务通信是安全的。

  •    天作之合

将Kubernetes与服务网格Istio配对可以为你提供两全其美的优势,而且由于Istio是在Kubernetes上运行的,因此两者可以无缝协作。你可以使用Kubernetes来管理所有构建和部署需求,Istio来负责处理重要的运行时问题。

Kubernetes已经成熟到大多数企业都将其用于容器编排。目前,有74家CNCF认证的服务提供商——这证明了市场规模的庞大且不断增长。笔者认为Istio是Kubernetes的延伸,也是解决更多挑战的下一步。

Istio已经快速成熟,并开始在企业中更多地被采用。在2019年,我们将看到Istio成为企业的服务网格标准,就像Kubernetes作为容器编排的标准一样。

转载地址:http://bqpn.baihongyu.com/

你可能感兴趣的文章
Mysql group by
查看>>
MySQL I 有福啦,窗口函数大大提高了取数的效率!
查看>>
mysql id自动增长 初始值 Mysql重置auto_increment初始值
查看>>
MySQL in 太多过慢的 3 种解决方案
查看>>
MySQL InnoDB 三大文件日志,看完秒懂
查看>>
Mysql InnoDB 数据更新导致锁表
查看>>
Mysql Innodb 锁机制
查看>>
MySQL InnoDB中意向锁的作用及原理探
查看>>
MySQL InnoDB事务隔离级别与锁机制深入解析
查看>>
Mysql InnoDB存储引擎 —— 数据页
查看>>
Mysql InnoDB存储引擎中的checkpoint技术
查看>>
Mysql InnoDB存储引擎中缓冲池Buffer Pool、Redo Log、Bin Log、Undo Log、Channge Buffer
查看>>
MySQL InnoDB引擎的锁机制详解
查看>>
Mysql INNODB引擎行锁的3种算法 Record Lock Next-Key Lock Grap Lock
查看>>
mysql InnoDB数据存储引擎 的B+树索引原理
查看>>
mysql innodb通过使用mvcc来实现可重复读
查看>>
mysql insert update 同时执行_MySQL进阶三板斧(三)看清“触发器 (Trigger)”的真实面目...
查看>>
mysql interval显示条件值_MySQL INTERVAL关键字可以使用哪些不同的单位值?
查看>>
Mysql join原理
查看>>
MySQL Join算法与调优白皮书(二)
查看>>