一种java语言分布式微服务治理框架制造技术

技术编号:20362464 阅读:23 留言:0更新日期:2019-02-16 16:20
本发明专利技术公开了一种java语言分布式微服务治理框架,基于spring系列框架实现,其特征在于,包括注册中心、配置中心、配置仓库、路由网关、服务提供者、服务消费者、消息总线和客户端;其中配置仓库用于存放服务配置文件;配置中心从配置仓库中读取配置,向注册中心发送注册请求,同时向消息总线发送消息;服务提供者从消息总线接收消息,从配置中心获取配置,向注册中心发送注册请求;服务消费者从服务提供者调用内部服务,向注册中心发送注册请求;路由网关从服务消费者调用服务,从消息总线调用服务,向注册中心发送注册请求;客户端从路由网关调用服务。

【技术实现步骤摘要】
一种java语言分布式微服务治理框架
本专利技术涉及java分布式服务治理
,更具体地,涉及一种java语言分布式微服务治理框架。
技术介绍
随着互联网的普及、国内互联网行业飞速发展,我们对软件系统的需求已经不再是过去“能用就行”这种很基本的需求了,像抢红包、双十一这样的活动不断逼迫我们去突破软件系统的性能上限,传统的IT企业“能用就行”的开发思想已经不能满足互联网高并发、大流量的性能要求。系统架构走向分布式已经是服务器开发领域解决该问题唯一的出路。
技术实现思路
本专利技术的目的是解决上述一个或多个缺陷,提出一种java语言分布式微服务治理框架。为实现以上专利技术目的,采用的技术方案是:一种java语言分布式微服务治理框架,基于spring系列框架实现,包括注册中心、配置中心、配置仓库、路由网关、服务提供者、服务消费者、消息总线和客户端;其中配置仓库用于存放服务配置文件;配置中心从配置仓库中读取配置,向注册中心发送注册请求,同时向消息总线发送消息;服务提供者从消息总线接收消息,从配置中心获取配置,向注册中心发送注册请求;服务消费者从服务提供者调用内部服务,向注册中心发送注册请求;路由网关从服务消费者调用服务,从消息总线调用服务,向注册中心发送注册请求;客户端从路由网关调用服务。优选的是,所述注册中心采用EurekaServer组件,在分布式系统中,每个服务单元向注册中心登记自己提供的服务,包括服务的主机与端口号、服务版本号、通讯协议。优选的是,所述注册中心还包括服务发现模块;在服务治理框架中,服务间的调用不再通过指定具体的实例地址来实现,而是通过服务名发起请求调用实现。服务调用方通过服务名从服务注册中心的服务清单中获取服务实例的列表清单,通过指定的负载均衡策略取出一个服务实例位置来进行服务调用。优选的是,所述配置中心采用SpringConfig组件;在分布式系统中,每一个功能模块都能拆分成一个独立的服务,一次请求的完成,可能会调用很多个服务协调来完成,为了方便服务配置文件统一管理,更易于部署、维护,所以就需要分布式配置中心组件了,在本框架中,分布式配置中心组件支持配置文件放在配置服务的内存中,也支持放在远程GIT仓库里。优选的是,所述配置仓库包括存放服务配置文件的GIT仓库。优选的是,所述路由网关采用ZUUl组件;在分布式系统中,网关的主要功能是路由转发和过滤器,可以更好的对项目的微服务封装,可将项目的微服务统一封装在一个内网环境中,只通过网关提供服务,同时网关也可以对安全,认证,监控,防御单独强化。所述服务提供者使用EurekaServer组件;在分布式系统中,服务提供者是指服务的被调用方(即:为其它服务提供服务的服务),服务提供者需要向注册中心注册服务的后才能将提供服务。所述服务消费者使用Ribbon、Feign组件;在分布式系统中,服务消费者是指服务的调用方(即:依赖其它服务的服务)。消费者需要从注册中获取具体服务提供者,Ribbon和Feign组件同时也提供负责均衡。所述消息总线70使用SpringCloudBUS。消息总线是通过一个轻量级的消息中间件连接分布式系统中的各个节点。可以使用该总线来广播某些状态的改变(比如配置信息发生变更)或其他管理指令。优选的是,客户端在服务治理框架中,客户端指的使用服务的具体应用,包括APP、管理平台和开放API中的一种或多种;其中所述客户端包括认证服务模块和基本管理模块,所述认证服务模块在服务治理框架中集成了OAuth2并通过搭建独立的OAuth2认证授权服务将权限管理从应用中单独剥离出来;所述基本管理模块用于完成系统集成中基本的系统管理。优选的是,所述基本管理模块包括用户管理单元、组织管理单元、角色管理单元、权限管理单元、菜单管理单元、日志管理单元和数据字典管理单元。与现有技术相比,本专利技术的有益效果是:1)通过分解巨大单体式应用为多个服务方法解决了复杂性问题,在功能不变的情况下,应用被分解为多个可管理的分支或服务;2)开发者不再需要协调其它服务部署对本服务的影响;3)分布式微服务治理框架使得每个服务独立扩展,使用者可以根据每个服务的规模来部署满足需求的规模;4)框架集成了通用基础的系统管理功能,在一定程度上提高了开发效率。附图说明图1为本专利技术提供的一种java语言分布式微服务治理框架的结构图;图2为本专利技术服务注册中心、服务提供、服务消费的示意图;图3为本专利技术配置中心示意图;图4为本专利技术消息总线示意图;图5为本专利技术基础功能结构图。具体实施方式附图仅用于示例性说明,不能理解为对本专利的限制;以下结合附图和实施例对本专利技术做进一步的阐述。实施例1一种java语言分布式微服务治理框架,基于spring系列框架实现,请参考图1,包括注册中心10、配置中心20、配置仓库30、路由网关40、服务提供者50、服务消费者60、消息总线70和客户端80;其中配置仓库30用于存放服务配置文件;配置中心20从配置仓库30中读取配置,向注册中心10发送注册请求,同时向消息总线70发送消息;服务提供者50从消息总线70接收消息,从配置中心20获取配置,向注册中心10发送注册请求;服务消费者60从服务提供者50调用内部服务,向注册中心10发送注册请求;路由网关40从服务消费者60调用服务,从消息总线70调用服务,向注册中心10发送注册请求;客户端80从路由网关40调用服务。在本实施例中,注册中心10在服务治理框架中,注册中心采用EurekaServer组件。在分布式系统中,每个服务单元向注册中心10登记自己提供的服务,包括服务的主机与端口·点的服务注册中心,这样一旦发生了故障,那么整个服务就会瘫痪,所以我们需要一个高可用的服务注册中心,那么在Eureka中,我们通过集群来解决这个问题。EurekaServer的高可用实际上就是将自己作为服务向其他服务注册中心注册自己,这样就会形成一组互相注册的服务注册中心,进而实现服务清单的互相同步,达到高可用的效果;注册中心10包含服务发现模块:在服务治理框架中,服务间的调用不再通过指定具体的实例地址来实现,而是通过服务名发起请求调用实现。服务调用方通过服务名从服务注册中心10的服务清单中获取服务实例的列表清单,通过指定的负载均衡策略取出一个服务实例位置来进行服务调用。请参考图2,图2完整的展示了服务注册发现、服务提供者50、服务消费者60之间的调用和注册关系:1)首先将服务提供者50注册到服务发现组件中;2)再将服务消费者60也注册到服务发现组件中;3)服务消费者60同时会从服务发现组件中获取服务提供者50的相关信息;4)服务消费者60直接使用从服务发现组件中获取的信息调用服务发现。本实施例中配置中心20采用SpringConfig组件。在分布式系统中,每一个功能模块都能拆分成一个独立的服务,一次请求的完成,可能会调用很多个服务协调来完成,为了方便服务配置文件统一管理,更易于部署、维护,所以就需要分布式配置中心组件了,在本框架中,分布式配置中心组件支持配置文件放在配置服务的内存中,也支持放在远程GIT仓库里。在使用过程中我们也会采用高可用的配置中心。如图3所示,展示了从配置中心20获取配置文件的流程:1)配置中心20注册到服务发现组件中;2)服本文档来自技高网...

