一种分布式微服务治理系统及系统的构建方法
专利摘要:本发明实施例提供一种分布式微服务治理系统及系统的构建方法。该系统包括:服务注册与发现模块将集群中的微服务通过区块链节点进行服务的注册与发现,路由管理模块接收操作人员发送的微服务请求数据,弹性服务模块接收操作人员发送的管理指令,集中配置管理模块对所述分布式微服务治理系统进行配置和管理,日志系统模块对分布式微集群进行分析和诊断,链路观测与控制模块对所述区块链的调用链路进行观测与管理,安全访问控制模块基于密码学算法,在去中心化的环境中完成安全访问控制。本发明实施例通过基于区块链设计去中心化微服务集成框架,提供完善的服务治理功能,一方面保障微服务的正常运转,另一方面避免了中心化的微服务治理系统故障时,整个系统无法正常工作的问题。
专利说明:
一种分布式微服务治理系统及系统的构建方法
[0001] 技术领域
[0002] 本发明涉及区块链技术领域,尤其涉及一种分布式微服务治理系统及系统的构建方法。
[0003] 背景技术
[0004] 在实际应用中,随着智能移动应用需求的不断升级变化,对智能移动终端的信息感知和处理能力的要求越来越高,有效地对环境信息进行综合、高效完成即时信息处理、安全通信、资源调度等任务,是智能移动终端的发展方向。
[0005] 由于单一业务应用智能移动终端设备能够负载的服务资源有限,采用传统服务框架进行跨终端的服务部署与资源调度存在很大局限性。而引入微服务后,由于微服务系统集成的复杂性,除了需要对微服务框架的业务模块进行合理的设计,还需要对整个集群的功能进行治理。
[0006] 因此,需要提出一种服务治理系统,能保障微服务的运转和整个集群功能的治理。
[0007] 发明内容
[0008] 本发明实施例提供一种分布式微服务治理系统及系统的构建方法,用以解决现有技术中传统服务框架进行跨终端的服务部署与资源调度具有局限性的缺陷。
[0009] 第一方面,本发明实施例提供一种分布式微服务治理系统,包括:
[0010] 服务注册与发现模块、路由管理模块、弹性服务模块、集中配置管理模块、日志系统模块、链路观测与控制模块和安全访问控制模块;其中:
[0011] 所述服务注册与发现模块用于将集群中的微服务通过区块链节点进行服务的注册与发现,并将信息在所述区块链上进行存证;
[0012] 所述路由管理模块用于接收操作人员发送的微服务请求数据,通过数据校验后,向所述操作人员呈现所述信息;
[0013] 所述弹性服务模块用于接收操作人员发送的管理指令,并对所述管理指令进行解析,修改所述信息,完成弹性服务;
[0014] 所述集中配置管理模块用于对所述分布式微服务治理系统进行配置和管理;
[0015] 所述日志系统模块用于对分布式微集群进行分析和诊断;
[0016] 所述链路观测与控制模块用于对所述区块链的调用链路进行观测与管理,并查找错误原因和提升服务性能;
[0017] 所述安全访问控制模块用于基于密码学算法,在去中心化的环境中完成安全访问控制。
[0018] 其中,所述路由管理模块用于接收操作人员发送的微服务请求数据,通过数据校验后,向所述操作人员呈现所述信息,具体包括:
[0019] 当进行微服务信息查看时,所述操作人员通过微服务管理应用向负责微服务信息管理的微服务请求数据,所述微服务通过区块链数据接入服务与链进行交互,并结合本地存储的数据,向所述微服务管理应用返回所述信息;
[0020] 所述微服务管理应用通过区块链存证服务进行关键数据的链上校验,待核实数据真实性后,将所述信息向所述操作人员进行呈现。
[0021] 其中,所述弹性服务模块用于接收操作人员发送的管理指令,并对所述管理指令进行解析,修改所述信息,完成弹性服务,具体包括:
[0022] 当进行微服务信息的管理时,所述操作人员通过微服务管理应用向微服务信息管理的微服务下达所述管理指令,所述微服务信息管理的微服务对所述管理指令及所述管理指令对应的参数进行解析,修改本地和所述区块链上的所述信息,完成所述弹性服务。
[0023] 其中,所述管理指令包括:
[0024] 服务启动与扩容指令、服务关闭与缩容指令、服务重启指令、服务运行参数管理指令、服务自动伸缩配置指令、服务熔断与恢复指令和服务降级与恢复指令。
[0025] 其中,所述集中配置管理模块包括配置子模块和管理子模块;其中:
[0026] 配置子模块用于将所有的配置文件、参数等存储在区块链网络中;
[0027] 管理子模块用于从所述区块链中读取配置并将所述配置提供至微服务。
[0028] 其中,所述日志系统模块用于对分布式微集群进行分析和诊断,具体包括:
[0029] 在所述分布式集群中的每一个智能移动终端设备上部署日志插件,由微服务管理服务进行日志的管理操作;
[0030] 所述微服务管理服务对全局日志进行管理,基于所述区块链节点进行服务发现,得到发现结果,根据所述发现结果向本地和远端的所述日志插件进行调用,以获取所需内容。
[0031] 其中,所述链路观测与控制模块包括观测子模块和控制子模块;其中:
[0032] 所述观测子模块用于基于日志系统模块实现,进行服务调用时,所述日志系统模块记录每一段服务调用的开始与结束时间,实现链路观测;
[0033] 所述控制子模块用于基于服务注册与发现模块实现,将服务调用信息记录在所述区块链中,在服务进行发现时根据所述服务调用信息采取不同的服务调用策略,实现链路控制。
[0034] 其中,所述服务调用信息包括服务调用权重和服务引流信息。
[0035] 其中,所述安全访问控制模块用于基于密码学算法,在去中心化的环境中完成安全访问控制,具体包括:
[0036] 在每个服务进行远程服务调用时,使用所述服务自身的访问私钥进行签名,被调用方收到访问请求后,在所述区块链上进行调用方公钥的验证与签名验证,并根据所述区块链中记录的安全访问控制规则对所述访问请求进行通过和阻断等操作,并进行告警。
[0037] 第二方面,本发明实施例提供一种分布式微服务治理系统的构建方法,包括:
[0038] 构建服务注册与发现模块,用于将集群中的微服务通过区块链节点进行服务的注册与发现,并将信息在区块链上进行存证;
[0039] 构建路由管理模块,用于接收操作人员发送的微服务请求数据,通过数据校验后,向所述操作人员呈现所述信息;
[0040] 构建弹性服务模块,用于接收操作人员发送的管理指令,并对所述管理指令进行解析,修改所述信息,完成弹性服务;
[0041] 构建集中配置管理模块,用于对所述分布式微服务治理系统进行配置和管理;
[0042] 构建日志系统模块,用于对分布式微集群进行分析和诊断;
[0043] 构建链路观测与控制模块,用于对所述区块链的调用链路进行观测与管理,并查找错误原因和提升服务性能;
[0044] 构建安全访问控制模块,用于基于密码学算法,在去中心化的环境中完成安全访问控制。
[0045] 本发明实施例提供的一种分布式微服务治理系统及系统的构建方法,通过基于区块链设计轻量级、可剪裁的去中心化微服务集成框架,提供完善的服务治理功能,一方面保障微服务的正常运转,另一方面避免了中心化的微服务治理系统故障时,整个系统无法正常工作的问题。
[0046] 附图说明
[0047] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0048] 图1为本发明实施例提供的一种分布式微服务治理系统结构图;
[0049] 图2为本发明实施例提供的基于区块链的微服务管理应用框架图;
[0050] 图3为本发明实施例提供的日志系统框架图;
[0051] 图4为本发明实施例提供的一种分布式微服务治理系统的构建方法流程图。
[0052] 具体实施方式
[0053] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0054] 由于单一业务应用智能移动终端设备能够负载的服务资源有限,采用微服务框架进行跨终端的服务部署与资源调度势在必行。本发明涉及轻量级、可剪裁的微服务框架,该框架通过去中心的服务注册与发现实现跨终端的资源调度,通过共性基础微服务提供多源信息管理与处理能力,通过服务调用网关为上层提供统一的服务调用接口,通过服务治理功能实现软件定义资源与动态资源服务技术。
[0055] 而正是由于微服务系统集成的复杂性,除了需要对微服务框架的业务模块进行合理的设计,还需要对整个集群的功能进行治理。完善的服务治理功能一方面可以保障微服务的正常运转,另一方面避免了中心化的微服务治理系统故障时,整个系统无法正常工作的问题。通过服务注册、发现与路由管理,集中配置管理,日志管理,弹性服务管理,链路观测与控制,以及安全访问控制等功能,管理人员能够更好地对微服务框架进行治理,提供高扩展性的动态资源服务。
[0056] 图1为本发明实施例提供的一种分布式微服务治理系统结构图,如图1所示,包括:
[0057] 服务注册与发现模块21、路由管理模块22、弹性服务模块23、集中配置管理模块24、日志系统模块25、链路观测与控制模块26和安全访问控制模块27;其中:
[0058] 所述服务注册与发现模块21用于将集群中的微服务通过区块链节点进行服务的注册与发现,并将信息在所述区块链上进行存证;
[0059] 所述路由管理模块22用于接收操作人员发送的微服务请求数据,通过数据校验后,向所述操作人员呈现所述信息;
[0060] 所述弹性服务模块23用于接收操作人员发送的管理指令,并对所述管理指令进行解析,修改所述信息,完成弹性服务;
[0061] 所述集中配置管理模块24用于对所述分布式微服务治理系统进行配置和管理;
[0062] 所述日志系统模块25用于对分布式微集群进行分析和诊断;
[0063] 所述链路观测与控制模块26用于对所述区块链的调用链路进行观测与管理,并查找错误原因和提升服务性能;
[0064] 所述安全访问控制模块27用于基于密码学算法,在去中心化的环境中完成安全访问控制。
[0065] 本发明实施例通过基于区块链设计去中心化微服务集成框架,提供完善的服务治理功能,一方面保障微服务的正常运转,另一方面避免了中心化的微服务治理系统故障时,整个系统无法正常工作的问题。
[0066] 在上述实施例的基础上,所述路由管理模块22用于接收操作人员发送的微服务请求数据,通过数据校验后,向所述操作人员呈现所述信息,具体包括:
[0067] 当进行微服务信息查看时,所述操作人员通过微服务管理应用向负责微服务信息管理的微服务请求数据,所述微服务通过区块链数据接入服务与链进行交互,并结合本地存储的数据,向所述微服务管理应用返回所述信息;
[0068] 所述微服务管理应用通过区块链存证服务进行关键数据的链上校验,待核实数据真实性后,将所述信息向所述操作人员进行呈现。
[0069] 具体地,本发明实施例设计的微服务注册机制基于区块链的去中心化共识系统,对于相关的服务注册与路由管理需要进行相应的适应性改进,图2为本发明实施例提供的基于区块链的微服务管理应用框架图。
[0070] 集群中的微服务通过区块链节点进行服务的注册与发现,并将相关信息在区块链上进行存证。当进行微服务信息的查看时,操作人员首先通过微服务管理应用向负责微服务信息管理的微服务请求数据,该微服务通过区块链数据接入服务与链进行交互,并结合本地存储的数据,向微服务管理应用返回其所需要的信息。应用收到数据后,通过区块链存证服务进行关键数据的链上校验,以核实数据的真实性,并将相关信息对操作人员进行呈现。
[0071] 在上述实施例的基础上,所述弹性服务模块23用于接收操作人员发送的管理指令,并对所述管理指令进行解析,修改所述信息,完成弹性服务,具体包括:
[0072] 当进行微服务信息的管理时,所述操作人员通过微服务管理应用向微服务信息管理的微服务下达所述管理指令,所述微服务信息管理的微服务对所述管理指令及所述管理指令对应的参数进行解析,修改本地和所述区块链上的所述信息,完成所述弹性服务。
[0073] 具体地,当进行微服务信息的管理时,操作人员通过微服务管理应用向微服务信息管理微服务下达管理指令,微服务信息管理微服务对指令及参数进行解析,修改本地和区块链上的相关信息,完成弹性服务等功能。
[0074] 在上述实施例的基础上,所述管理指令包括:
[0075] 服务启动与扩容指令、服务关闭与缩容指令、服务重启指令、服务运行参数管理指令、服务自动伸缩配置指令、服务熔断与恢复指令和服务降级与恢复指令。
[0076] 具体地,与微服务信息管理相关的管理指令包括:
[0077] (1)服务启动与扩容:操作人员能够指定某个服务启动一个新的实例,并且能够指定服务是否在本地启动,相关操作需要进行权限申请与检查。进行操作时,微服务管理服务首先修改区块链上的注册信息。当指定服务在本地启动时,直接在本地启动相关微服务;当指定服务在远端启动时,调用相关实例中的服务管理接口进行服务的启动;当指定自动扩容时,将服务启动需求发布在区块链上,当其他节点定时进行服务状态的链上更新时,以竞争的形式完成微服务的启动工作。
[0078] (2)服务关闭与缩容:操作人员能够关闭某个服务。操作人员能够选择关闭某个实例,或关闭整个服务,相关操作需要进行权限申请与检查。操作时,微服务管理服务首先对区块链上的注册信息进行修改。当指定需要关闭的服务在本地时,直接关闭该服务;当指定需要关闭的服务在远端时,调用相关实例中的服务管理接口进行服务关闭;当指定自动缩容时,将服务关闭需求发布在区块链上,当其他节点定时进行服务状态的链上更新时,以竞争的形式完成微服务的启动工作。
[0079] (3)服务重启:操作人员能够指定本地或远端的某个服务重启。当指定的对象为远端微服务时,需要进行相关的权限申请与检查。
[0080] (4)服务运行参数管理:操作人员能够对服务的运行时参数进行配置,包括端口、内存限制、CPU限制等参数。
[0081] (5)服务自动伸缩配置:操作人员能够对某个服务配置自动伸缩策略,并将相关设置写在区块链上。当服务压力提升或缩减时动态地对实例的副本数量进行调整。
[0082] (6)服务熔断与恢复:操作人员能够指定某个服务进行熔断,实现问题服务剔除、异常服务保护等功能,并能够对熔断进行恢复。指令的发送通过区块链存证与远程调用相结合的方式,安全、快速地发送熔断指令,指令需通过区块链的共识确认。
[0083] (7)服务降级与恢复:操作人员能够指定某个服务进行降级操作,对超过阈值的流量进行直接返回或丢弃处理,以实现对服务或资源的保护功能,并能够对降级进行恢复。指令的发送通过区块链存证与远程调用相结合的方式,安全、快速地发送熔断指令,指令需通过区块链的共识确认。
[0084] 本发明实施例通过采用虚拟化技术与服务编排技术,将管理指令软件包的组织方式通过文件定义的形式确定,使得物理资源与上层应用解耦,为实现动态的资源服务提供基础;同时,智能移动终端微服务集群能够通过软件定义资源的方式进行服务调度,以实现系统运行效率的最大化,具体实现的动态资源能力包括:(1)跨终端服务调用与资源调配,在保证开发的便捷性的同时,实现跨终端的资源配置,优化资源的分配和使用;(2)服务的扩缩容,在负载或资源变化时对服务的当前副本数量进行调整,实现动态资源服务;(3)服务的熔断与恢复,利用区块链的密码学算法与安全传输特性,使得服务的熔断与恢复可以跨智能终端高效并安全地执行,从而避免微服务集群中的某个服务在无法正常工作时对整个应用集群产生影响,发生串联故障,甚至导致雪崩效应;(4)服务的降级与恢复,微服务集群能够在服务压力过大或资源匮乏时,对微服务进行取舍与调整,以保护核心功能正常工作,使得重要的功能平稳运行。
[0085] 在上述实施例的基础上,所述集中配置管理模块24包括配置子模块241和管理子模块242;其中:
[0086] 配置子模块241用于将所有的配置文件、参数等存储在区块链网络中;
[0087] 管理子模块242用于从所述区块链中读取配置并将所述配置提供至微服务。
[0088] 具体地,在分布式的集群环境下,手动对微服务的配置进行修改是不现实的,统一的参数配置能够节省很多运维工作。此外,在很多应用场景中,需要在不影响服务正常运行的前提下对参数的修改进行及时的更新,此时需要集中配置管理的支持。
[0089] 集中配置管理模块24包括配置子模块241与管理子模块242。配置子模块241部分是指所有的配置文件、参数等信息,本发明实施例中将这些信息存储在区块链网络中,管理子模块242部分指的是从区块链中读取配置并提供给微服务的配置管理模块,由于管理部分消耗资源很少,其可以在每个终端设备上进行部署,并执行配置抓取与配置同步任务,实现实时的配置更新。
[0090] 在上述实施例的基础上,所述日志系统模块25用于对分布式微集群进行分析和诊断,具体包括:
[0091] 在所述分布式集群中的每一个智能移动终端设备上部署日志插件,由微服务管理服务进行日志的管理操作;
[0092] 所述微服务管理服务对全局日志进行管理,基于所述区块链节点进行服务发现,得到发现结果,根据所述发现结果向本地和远端的所述日志插件进行调用,以获取所需内容。
[0093] 具体地,日志系统模块是对分布式微服务集群进行分析和诊断的关键服务,日志留存信息亦可作为审计的重要凭据,本发明实施例提出的日志系统框架如图3所示。
[0094] 每一个智能移动终端设备中均部署有相应的日志插件,并由微服务管理服务进行日志的管理操作。微服务管理服务对全局日志进行管理时,首先基于区块链节点进行服务发现,根据结果向本地、远端的日志插件进行调用,以获取所需的内容。
[0095] 在上述实施例的基础上,所述链路观测与控制模块26包括观测子模块261和控制子模块262;其中:
[0096] 所述观测子模块261用于基于日志系统模块实现,进行服务调用时,所述日志系统模块记录每一段服务调用的开始与结束时间,实现链路观测;
[0097] 所述控制子模块262用于基于服务注册与发现模块实现,将服务调用信息记录在所述区块链中,在服务进行发现时根据所述服务调用信息采取不同的服务调用策略,实现链路控制。
[0098] 其中,所述服务调用信息包括服务调用权重和服务引流信息。
[0099] 具体地,在微服务体系中,对调用链路进行观测与管理是必不可少的重要功能,是查找错误原因,提升服务性能的重要手段。
[0100] 本发明实施例提出的链路观测子模块的功能是基于日志系统模块实现,在进行服务间调用时,日志系统记录每一段服务调用的开始与结束时间,以实现链路观测的目的,同时链路控制子模块的功能是基于服务的注册与发现完成的。相关的服务调用信息如服务调用权重、服务引流信息等,将被记录在区块链当中,在服务进行发现时根据这些信息采取不同的服务调用策略,以达到链路控制的目的。
[0101] 在上述实施例的基础上,所述安全访问控制模块27用于基于密码学算法,在去中心化的环境中完成安全访问控制,具体包括:
[0102] 在每个服务进行远程服务调用时,使用所述服务自身的访问私钥进行签名,被调用方收到访问请求后,在所述区块链上进行调用方公钥的验证与签名验证,并根据所述区块链中记录的安全访问控制规则对所述访问请求进行通过和阻断等操作,并进行告警。
[0103] 具体地,基于密码学算法,可以在去中心化的环境中完成安全访问控制的工作。在每个服务进行远程服务调用时,需要使用自身的访问私钥进行签名,被调用方收到访问请求后,在区块链上进行调用方公钥的验证与签名验证,并根据区块链中记录的安全访问控制规则对访问请求进行通过、阻断等操作,在必要时进行告警。
[0104] 本发明实施例通过基于区块链设计去中心化微服务集成框架,提供完善的服务治理功能,一方面保障微服务的正常运转,另一方面避免了中心化的微服务治理系统故障时,整个系统无法正常工作的问题。
[0105] 图4为本发明实施例提供的一种分布式微服务治理系统的构建方法流程图,如图4所示,包括:
[0106] S1,构建服务注册与发现模块,用于将集群中的微服务通过区块链节点进行服务的注册与发现,并将信息在区块链上进行存证;
[0107] S2,构建路由管理模块,用于接收操作人员发送的微服务请求数据,通过数据校验后,向所述操作人员呈现所述信息;
[0108] S3,构建弹性服务模块,用于接收操作人员发送的管理指令,并对所述管理指令进行解析,修改所述信息,完成弹性服务;
[0109] S4,构建集中配置管理模块,用于对所述分布式微服务治理系统进行配置和管理;
[0110] S5,构建日志系统模块,用于对分布式微集群进行分析和诊断;
[0111] S6,构建链路观测与控制模块,用于对所述区块链的调用链路进行观测与管理,并查找错误原因和提升服务性能;
[0112] S7,构建安全访问控制模块,用于基于密码学算法,在去中心化的环境中完成安全访问控制。
[0113] 本发明实施例通过基于区块链设计去中心化微服务集成框架,提供完善的服务治理功能,一方面保障微服务的正常运转,另一方面避免了中心化的微服务治理系统故障时,整个系统无法正常工作的问题。
[0114] 以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0115] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0116] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
权利要求:1.一种分布式微服务治理系统,其特征在于,包括:
服务注册与发现模块、路由管理模块、弹性服务模块、集中配置管理模块、日志系统模块、链路观测与控制模块和安全访问控制模块;其中:
所述服务注册与发现模块用于将集群中的微服务通过区块链节点进行服务的注册与发现,并将信息在所述区块链上进行存证;
所述路由管理模块用于接收操作人员发送的微服务请求数据,通过数据校验后,向所述操作人员呈现所述信息;
所述弹性服务模块用于接收操作人员发送的管理指令,并对所述管理指令进行解析,修改所述信息,完成弹性服务;
所述集中配置管理模块用于对所述分布式微服务治理系统进行配置和管理;
所述日志系统模块用于对分布式微集群进行分析和诊断;
所述链路观测与控制模块用于对所述区块链的调用链路进行观测与管理,并查找错误原因和提升服务性能;
所述安全访问控制模块用于基于密码学算法,在去中心化的环境中完成安全访问控制。
2.根据权利要求1所述的一种分布式微服务治理系统,其特征在于,所述路由管理模块用于接收操作人员发送的微服务请求数据,通过数据校验后,向所述操作人员呈现所述信息,具体包括:
当进行微服务信息查看时,所述操作人员通过微服务管理应用向负责微服务信息管理的微服务请求数据,所述微服务通过区块链数据接入服务与链进行交互,并结合本地存储的数据,向所述微服务管理应用返回所述信息;
所述微服务管理应用通过区块链存证服务进行关键数据的链上校验,待核实数据真实性后,将所述信息向所述操作人员进行呈现。
3.根据权利要求1所述的一种分布式微服务治理系统,其特征在于,所述弹性服务模块用于接收操作人员发送的管理指令,并对所述管理指令进行解析,修改所述信息,完成弹性服务,具体包括:
当进行微服务信息的管理时,所述操作人员通过微服务管理应用向微服务信息管理的微服务下达所述管理指令,所述微服务信息管理的微服务对所述管理指令及所述管理指令对应的参数进行解析,修改本地和所述区块链上的所述信息,完成所述弹性服务。
4.根据权利要求1或3所述的一种分布式微服务治理系统,其特征在于,所述管理指令包括:
服务启动与扩容指令、服务关闭与缩容指令、服务重启指令、服务运行参数管理指令、服务自动伸缩配置指令、服务熔断与恢复指令和服务降级与恢复指令。
5.根据权利要求1所述的一种分布式微服务治理系统,其特征在于,所述集中配置管理模块包括配置子模块和管理子模块;其中:
配置子模块用于将所有的配置文件、参数等存储在区块链网络中;
管理子模块用于从所述区块链中读取配置并将所述配置提供至微服务。
6.根据权利要求1所述的一种分布式微服务治理系统,其特征在于,所述日志系统模块用于对分布式微集群进行分析和诊断,具体包括:
在所述分布式集群中的每一个智能移动终端设备上部署日志插件,由微服务管理服务进行日志的管理操作;
所述微服务管理服务对全局日志进行管理,基于所述区块链节点进行服务发现,得到发现结果,根据所述发现结果向本地和远端的所述日志插件进行调用,以获取所需内容。
7.根据权利要求1所述的一种分布式微服务治理系统,其特征在于,所述链路观测与控制模块包括观测子模块和控制子模块;其中:
所述观测子模块用于基于日志系统模块实现,进行服务调用时,所述日志系统模块记录每一段服务调用的开始与结束时间,实现链路观测;
所述控制子模块用于基于服务注册与发现模块实现,将服务调用信息记录在所述区块链中,在服务进行发现时根据所述服务调用信息采取不同的服务调用策略,实现链路控制。
8.根据权利要求7所述的一种分布式微服务治理系统,其特征在于,所述服务调用信息包括服务调用权重和服务引流信息。
9.根据权利要求1所述的一种分布式微服务治理系统,其特征在于,所述安全访问控制模块用于基于密码学算法,在去中心化的环境中完成安全访问控制,具体包括:
在每个服务进行远程服务调用时,使用所述服务自身的访问私钥进行签名,被调用方收到访问请求后,在所述区块链上进行调用方公钥的验证与签名验证,并根据所述区块链中记录的安全访问控制规则对所述访问请求进行通过和阻断等操作,并进行告警。
10.一种分布式微服务治理系统的构建方法,其特征在于,包括:
构建服务注册与发现模块,用于将集群中的微服务通过区块链节点进行服务的注册与发现,并将信息在区块链上进行存证;
构建路由管理模块,用于接收操作人员发送的微服务请求数据,通过数据校验后,向所述操作人员呈现所述信息;
构建弹性服务模块,用于接收操作人员发送的管理指令,并对所述管理指令进行解析,修改所述信息,完成弹性服务;
构建集中配置管理模块,用于对所述分布式微服务治理系统进行配置和管理;
构建日志系统模块,用于对分布式微集群进行分析和诊断;
构建链路观测与控制模块,用于对所述区块链的调用链路进行观测与管理,并查找错误原因和提升服务性能;
构建安全访问控制模块,用于基于密码学算法,在去中心化的环境中完成安全访问控制。
公开号:CN110602208
申请号:CN201910865304.7A
发明人:杨文韬 王昊 陈昌 易晓春
申请人:北京笔新互联网科技有限公司
申请日:2019-09-12
公开日:2019-12-20