999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于微服務架構的應急預警信息精準靶向發布系統的設計與實現

2022-02-16 07:55:54陳玉貴羅紅梅郭海峰朱國強
農業災害研究 2022年12期
關鍵詞:服務信息系統

陳玉貴,羅紅梅,郭海峰,朱國強,唐 群

1.湖南省氣象服務中心,湖南長沙 410118;2.氣象防災減災湖南省重點實驗室,湖南長沙 410118

湖南是氣象災害頻發、重發的省份,汛期災害性天氣頻發,如何防汛救災、減少人員傷亡備受關注,氣象預報預警是防御和減輕氣象及次生災害的第一道防線[1]。2016年11月,湖南省級突發預警信息發布平臺建成,平臺已實現13種發布渠道,包括手機短信、聲訊、大喇叭、顯示屏、網站、電視廣播、微博微信、北斗衛星等可傳播預警信息,但手機短信、聲訊等傳播渠道是基于群組向防汛責任人發布的[2]。近年來,習近平總書記多次強調要加強預警體系建設,提出“預警發布要精準”,“預警信息發布要到村到戶到人”,2021年湖南建設了全省統一應用的湖南省應急預警信息精準靶向發布系統,通過與移動、聯通、電信三大運營商打通精準靶向發布接口,實現了基于電子圍欄技術,確保預警信息精確發送到圈定區域內社會公眾的每個手機號碼,讓省、市、縣、鄉鎮(街道)、村(社區)各級防汛責任人針對性地采取防御措施,贏得寶貴的轉移避險時間,保障人民群眾生命財產安全,為決策部門應急聯動提供支撐[3]。

1 系統總體設計

1.1 系統業務需求

2021年湖南省應急預警信息精準靶向發布系統,實現市州氣象局、省級突發預警信息發布責任單位靈活、快速接入,且提供給第三方系統平臺外部接口能力服務。隨著精準靶向發布系統對接部門的增加,原有單服務器架構已不足以滿足業務需求,使用微服務架構,可以分區域部署多個數據庫,對數據進行拆分,顯著降低服務器的壓力;采用微服務架構,構建獨立部署、水平擴展、獨立訪問的服務單元,以提高整個系統訪問的時效性和并發性[4]。

1.2 系統總體架構

系統總體架構采用微服務架構設計,主要分為業務前臺、業務中臺、技術中臺(圖1)。業務前臺主要為客戶端,展示各個功能模塊和對外接口能力的輸出。業務中臺主要是服務端的內部服務,支撐前端功能需求,負責業務邏輯處理、權限管理、對接外部接口能力等。技術中臺是服務端核心支撐功能點,支撐業務中臺的相關業務,主要為數據庫、緩存、網絡、監控、安全,資源調度等服務端支撐體系。

圖1 湖南省應急預警精準靶向發布系統微服務架構圖

1.3 基于微服務架構的開發技術

微服務是一種分布式系統解決方案,2012年最先被提出,用于解決快速發展中可用軟件問題,實現像更換零件一樣更換軟件的愿景[5]。微服務按照業務而非技術劃分的特性,具有高內聚性、高擴展性和高自治性的特點。微服務與微服務之間通過網絡調用進行通信,從而加強了服務間的隔離性,避免了緊耦合[6]。在微服務平臺上,每個服務都是可熱插拔的,且某個服務的水平降級不顯著影響整個系統的使用。

SpringCloud是當前最流行、先進的微服務實現框架,它是一系列微服務開發工具集,提供包括微服務的分布式配置、服務發現、路由、負載均衡、斷路器、服務網關、消息傳遞等應用組件[7]。在該系統架構設計研發過程中,將系統拆分成用戶服務、授權服務、網關服務、群組服務、靶向發布服務等多個微服務。每個微服務專注于單一功能,并通過定義良好的接口清晰表述服務邊界,易于保持高可維護性和開發效率。根據實際應用場景,可以動態擴展使用頻率高、負載大的服務,橫向增加每個服務的能力。通過靈活水平擴展和集成,獨立部署及運維,使得按需彈性擴展服務更容易。

2 基于微服務架構的應急預警信息精準靶向發布系統設計

2.1 系統的微服務總體架構設計

系統采用SpringCloud微服務架構設計思想,通過Vue.js作為前端框架和SpringBoot作為后端框架進行結合設計開發,主要包括系統基礎服務、基礎公共服務和業務服務[8]。業務服務中各微服務都定義成獨立的服務接口,相比于原來單體結構的難以維護的情況,新的系統由實現不同功能的微服務組成,每個微服務只關注單一的業務功能[9]。

