一种基于代理模式的微服务引擎制造技术

技术编号:21552482 阅读:256 留言:0更新日期:2019-07-07 00:26
本发明专利技术特别涉及一种基于代理模式的微服务引擎。该基于代理模式的微服务引擎,为已部署的业务服务建立ISE服务网格,所述ISE服务网格包括ISE入口网关,ISE网络代理,ISE策略中心,ISE配置中心和ISE安全中心;通过ISE入口网关接收外部请求,并将外部请求通过ISE网络代理下发到业务服务。该基于代理模式的微服务引擎,通过使用ISE网络代理=将微服务应用的通信流量统一代理转发,很好的解决了微服务应用之间的通信路由、流量控制、熔断、安全、性能数据收集等问题,提高了应用的开发效率,减少了运维成本。

A Microservice Engine Based on Proxy Mode

【技术实现步骤摘要】
一种基于代理模式的微服务引擎
本专利技术涉及计算机软件架构
,特别涉及一种基于代理模式的微服务引擎。
技术介绍
微服务是一种架构模式,它提倡将单一应用程序划分成一组小的服务,每个服务运行在其独立的进程中,服务间采用轻量级的通信机制互相沟通(通常是基于Http协议的RESTfulAPI)。每个服务都围绕着具体业务进行构建,并且能够独立的部署到生产环境、类生产环境等。为了解决传统单体应用带来的维护困难、扩展性差等问题,微服务架构的应用在业界流行开来,但随之也引入了一些新的问题,如应用之间的互相调用较多、难以追踪性能瓶颈等问题。基于此,本专利技术提出了一种基于代理模式的微服务引擎。Docker容器技术在2013年作为开源Docker引擎推出。Docker容器镜像是一个轻量级、独立、可执行的软件包,包含运行应用程序所需的一切:代码、运行时环境、系统工具、系统库和设置。Docker容器是标准化的,Docker为容器化制定了工业标准,因此可以在多种平台上使用;Docker容器是轻量级的,容器共享机器的操作系统内核,因此每个应用程序不需要操作系统,提高了服务器效率,降低了服务器和许可成本;Docker容器是安全的,应用程序在容器中更安全,Docker提供了业界最强的隔离能力。Kubernetes是一个开源系统,用于容器化应用程序的自动部署、扩展和管理。它将组成应用程序的容器分组到逻辑单元中,以便于管理和发现。Kubernetes在Google运行生产工作负载的15年经验基础上,结合了来自社区的最佳想法和实践。Kubernetes具有服务发现和负载均衡、存储编排、批量执行、自动伸缩等功能。Kubernetes不需要修改应用程序来使用不熟悉的服务发现机制。Kubernetes为容器提供自己的IP地址和一组容器的单一DNS名称,并且可以在它们之间进行负载平衡。Envoy是以C++开发的高性能代理,用于调解服务网格中所有服务的所有入站和出站流量。Envoy代理的许多内置功能被ISE(IdentifyServiceEngine)发扬光大。例如:动态服务发现、负载均衡、TLS终止、HTTP/2&gRPC代理、熔断器、健康检查、基于百分比流量拆分的灰度发布、故障注入、丰富的度量指标Envoy被部署为sidecar,和对应服务在同一个Kubernetespod中。这允许ISE将大量关于流量行为的信号作为属性提取出来,而这些属性又可以在Mixer中用于执行策略决策,并发送给监控系统,以提供整个网格行为的信息。
技术实现思路
本专利技术为了弥补现有技术的缺陷,提供了一种简单高效的基于代理模式的微服务引擎。本专利技术是通过如下技术方案实现的:一种基于代理模式的微服务引擎,其特征在于:为已部署的业务服务建立ISE服务网格,所述ISE服务网格包括ISE入口网关,ISE网络代理,ISE策略中心,ISE配置中心和ISE安全中心;通过ISE入口网关接收外部请求,并将外部请求通过ISE网络代理下发到业务服务,所述ISE配置中心配置数据下发到业务服务,所述ISE安全中心为用户和业务服务进行安全审计,所述ISE策略中心统一收集由ISE网络代理发送的测量数据,并统一存储于时序数据库,用于对业务服务的性能数据、审计数据进行分析。所述ISE入口网关,ISE网络代理,ISE策略中心,ISE配置中心和ISE安全中心均为无状态运行,因而支持横向扩展,结合Kubernetes的容器集群管理功能,即可根据负载情况弹性伸缩,提高资源的利用率。所述ISE网络代理采用挎斗模式,与对应的业务服务部署在同一个Kubernetespod中;所述ISE网络代理采用Envoysidecar,作为每个业务服务的通信代理,拦截业务服务之间的所有网络通信,用于调解ISE服务网格中所有业务服务的所有入站和出站流量。所述ISE网络代理提取请求级属性,发送到ISE策略中心进行评估;所述ISE策略中心中包括一个灵活的插件模型,使其能够接入到各种主机环境和基础设施后端。所述ISE网络代理将流量行为信号作为属性提取出来发送到ISE策略中心,ISE策略中心将流量行为信号属性用于执行策略决策,并发送给监控系统,以提供整个ISE服务网格行为的信息。ISE网络代理还可以将微服务引擎ISE的功能添加到现有部署中,而无需重新构建或重写代码。所述ISE策略中心是一个独立于平台的组件,负责在服务网格上执行访问控制和使用策略,并从ISE网络代理和其他服务收集遥测数据;所述ISE配置中心负责为ISE网络代理提供业务服务发现功能,并配置数据下发,为智能路由(例如A/B测试、金丝雀部署等)和弹性(超时、重试、熔断器等)提供流量管理功能。所述ISE配置中心将控制流量行为的高级路由规则转换为特定于ISE网络代理的配置,并在运行时将其传播到ISE网络代理;同时,ISE配置中心还将平台特定的业务服务发现机制抽象化,并将其合成为符合ISE网络代理数据平面API的标准格式。这种松散耦合使得微服务引擎ISE能够在多种环境下运行(例如,Kubernetes、Consul、Nomad),同时保持用于流量管理的相同操作界面。所述ISE安全中心通过内置身份和凭证管理提供业务服务间和最终用户的身份验证,升级ISE服务网格中未加密的流量,为运维人员提供基于服务标识而不是网络控制的强制执行策略的能力。微服务引擎ISE支持基于角色的访问控制,以控制谁可以访问业务服务。在进行业务服务之间的相互调用时,包括以下步骤:(1)业务服务A的代理拦截到请求,将本次请求的监控和测量数据发送给ISE策略中心;(2)业务服务A的ISE网络代理将请求发给业务服务B的ISE网络代理;(3)业务服务B的ISE网络代理接收到请求后,向ISE策略中心报告监控和测量信息,并根据预先配置的策略确认是否需要响应本次请求,若不符合配置的策略,则拒绝连接。本专利技术的有益效果是:该基于代理模式的微服务引擎,通过使用ISE网络代理将微服务应用的通信流量统一代理转发,很好的解决了微服务应用之间的通信路由、流量控制、熔断、安全、性能数据收集等问题,提高了应用的开发效率,减少了运维成本。附图说明附图1为本专利技术基于代理模式的微服务引擎架构示意图。具体实施方式为了使本专利技术所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合实施例,对本专利技术进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。该基于代理模式的微服务引擎,为已部署的业务服务建立ISE服务网格,所述ISE服务网格包括ISE入口网关,ISE网络代理,ISE策略中心,ISE配置中心和ISE安全中心;通过ISE入口网关接收外部请求,并将外部请求通过ISE网络代理下发到业务服务,所述ISE配置中心配置数据下发到业务服务,所述ISE安全中心为用户和业务服务进行安全审计,所述ISE策略中心统一收集由ISE网络代理发送的测量数据,并统一存储于时序数据库,用于对业务服务的性能数据、审计数据进行分析。所述ISE入口网关,ISE网络代理,ISE策略中心,ISE配置中心和ISE安全中心均为无状态运行,因而支持横向扩展,结合Kubernetes的容器集群管理功能,即可根据负载情况弹性伸缩,提高资源的利用率。所述ISE网本文档来自技高网
...

