博客
关于我
为什么服务网格、编排器决定了云原生部署的成败
阅读量: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中json_extract的使用方法
查看>>
mysql中json_extract的使用方法
查看>>
mysql中kill掉所有锁表的进程
查看>>
mysql中like % %模糊查询
查看>>
MySql中mvcc学习记录
查看>>
mysql中null和空字符串的区别与问题!
查看>>
MySQL中ON DUPLICATE KEY UPDATE的介绍与使用、批量更新、存在即更新不存在则插入
查看>>
MYSQL中TINYINT的取值范围
查看>>
MySQL中UPDATE语句的神奇技巧,让你操作数据库如虎添翼!
查看>>
Mysql中varchar类型数字排序不对踩坑记录
查看>>
MySQL中一条SQL语句到底是如何执行的呢?
查看>>
MySQL中你必须知道的10件事,1.5万字!
查看>>
MySQL中使用IN()查询到底走不走索引?
查看>>
Mysql中使用存储过程插入decimal和时间数据递增的模拟数据
查看>>
MySql中关于geometry类型的数据_空的时候如何插入处理_需用null_空字符串插入会报错_Cannot get geometry object from dat---MySql工作笔记003
查看>>
mysql中出现Incorrect DECIMAL value: '0' for column '' at row -1错误解决方案
查看>>
mysql中出现Unit mysql.service could not be found 的解决方法
查看>>
mysql中出现update-alternatives: 错误: 候选项路径 /etc/mysql/mysql.cnf 不存在 dpkg: 处理软件包 mysql-server-8.0的解决方法(全)
查看>>
Mysql中各类锁的机制图文详细解析(全)
查看>>
MySQL中地理位置数据扩展geometry的使用心得
查看>>