博客
关于我
为什么服务网格、编排器决定了云原生部署的成败
阅读量: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学习总结(66)——设置MYSQL数据库编码为UTF-8
查看>>
Mysql学习总结(67)——MYSQL慢查询日志
查看>>
Mysql学习总结(68)——MYSQL统计每天、每周、每月、每年数据 SQL 总结
查看>>
Mysql学习总结(69)——Mysql EXPLAIN 命令使用总结
查看>>
Mysql学习总结(6)——MySql之ALTER命令用法详细解读
查看>>
Mysql学习总结(70)——MySQL 优化实施方案
查看>>
Mysql学习总结(71)——MySQL 重复记录查询与删除总结
查看>>
Mysql学习总结(71)——数据库介绍(MySQL安装 体系结构、基本管理)再回顾
查看>>
Mysql学习总结(72)——MySQL 开发者开发,设计规范再总结
查看>>
Mysql学习总结(73)——MySQL 查询A表存在B表不存在的数据SQL总结
查看>>
Mysql学习总结(74)——慢SQL!压垮团队的最后一根稻草!
查看>>
Mysql学习总结(75)——并发量大、数据量大的互联网业务数据库设计军规
查看>>
Mysql学习总结(76)——MySQL执行计划(explain)结果含义总结
查看>>
Mysql学习总结(77)——温故Mysql数据库开发核心原则与规范
查看>>
Mysql学习总结(78)——MySQL各版本差异整理
查看>>
Mysql学习总结(79)——MySQL常用函数总结
查看>>
Mysql学习总结(7)——MySql索引原理与使用大全
查看>>
Mysql学习总结(80)——统计数据库的总记录数和库中各个表的数据量
查看>>
Mysql学习总结(81)——为什么MySQL不推荐使用uuid或者雪花id作为主键?
查看>>
Mysql学习总结(82)——MySQL逻辑删除与数据库唯一性约束如何解决?
查看>>