加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 云计算 > 正文

部署微服务于容器云平台,API网关应如何选择?

发布时间:2018-08-14 03:01:45 所属栏目:云计算 来源:talkwithtrend
导读:前言: 微服务越来越火,越来越多的公司开始采用微服务架构。今天还有人让我帮推荐好的微服务实施厂商。但采用微服务并不容易,实施微服务可能不可或缺的一个很重要的组件就是API 网关。微服务若要部署于容器云平台,API网关的实现能力、部署方式、产品选
副标题[/!--empirenews.page--]

前言:

微服务越来越火,越来越多的公司开始采用微服务架构。今天还有人让我帮推荐好的微服务实施厂商。但采用微服务并不容易,实施微服务可能不可或缺的一个很重要的组件就是API 网关。微服务若要部署于容器云平台,API网关的实现能力、部署方式、产品选择等就显得至关重要。

网关,顾名思义,网络关口,担负着安全检查、认证授权、路由分发、流量控制、熔断保护等重要的职责。API网关,那就是API的网络关口、通道,是整个微服务平台的咽喉,API请求应答必经之路。为了利用容器云弹性伸缩等特性,结合微服务的优点,部署微服务于容器云平台,则API网关的实施部署则会显得更复杂些。

API网关

API网关(API Gateway)是一个服务器,是调用服务的唯一节点和请求应答出入口。API Gateway封装内部系统的架构,并且提供API给各个客户端。通常情况下它还需要实现其他功能,如认证授权、访问控制、路由、负载均衡、缓存、日志、限流限额、转换、映射、过滤、熔断、注册、服务编排、API管理、监控、统计分析等等。

1

从API网关的能力来看,我们可以理解其重要性。一夫当关,万夫莫开。API网关就承担这么一个重要的职责。其不但是整个服务系统的安全屏障,也承担着很多服务治理的能力。所以实现或者选择一个好的API网关,是建设容器云和微服务体系中一个至关重要的事项。这也决定了API网关的部署,要尽可能的减少接触面,确保安全。

API网关的作用和价值

现在有很多人也在倡导API经济,建立OpenAPI,为合作伙伴或客户提供云端API服务,根据服务的次数来收取一定的费用。这个我们暂不讨论,不过要采用微服务架构,API网关组件是不可或缺的。

很多人对于微服务API网关也都有比较深入的介绍。一个重要的原因是客户端和微服务通信、微服务重构、协议转换等的需要,所以我们需要一个API网关来承担这样的一个角色。

1

API网关提供集成能力,统一对外的接口,保护开放的应用,加速应用开发,也实现数据价值,监控分析业务趋势,协助构建开放平台等。

集成以实现互联互通

API是系统间集成和企业间整个业务生态系统集成的接口,不管微服务架构或者ESB架构,一个很重要的价值就是实现系统或服务的集成,实现数据、服务共享,盘活整个公司的资源,同时减少重复的投资和建设。

提供统一对外接口以实现标准化、规范化

当实现新的业务应用时或者需要集成不同系统或者服务之间的功能,调用不同服务提供的能力时,利用API网关可以让用户在不感知服务边缘的情况下,利用统一的接口编排组装服务。对于一个公司内部不同的服务,由于历史原因提供的接口可能有不小的差异,通过API网关可以消除这种差异,统一对外提供标准化的接口,比如Restful接口。 当内部服务更新时,也可以通过API网关进行适配转换,对客户端透明,不需要调用方进行调整。

保护开放的应用以实现安全

在我们看来,API网关最重要的能力是其安全能力。减少对外暴露的服务可以增加系统安全性。实现授权认证、访问控制、防范威胁和OWASP漏洞、通过SSO和统一身份管理来等提高安全性,为应用程序、移动和IoT提供端到端的安全机制。也可能需要在API网关实现流量控制、限额、过滤、熔断、服务优先级控制、负载均衡等机制来保护应用服务的安全。不管private API或者OpenAPI, 其安全性都是一个时刻都需要认真面对的课题。

简化应用和服务的开发以提升效率

在API网关层实现这些安全机制,不但提高安全性,也简化了应用服务的开发。使开发人员专注于业务应用、业务服务的研发,不再考虑基础能力基础组件,提升开发部署的效率,从而提升收益率。通过对 API服务的分类分级,简化和控制开发人员对数据和服务的访问;服务的开放和共享,可以构建更大范围内的协作和开发人员生态体系。加快业务服务业务应用的交付。

释放数据价值,促进行业发展

数据永远都是有价值的,其价值的大小在于怎么去使用它。基于微服务的API服务提供了一种实现数据价值的方式,由API网关来管理这些API服务,是这些API服务不但可以自己用,也可以实现额外收益。同时又为其他企业提供了节省成本的方式,从而实现战略双赢。

监控分析业务趋势,助力智能决策

API网关还要承担API的监控和管理职责。哪些API服务调用的多,哪些API服务调用的少,谁调用的多,以及高峰流量时刻、平均流量、响应时间等等都是需要监控和统计分析的。这些数据将有助于我们对API服务进行运维或重构,有助于我们做出合理决策。更为智能决策提供必须的数据支持。

协助构建开放平台,建立生态系统

开放、合作越来越向各个层面扩展和延伸。大到全球化、地球村,小到团队协作,你已经无法单打独斗。封闭只会束缚自己。所以对企业来说,也是需要逐步构建和合作伙伴的生态系统,构建自己的开放平台以融入这个生态。API 网关是其关键的一环。

API网关要实现的能力

那么API网关要实现哪些能力?通常情况下,需要考虑下面这些能力:

1

API安全

安全第一,就像我们的社会交通一样,第一要保证安全,然后才是快速通过。这也是在实现或选择API网关时首先要考虑的问题。

安全涉及的问题也比较多,API网关层通常要实现身份统一认证,可对接统一认证中心、权限中心,实现授权认证、访问控制等功能。

为了最小化延迟,API网关要尽可能的薄。安全的前提下实现快速通过。不能堵塞,所以需要尽可能的减少延迟。

另外考虑采用安全传输,防止数据包被其他人篡改、伪造,防止非公共数据被其他人窃听。可能还需要考虑服务基础设施安全以及第三方应用/内容安全。

服务预处理

路由、过滤、流控、限额、熔断、转换、优先级、负载均衡……我们在《微服务之服务治理》一文中有过讨论,这里就不再赘述。主要的服务治理策略,防止服务不可用。

服务编排

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读