【技术保护点】
1.一种基于代理模式的微服务引擎,其特征在于:为已部署的业务服务建立ISE服务网格,所述ISE服务网格包括ISE入口网关,ISE网络代理,ISE策略中心,ISE配置中心和ISE安全中心;通过ISE入口网关接收外部请求,并将外部请求通过ISE网络代理转发到业务服务,所述ISE配置中心配置数据下发到业务服务,所述ISE安全中心为用户和业务服务进行安全审计,所述ISE策略中心统一收集由ISE网络代理发送的测量数据,并统一存储于时序数据库,用于对业务服务的性能数据、审计数据进行分析。

【技术特征摘要】
1.一种基于代理模式的微服务引擎,其特征在于:为已部署的业务服务建立ISE服务网格,所述ISE服务网格包括ISE入口网关,ISE网络代理,ISE策略中心,ISE配置中心和ISE安全中心;通过ISE入口网关接收外部请求,并将外部请求通过ISE网络代理转发到业务服务,所述ISE配置中心配置数据下发到业务服务,所述ISE安全中心为用户和业务服务进行安全审计,所述ISE策略中心统一收集由ISE网络代理发送的测量数据,并统一存储于时序数据库,用于对业务服务的性能数据、审计数据进行分析。2.根据权利要求1所述的基于代理模式的微服务引擎,其特征在于:所述ISE入口网关,ISE网络代理,ISE策略中心,ISE配置中心和ISE安全中心均为无状态运行,因而支持横向扩展,结合Kubernetes的容器集群管理功能,即可根据负载情况弹性伸缩,提高资源的利用率。3.根据权利要求1或2所述的基于代理模式的微服务引擎,其特征在于:所述ISE网络代理采用挎斗模式,与对应的业务服务部署在同一个Kubernetespod中;所述ISE网络代理作为每个业务服务的通信代理,拦截业务服务之间的所有网络通信,用于调解ISE服务网格中所有业务服务的所有入站和出站流量。4.根据权利要求3所述的基于代理模式的微服务引擎,其特征在于:所述ISE网络代理提取请求级属性,发送到ISE策略中心进行评估;所述ISE策略中心中包括一个插件模型,使其能够接入到各种主机环境和基础设施后端。5.根据权利要求4所述的基于代理模式的微服务引擎,其特征在于:所述ISE网络代理将流量行为信号作为属性提取出来发送到ISE策略中心,ISE策略中心将流量...

【专利技术属性】
技术研发人员:齐光鹏李向阳郝文祥何升浩
申请(专利权)人:山东浪潮云信息技术有限公司
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1