一种基于微服务架构的气象数据服务平台制造技术

技术编号:31812806 阅读:15 留言:0更新日期:2022-01-08 11:16
本发明专利技术公开了一种基于微服务架构的气象数据服务平台,包括:访问层,用于通过向网关层发送请求,向服务层调用微服务;网关层,用于接收访问层的请求,进行数据认证授权、协议转换、服务路由、限流熔断;服务层,用于调用微服务层聚合结果,处理实际的业务请求;所述微服务层由业务微服务和组件微服务组成;存储层,用于服务层的业务微服务和组件微服务的数据存储。本发明专利技术可以有效地降低业务之间的耦合度,易于开发、维护和升级。根据不同应用类型及服务模块,可以增加配置管理、权限认证、熔断降级、日志监控等模块来满足服务的非功能性需求。志监控等模块来满足服务的非功能性需求。志监控等模块来满足服务的非功能性需求。

【技术实现步骤摘要】
一种基于微服务架构的气象数据服务平台


[0001]本专利技术涉及气象数据服务
,尤其涉及一种基于微服务架构的气象数据服务平台。

技术介绍

[0002]随着当前全球气候的变化,极端天气现象不断出现严重影响了人们的生活,特别气象灾害给人们的生命和财产安全造成极大的威胁。人们越来越关注天气的变化,对气象服务(如天气预报等)的需求在不断提高。提供一个稳定可靠的气象数据服务平台至关重要,目前大多数气象数据服务平台的服务端架构形式还是传统的单体架构,单体架构会将应用程序的所有功能打包成一个应用安装包,并且应用部署到服务器上会运行在同一进程中。采用单体架构具有易于部署和测试等优点,但是单体架构存在以下几项缺点:业务耦合程度过高,整个项目包含的所有功能模块,模块的边界模糊,系统难以维护和升级;代码庞大,代码质量参差不齐,可维护性、灵活性降低,软件交付周期长;扩展性低,单体应用只能作为一个整体进行扩展,无法按需伸缩;可靠性低,当某个功能出现故障时,可能导致整个系统不可用。

技术实现思路

