xxl-job 簡單理解

框架理解:
admin定期的調用微服務接口,各種調用重試都是在admin方
鎖是通過數據庫實現的

服務通信通過netty,自己開發了一套通信框架,進行服務的調度。
通過核心包進行服務註冊到數據庫中,然後添加心跳檢測對服務組件進行新增移除。

通信的好處:admin知道哪個服務器繁忙,哪個服務器宕機,哪個服務器是正在執行任務的,可以實時的進行策略切換。當然最重要的是服務的註冊和調用。

服務暴露註冊流程 XxlJobExecutor
springboot流程操作,添加配置文件,新增通信端口,添加依賴core jar包

配置文件
server.port=8081
logging.config=classpath:logback.xml
xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin
xxl.job.executor.appname=xxl-job-executor-sample
xxl.job.executor.ip=
xxl.job.executor.port=9999
xxl.job.accessToken=
xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler
xxl.job.executor.logretentiondays=30

註解掃描注調用 core AdminBizClient.registry 接口,註冊到數據庫中

有個執行的隊列,串行執行,如何丟棄,這個東西邏輯上應該在admin層,但是admin控制的是執行重試策略,然後服務端維護的是執行隊列,執行不過來。----這個地方需要研究哦。

admin端 XxlJobScheduler
前期通過quartz框架進行服務定時調用,後期通過JobScheduleHelper,JobTriggerPoolHelper線程池,定期的檢測下一個任務是誰。schedule 發出任務放入tigger中,trigger 執行任務----這個地方需要研究哦。
調用看core依賴的jar包即可,封裝了一套netty的通信服務。

發佈了9 篇原創文章 · 獲贊 2 · 訪問量 2271
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章