2.1.1 系統基礎服務系統基礎服務主要包括服務注冊中心(consul)、服務配置中心(springcloud-config)、服務網關(springcloud-gateway)、授權中心(authcenter)、服務監控中心(monitor-center)等。系統通過Consul組件開發自己的注冊服務,實現服務注冊統一管理;通過springcloud-config組件開發配置中心服務,實現微服務配置統一管理;通過springcloud-gateway組件開發服務網關,負責請求路由,來自外部客戶端的API請求先轉到服務網關,再由網關轉到各自對應的服務,實現預警信息入口統一管理[10]。

2.1.2 基礎公共服務基礎公共服務包括對引用的第三方中間件的封裝集成和系統各個服務所需的公共處理組件模塊(如log日志組件、oss組件、job任務組件等)。系統通過redis中間件實現熱點數據緩存加速;通過mysql集群實現數據持久化存儲;通過fastdfs中間件實現文件的持久化存儲;通過ELK套件(Elasticsearch-Logstash-Kibana) 實現日志收集展示;通過XXL-JOB實現分布式任務調度。

2.1.3 業務服務業務服務包括用戶服務、群組服務、靶向任務服務等。該系統通過Springboot-admin實現系統服務的監控;通過rabbitmq實現靶向任務等消息的訂閱發布;系統服務之間通過基于openfeign提供的RESTFULAPI進行服務調用,通過LoadBalance處理服務間的負載均衡,通過Sentinel處理服務限流;通過git、maven、docker、harbor、kubernetes實現系統自動化運維流程。系統總體架構見圖2。

圖2 湖南省應急預警信息精準靶向發布系統架構圖

2.2 系統實現

該系統實現主要包括發布渠道接入、動態信息接入、精準靶向推送和發布內容詳情查看等功能。

2.2.1 發布渠道接入該系統通過restful接口與移動、電信、聯通三大運營商對接相關接口,如區選人數預估、圈選人數預估、框選人數預估、精準靶向任務發布、精準靶向任務查詢、精準靶向任務終止等接口。

2.2.2 動態信息接入及精準靶向推送系統基于GIS地圖,以平面圖層方式展示,接入的各運營商數據,包括靜態數據、動態實時用戶數據等。靜態數據包括湖南省地圖GIS數據信息、電子圍欄信息等,動態數據包括區選、圈選、框選范圍內的人數、精準靶向歷史發布數據等。這些數據通過運營商提供的接口接入本系統,通過不同范圍的選擇方式,實時計算人口數,根據精準靶向預估發送模型,對數據進行加工,融合處理后得到預估發送結果,并通過反饋的信息,精準計算發布人群及數量、發布內容、預警類型和等級、發布時間。使用定時任務和消息隊列推送發布任務實現預警消息精準、快速推送到對應人群。

2.2.3 發布內容及詳情查看針對已經發布的精準靶向任務,通過任務管理可以實時監控查看推送進度、各運營商發布人數、推送總量及當前任務狀態。

單個精準靶向任務通過詳情入口,可以查看更詳細的發布信息,如推送時間、推送進度、各運營商發布人數等信息,并通過GIS地圖,清晰地展示發布區域。

3 基于微服務架構的系統開發核心流程處理示例

該系統核心處理流程包括搭建注冊中心、構建配置中心、服務注冊與發現、微服務使用,協同采用IntelliJ IDEA作為開發工具,Maven作為構建工具,git作為代碼管理工具。

3.1 搭建注冊中心

通過dockerhub獲取Consul鏡像地址,在kubernetes中通過構建部署文件consul.yaml,實現注冊服務部署。

3.2 搭建配置中心

在分布式微服務架構中,服務數量越來越多,每個服務實例都會有配置文件,如.yml文件、.properties文件、.json文件等。這些文件分布在系統的各個服務中,管理復雜,要承擔反復修改編譯代碼、重啟系統、重新打包等風險,為了方便所有服務的配置統一管理,實時更新,因此引入分布式配置中心。

(1)使用IntelliJ IDEA,創建新應用項目platform-config,把該項目作為配置中心的服務創建完成后。先在配置管理文件,如以下定義項目配置文件pom.xml,在其中配置必須的依賴:

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-configserver</artifactId>

</dependency>