[0003]有鉴于现有技术的上述缺陷,本专利技术所要解决的技术问题是提供一种基于微服务架构的气象数据服务平台,以解决现有技术的不足。
[0004]为实现上述目的,本专利技术提供了一种基于微服务架构的气象数据服务平台,包括:访问层,用于通过向网关层发送请求,向服务层调用微服务;网关层,用于接收访问层的请求,进行数据认证授权、协议转换、服务路由、限流熔断;服务层,用于调用微服务层聚合结果,处理实际的业务请求;所述微服务层由业务微服务和组件微服务组成,其中业务微服务包括用户服务、订单服务、认证服务、支付服务、气象数据服务、城市数据服务、数据采集服务、其他微服务,组件微服务包括配置管理服务、注册发现服务、监控管理服务和日志收集服务;存储层,用于服务层的业务微服务和组件微服务的数据存储。
[0005]优选的,所述访问层包括PC浏览器、移动智能设备,所述访问层调用微服务携带token信息供网关层验证请求是否合法。
[0006]优选的,所述网关层首先对访问层的请求做认证授权校验,根据请求的token判断是否为合法的请求,如果不是合法的请求,直接返回错误码,如果是合法的请求,则网关层将请求路由到具体的微服务。
[0007]优选的,所述网关层维护一个定时任务,每隔一定的时间发送请求给服务层的注册发现服务获取微服务信息,将所有微服务的IP和端口号缓存到网关层本地,网关层根据负载均衡算法将请求发送给其中一个微服务实例。
[0008]优选的,所述负载均衡算法采用轮询负载均衡算法,依次调用目标微服务实例,将访问层的请求分发到服务层的不同的服务器上执行。
[0009]优选的,所述网关层当某个微服务发生故障导致调用频繁超时,主动熔断发生故障的微服务。
[0010]优选的,所述业务微服务之间的服务通信包括REST协议、RPC协议、MQ协议。
[0011]优选的,所述配置管理服务用于管理微服务的配置信息,将散落在数据库、本地配置文件和启动参数的配置信息统一管理和维护,微服务通过MQ更新本地配置信息;注册发现服务提供服务发现和服务注册,微服务启动时向注册发现服务注册服务节点信息,包括IP和端口号,注册发现服务通过心跳检查、客户端缓存等机制确保系统的高可用和可伸缩性;日志收集服务用于收集微服务日志数据,用于诊断排查错误;监控管理服务用于监控和管理各个微服务运行状态、异常告警。
[0012]优选的,所述存储层由MySQL、Redis和Elasticsearch组成,业务微服务根据不同的业务特点,将数据存储在不同的数据库存储。
[0013]优选的,所述存储层的存储气象数据服务的数据来源不限于国家气象局、其他专业天气数据服务网站。
[0014]本专利技术的有益效果是:本专利技术采用的微服务架构是一种架构理念,通过将大型复杂的单体架构应用拆分成很多小应用(微服务),拆分后的各个微服务可以部署在不同的服务器上,也可以部署在相同服务器的不同容器上。每个微服务只实现单一的业务功能,可以有效地降低业务之间的耦合度,易于开发、维护和升级。遇到业务峰谷,每个微服务可以独立的做资源伸缩;每个微服务专注于单一能力,可以简化设计,结合业务和团队特点,使用更合适的技术栈;每个微服务可以有独立的开发进度,独立发布、部署和升级;微服务之间使用轻量级通信机制来进行通信,一个典型的微服务架构包括:访问层、网关层、服务层、存储层模块,根据不同应用类型及服务模块,可以增加配置管理、权限认证、熔断降级、日志监控等模块来满足服务的非功能性需求。
[0015]以下将结合附图对本专利技术的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本专利技术的目的、特征和效果。
附图说明
[0016]图1是本专利技术的平台原理框图。
[0017]图2是本专利技术的平台车架构图。
具体实施方式
[0018]如图1、2所示,本专利技术提供了一种基于微服务架构的气象数据服务平台,包括:访问层,用于通过向网关层发送请求,向服务层调用微服务,访问层包括PC浏览器、移动智能设备;网关层,用于接收访问层的请求,进行数据认证授权、协议转换、服务路由、限流熔断;访问层所有请求都会经过网关层,网关层功能包括认证授权、协议转换、服务路由、限流熔断等;
服务层,用于调用微服务层聚合结果,处理实际的业务请求;所述微服务层由业务微服务和组件微服务组成,其中业务微服务包括用户服务、订单服务、认证服务、支付服务、气象数据服务、城市数据服务、数据采集服务、其他微服务,组件微服务包括配置管理服务、注册发现服务、监控管理服务和日志收集服务;存储层,用于服务层的业务微服务和组件微服务的数据存储。
[0019]访问层,访问层一般为PC浏览器,移动设备和其他终端,访问层调用微服务需要携带token信息供网关层验证请求是否合法。
[0020]网关层,访问层的所有请求都会经过网关层,网关层负责接收访问层的请求,网关层首先对访问层的请求做认证授权校验,根据请求的token判断是否为合法的请求,如果不是合法的请求,直接返回错误码,如果是合法的请求,则网关层将请求路由到具体的微服务。网关层维护一个定时任务,每隔一定的时间(比如30s)发送请求给服务层的注册发现服务获取微服务信息,将所有微服务的IP和端口号缓存到网关层本地,网关层根据负载均衡算法将请求发送给其中一个微服务实例,一般采用轮询负载均衡算法,依次调用目标微服务实例,将访问层的请求分发到服务层的不同的服务器上执行。当某个微服务发生故障导致调用频繁超时,网关层会主动熔断发生故障的微服务,以防止大量线程因调用故障的微服务而长期占用,发生故障的微服务恢复稳定后,网关层恢复调用。
[0021]服务层,服务层通常会调用其他微服务层聚合结果,处理实际的业务请求。业务微服务对外提供REST(Representational State Transfer,表现层状态转换)接口,供其他微服务调用。不同业务微服务之间的服务通信包括REST协本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于微服务架构的气象数据服务平台,其特征在于,包括:访问层,用于通过向网关层发送请求,向服务层调用微服务;网关层,用于接收访问层的请求,进行数据认证授权、协议转换、服务路由、限流熔断;服务层,用于调用微服务层聚合结果,处理实际的业务请求;所述微服务层由业务微服务和组件微服务组成,其中业务微服务包括用户服务、订单服务、认证服务、支付服务、气象数据服务、城市数据服务、数据采集服务、其他微服务,组件微服务包括配置管理服务、注册发现服务、监控管理服务和日志收集服务;存储层,用于服务层的业务微服务和组件微服务的数据存储。2.如权利要求1所述的一种基于微服务架构的气象数据服务平台,其特征在于:所述访问层包括PC浏览器、移动智能设备,所述访问层调用微服务携带token信息供网关层验证请求是否合法。3.如权利要求1所述的一种基于微服务架构的气象数据服务平台,其特征在于:所述网关层首先对访问层的请求做认证授权校验,根据请求的token判断是否为合法的请求,如果不是合法的请求,直接返回错误码,如果是合法的请求,则网关层将请求路由到具体的微服务。4.如权利要求1所述的一种基于微服务架构的气象数据服务平台,其特征在于:所述网关层维护一个定时任务,每隔一定的时间发送请求给服务层的注册发现服务获取微服务信息,将所有微服务的IP和端口号缓存到网关层本地,网关层根据负载均衡算法将请求发送给其中一个微服务实例。5.如权利要求4所述的一种基于微服务架构的气象数据服务平台,...

【专利技术属性】
技术研发人员:营米张录军杨春李晓洁
申请(专利权)人:南京满星数据科技有限公司
类型:发明
国别省市:

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

1
相关领域技术
  • 暂无相关专利