您当前的位置:首页 > 互联网百科 > 云计算

采用Kubernetes时API网关面临的两个最重要的挑战

时间:2020-06-22 10:30:04  来源:  作者:

 

使用微服务模式构建应用程序并将这些服务部署到Kubernetes上已成为当今运行云原生应用程序的实际方法。 在微服务架构中,单个应用程序被分解为多个微服务。 每个微服务均由一个小团队拥有,该团队有权并负责为特定的微服务做出正确的决策。

这种职责通常从用户请求到达的系统边缘开始,一直到服务的业务逻辑,再到相关的消息传递和数据存储架构。

Edge和Kubernetes入口

最终用户需要访问微服务。 内部微服务和最终用户之间的边界称为边缘。 为了使最终用户访问内部应用程序,流量需要越过边缘。 在Kubernetes中,流量使用一种称为入口的软件穿越边缘。

将API网关与在Kubernetes上运行的基于微服务的应用程序集成时,您必须考虑两个主要挑战:

· 如何扩展对100多种服务和相关API的管理; 和

· 网关如何支持通常跨整个边缘堆栈的广泛的微服务体系结构,协议和配置。

API网关:微服务的联络点

API网关是如何管理,保护和呈现API的核心。 它作为软件组件(或一系列组件)部署在虚拟机上或Kubernetes中,并充当系统的单个入口点。 API网关的主要职责是使用户能够可靠,安全地访问多个API,微服务和后端系统。

微服务和Kubernetes提供了实现灵活性。 例如,一个团队可以选择在系统的边缘(内部服务和最终用户之间的边界)公开基于容器的微服务,作为一组基于HTTP的REST API。 另一个团队可能会选择Protobufs和gRPC。 有实时流需求的团队可以通过WebSocket API公开其微服务。 Kubernetes中部署的任何API网关都必须支持所有这些协议。

采用Kubernetes时API网关面临的两个最重要的挑战

 

每个团队不仅可以自由做出这些选择,而且对后果负责。 这通常转化为"您构建,运行"。 尽管并非每个组织都完全赞同这种工作方式,但是每个微服务团队都需要能够理解,诊断和配置处理每个服务以及每个用户对应用程序的请求的各个方面。 与应用程序和API相关的运行时要求的多样性意味着,每个团队都将使用边缘堆栈中的所有层,例如,动态请求处理,WAF和任何缓存实现。

微服务的开发范例(独立,授权和负责的团队)为使用API网关,Kubernetes入口和边缘的微服务团队带来了一系列新挑战。

在本文中,我们确定了边缘的两个重要挑战:管理独立的微服务以及访问全面的边缘堆栈。

挑战1:扩展边缘管理

随着部署的微服务数量的增加,管理边缘的挑战也越来越多

在微服务架构中,工程师将管理更多的服务和应用程序。 每个团队都需要能够独立管理他们的服务,以使发布与其他团队的计划脱钩。 在边缘公开应用程序的传统方法通常是通过集中的操作或平台团队来完成的。 但是,当组织拥有数百个微服务时,一个运维团队无法扩展以处理必要的变更量。

需要在边缘修改配置的典型更改:

· 正在部署的服务的新版本。

· 修改端点,路由指令或关联的后端服务。

· 身份验证和授权服务的更改。

· 修改非功能性需求,例如速率限制,超时,重试模式和断路。

· 用户对新功能的测试,例如,为一小部分Beta测试用户启用功能。

采用基于微服务的体系结构将导致发行数量显著增加。 这种增加只会加剧边缘管理方面的挑战,并增加集中式操作方法的压力。

挑战2:支持各种范围的边缘要求

微服务在边缘引入了许多新问题

微服务架构实现了架构灵活性。 应用程序开发人员利用这种灵活性来选择最适合服务特定要求的编程语言和体系结构。 无论架构如何,边缘都需要支持需要向用户公开的广泛功能。 这扩展了API网关的传统角色,并且与边缘整合工具需求相关的一些挑战包括:

· 熟练地路由各种协议的能力。 常见协议包括HTTP / 1.1,HTTP / 2,WebSocket,gRPC,gRPC-Web和TCP。

· 提供任何特定服务所需的完整边缘功能集合,范围从流量管理到可观察性再到身份验证等等。

· 为应用程序开发人员在自助服务模型中公开这些功能。

鼓励微服务团队实施的多样性使工程师可以选择"适合工作的工具"。 但是,基础平台的整合提供了许多好处。 与其允许开发人员构建定制的实现以提供额外的协议支持或安全处理,不如让其在边缘具有预先批准的"自助"选项,从而使他们可以选择最合适的选项,从而更加易于管理和扩展。 功能组合。