(2)實現配置服務啟動類PlatformConfigApplication

例如,在代碼PlatformConfigApplication.java文件中類聲明上添加注解,即可實現服務的啟動類,用于啟動配置中心:

@EnableConfigServer

@SpringBootApplication

@EnableDiscoveryClient

@EnableConfigServer

@SpringBootApplication

publicclassPlatformConfigApplicati on{

publicstaticvoidmain(String[]args){

SpringApplication.run(Platform ConfigApplication.class,args);

}

}

@EnableDiscoveryClient

@EnableConfigServer

@SpringBootApplication

(3)配置訪問路徑及相關參數,例如,定義bootstrap.yml配置文件,參數可如下進行:

server:

port:9130

spring:

application:

name:@artifactId@

profiles:

active:native

cloud:

config:

server:

native:

search-locations:classpath:/config

consul:

host:${CONSUL_URL:127.0.0.1}

port:${CONSUL_PORT:8500}

discovery:

prefer-ip-address:true

health-check-interval:5s

instance-id:${spring.application.name}-${server.port}-${spring.cloud.client.ip-address}

log:

path:logs/${spring.application.name}

配置中心啟動后可通過注冊中心服務的管理界面,查看配置中心微服務的相關信息。

3.3 微服務注冊及使用

在完成服務注冊中心和配置中心搭建后,將其他服務添加到注冊中心Consul的服務體系中,作為服務的提供者提供相應的服務。下面以imasphonebook-service群組微服務為例,介紹微服務的創建和注冊流程。

(1)創建新應用模塊,定義為imasphonebook-service,并在pom.xml配置,配置情況如下:

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starterconsul-discovery</artifactId>

</dependency>

(2)創建微服務啟動類PhoneBook ServiceApplication

@SpringBootApplication

@EnableDiscoveryClient

@EnableFeignClients

publicclassPhoneBookServiceAppli cation{

publicstaticvoidmain(String[]args){

SpringApplication.run(PhoneBook ServiceApplication.class,args);

}

}

@EnableDiscoveryClient

@EnableFeignClients

@SpringBootApplication

(3)配置訪問路徑及相關參數

spring:

application:

name:@artifactId@

main:

profiles:

active:prod

cloud:

config:

name:imas-phonebook,imascommon

profile:prod

discovery:

enabled:true

service-id:${CLOUD_CONFIG_SERVICE:platform-config}