【技术保护点】
1.一种java语言分布式微服务治理框架,基于spring系列框架实现,其特征在于,包括注册中心(10)、配置中心(20)、配置仓库(30)、路由网关(40)、服务提供者(50)、服务消费者(60)、消息总线(70)和客户端(80);其中配置仓库(30)用于存放服务配置文件;配置中心(20)从配置仓库(30)中读取配置,向注册中心(10)发送注册请求,同时向消息总线(70)发送消息;服务提供者(50)从消息总线(70)接收消息,从配置中心(20)获取配置,向注册中心(10)发送注册请求;服务消费者(60)从服务提供者(50)调用内部服务,向注册中心(10)发送注册请求;路由网关(40)从服务消费者(60)调用服务,从消息总线(70)调用服务,向注册中心(10)发送注册请求;客户端(80)从路由网关(40)调用服务。

【技术特征摘要】
1.一种java语言分布式微服务治理框架,基于spring系列框架实现,其特征在于,包括注册中心(10)、配置中心(20)、配置仓库(30)、路由网关(40)、服务提供者(50)、服务消费者(60)、消息总线(70)和客户端(80);其中配置仓库(30)用于存放服务配置文件;配置中心(20)从配置仓库(30)中读取配置,向注册中心(10)发送注册请求,同时向消息总线(70)发送消息;服务提供者(50)从消息总线(70)接收消息,从配置中心(20)获取配置,向注册中心(10)发送注册请求;服务消费者(60)从服务提供者(50)调用内部服务,向注册中心(10)发送注册请求;路由网关(40)从服务消费者(60)调用服务,从消息总线(70)调用服务,向注册中心(10)发送注册请求;客户端(80)从路由网关(40)调用服务。2.根据权利要求1所述的一种java语言分布式微服务治理框架,其特征在于,所述注册中心(10)采用EurekaServer组件,在分布式系统中,每个服务单元向注册中心(10)登记自己提供的服务,包括服务的主机与端口号、服务版本号、通讯协议。3.根据权利要求2所述的一种java语言分布式微服务治理框架,其特征在于,所述注册中心(10)还包括服务发现模块;所述服务发现模块通过服务名发起请求调用实现,并通过制定的负载均衡策略取出一个服务实例位置...

【专利技术属性】
技术研发人员:练镜锋
申请(专利权)人:广州瀚信通信科技股份有限公司
类型:发明
国别省市:广东,44

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

1