摘要

随着组织采用Kubernetes并转向基于微服务的体系结构,最终用户与内部微服务之间的边界出现了一系列新的挑战。 因此,系统的"边缘"以及相关技术(例如API网关)是采用微服务时的重点。 微服务的组织模型驱动着边缘的这些新挑战,在这种模型中,独立团队有权并负责为微服务制定正确的体系结构和实施决策。

管理系统边缘一直很复杂。 添加具有多种体系结构的更多服务只会增加对边缘的需求。 平台团队必须相应地设计,选择和实现其API网关和边缘工具。

 



Tags:Kubernetes时API   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
使用微服务模式构建应用程序并将这些服务部署到Kubernetes上已成为当今运行云原生应用程序的实际方法。 在微服务架构中,单个应用程序被分解为多个微服务。 每个微服务均由...【详细内容】
2020-06-22  Tags: Kubernetes时API  点击:(99)  评论:(0)  加入收藏
▌简易百科推荐
作者:阿里集团 阿里云智能事业群 云原生应用平台来源:华章科技 云原生(Cloud Native)的概念,最早是由Pivotal于2015年提出的,但是即使到了2019年上半年,国内对其的关注依然相对有限...【详细内容】
2021-07-19  华章科技    Tags:云原生   点击:(182)  评论:(0)  加入收藏
一、案例概述为了方便对公司办公计算机桌面系统的管理,公司需要搭建一套桌面虚拟化平台。公司运维工程师决定使用Cirtix桌面 虚拟化解决方案。 Citrix XenServer服务器虚拟化...【详细内容】
2021-07-13  虚拟化爱好者    Tags:企业云   点击:(611)  评论:(0)  加入收藏
近日有粉丝问阿里云和华为云的部署区别是啥,其实阿祥没有搭建过阿里云,具体用啥工具部署,部署的步骤和具体方法并不知道(ps:后续如果能找到类似资料,阿祥会给大家分享),所以我这次先...【详细内容】
2021-07-13  信息系统集成Vlog    Tags:阿里云   点击:(136)  评论:(0)  加入收藏
人类社会可以划分为三个阶段:第一次浪潮为农业阶段,从约1万年前开始;第二阶段为工业阶段,从17世纪末开始;第三阶段为信息化阶段,从20世纪50年代后期开始。 --托夫勒,《第三次浪潮...【详细内容】
2021-06-02  云技术    Tags:云计算   点击:(95)  评论:(0)  加入收藏
题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二...【详细内容】
2021-05-14    全国产经平台  Tags:云计算开发   点击:(128)  评论:(0)  加入收藏
在当今互联网行业乃至一些大厂,大部分公司都采用敏捷项目管理模式来管理项目,在敏捷十二条宣言中有一条是这样说:“我们的最高目标是,通过尽早和持续地交付有价值的软件来满足...【详细内容】
2021-04-30    云计算AND容器技术  Tags:Jenkins   点击:(167)  评论:(0)  加入收藏
云服务所谓的云服务,云服务可以将企业所需的软硬件、资料都放到网络上,在任何时间、地点,使用不同的IT设备互相连接,实现数据存取、运算等目的。 云服务是一种按需服务1.云服务(C...【详细内容】
2021-04-28  德姐姐科普  今日头条  Tags:云服务   点击:(157)  评论:(0)  加入收藏
云计算是一种基于互联网的计算新方式,使得个人和企业用户以按需即取、易扩展的方式的获取计算和服务。本文介绍了云计算的基本概念、发展历程及发展现状,总结了云计算的关键技...【详细内容】
2021-04-28  云计算那点事    Tags:云计算   点击:(109)  评论:(0)  加入收藏
图片来源@视觉中国文 | 波波夫上世纪六十年代,科学家John McCarthy在斯坦福大学提出了“从任意地点通过网络访问计算机程序”的设想时,台下听众的反应,可能和今天在推特上看马...【详细内容】
2021-04-16    钛媒体APP  Tags:云计算   点击:(103)  评论:(0)  加入收藏
由于边缘计算能让用户在靠近物或数据源头的一侧处理工作负载,极大地提升了在云端的处理效率,因此备受用户青睐。  根据MarketsandMarkets数据分析显示:到2022年,边缘计算市场...【详细内容】
2021-04-07    IT168企业级  Tags:边缘计算   点击:(139)  评论:(0)  加入收藏
相关文章
    无相关信息
最新更新
栏目热门
栏目头条