uri:${CONFIG_URL:http://platform-config:9130}

username:${CLOUD_CONFIG_USERNAME:admin}

password:${CLOUD_CONFIG_PASSWORD:imas@IMAS!@}

consul:

host:${CONSUL_HOST:10.111.124.197}

port:${CONSUL_PORT:8500}

discovery:

prefer-ip-address:true

health-check-interval:5s

在注冊中心中注冊的微服務可以向整個系統提供該微服務所具備的功能,即實現服務消費。

(4)創建一個使用imas-phonebookservice服 務 的SpringBoot基 礎 工 程imas-platform-service,在pom.xml中 引入相應的依賴。配置情況如下:

<dependency>

<groupId>com.vphonor.imas</groupId>

<artifactId>imas-phonebook-api</artifactId>

</dependency>

(5)創建應用的入口類,在入口類的實現文件中通過使用@EnableDiscoveryClient注解讓該應用注冊為Consul的客戶端應用,以獲得服務發現能力。

@SpringBootApplication

@EnableDiscoveryClient

@EnableFeignClients

publicclassPlatformServiceApplicati on{

publicstaticvoidmain(String[]args){

SpringApplication.run(Platform ServiceApplication.class,args);

}

}

(6)創建調用函數調用群組服務

publicResultgroupCreate(ApiReque strequest){

returnphoneBookClient.platform GroupCreate(request);

}

經過上述步驟,可以通過platformservice能開服務對群組服務發起遠程調用。

4 微服務系統部署

分布式架構是微服務的主要特性,系統細分功能服務,各個細分后的模塊進程是獨立的,從而確保部署時能夠獨立操作[11]。當發生系統故障而影響系統穩定性時,工作人員可將故障影響控制在單個應用中,這樣既避免了對其他服務造成影響,還極大地保證了軟件運行的穩定性、安全性和可靠性[12]。

系統通過git、maven、docker、harbor、kubernetes實現系統自動化運維部署流程。其中,git用于存儲系統代碼、管理代碼分支;maven作為依賴管理工具,用于項目構建、打包等;docker用于保存系統打包的鏡像文件,docker技術具有開箱即用、快速部署、可移植性強、環境隔離的特點,可以很好地解決微服務架構部署面臨的諸多問題;harbor作為鏡像倉庫,用于保存生成的鏡像文件;kubernetes作為容器化平臺,用于承載系統服務,并提供靈活的伸縮機制,實現動態擴容,保證系統穩定性和高可用性[13]。

5 結論與討論

基于Spring Cloud架構的微服務框架已經應用于湖南省應急預警信息精準靶向發布系統,系統融合移動、聯通、電信運營商數據及接口,實現了對災害的精準預警和對預警發布任務的實時動態監測,驗證了微服務架構用于復雜的預警發布和監測的可行性與實用性,降低了系統各功能模塊間的耦合度,更有利于應用系統的擴充和完善。相較于采用傳統單體架構應用的開發過程,其降低了開發的難度,與外省同類系統相比提高了系統運行效率,也更便于發布渠道等擴展系統的對接。本系統今后的重點研究方向:隨著接入更多的發布通道和更多的發布類型,通過開發新的微服務或者迭代現有的微服務,為湖南省應急預警信息精準靶向發布系統提供更優質、更穩定的服務,并通過更多的大數據分析技術手段使其不斷完善,更好地應用于各類災害預警,更好地服務于防災減災。

猜你喜歡
服務信息系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
服務在身邊 健康每一天
今日農業(2019年12期)2019-08-15 00:56:32
服務在身邊 健康每一天
今日農業(2019年10期)2019-01-04 04:28:15
服務在身邊 健康每一天
今日農業(2019年16期)2019-01-03 11:39:20
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
招行30年:從“滿意服務”到“感動服務”
商周刊(2017年9期)2017-08-22 02:57:56
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
主站蜘蛛池模板: 国产男人的天堂| 无码中文字幕乱码免费2| 欧洲一区二区三区无码| 伊人久久大香线蕉影院| 中文字幕色在线| 国产黄网永久免费| 国产一级毛片yw| 亚洲二区视频| 黄片在线永久| 国产免费人成视频网| 白丝美女办公室高潮喷水视频| 亚欧乱色视频网站大全| 伊人久久大线影院首页| 美女免费黄网站| 亚洲人成网站在线播放2019| 免费播放毛片| 亚洲无码电影| 在线播放国产一区| 亚洲日韩在线满18点击进入| 欧美不卡视频在线观看| 永久毛片在线播| 国产欧美日韩18| 情侣午夜国产在线一区无码| 午夜视频www| 亚洲自偷自拍另类小说| 午夜少妇精品视频小电影| 一区二区无码在线视频| 亚洲成人在线免费| 伦精品一区二区三区视频| 成人福利在线观看| 国产精品福利尤物youwu | 久久国产av麻豆| 亚洲日韩精品无码专区97| 最新日韩AV网址在线观看| 日韩天堂视频| 亚洲精品中文字幕无乱码| 伊人福利视频| 精品国产aⅴ一区二区三区| 99性视频| 色综合天天操| 日本午夜影院| 香蕉精品在线| 茄子视频毛片免费观看| 色精品视频| 欧美在线网| 亚洲精品人成网线在线| 国产麻豆另类AV| 一区二区三区四区在线| 国产在线观看91精品| 国产永久免费视频m3u8| 日本黄网在线观看| 精品人妻系列无码专区久久| 国产高颜值露脸在线观看| 久久黄色免费电影| 精品国产香蕉伊思人在线| 91视频区| 久久黄色毛片| 欧美综合区自拍亚洲综合天堂| 香蕉蕉亚亚洲aav综合| 欧美成人一区午夜福利在线| 国产综合网站| 激情午夜婷婷| 久久伊人操| 99久久精品视香蕉蕉| 99精品福利视频| 久久综合一个色综合网| 亚洲性日韩精品一区二区| 成人福利在线免费观看| 麻豆国产精品视频| 欧美人与动牲交a欧美精品| 超碰aⅴ人人做人人爽欧美 | 国产在线精彩视频二区| 无码日韩视频| 国产成人亚洲精品蜜芽影院| 国内精品视频区在线2021| 九九九久久国产精品| 亚洲精品综合一二三区在线| 中文无码日韩精品| 青青网在线国产| 国产高清无码第一十页在线观看| 欧美成人精品在线| 日韩视频福利|