日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

SpringBoot整合PowerJob:構(gòu)建高可用分布式任務(wù)調(diào)度系統(tǒng)

SpringBoot整合PowerJob:構(gòu)建高可用分布式任務(wù)調(diào)度系統(tǒng) 1. 項(xiàng)目概述為什么我們需要PowerJob在構(gòu)建現(xiàn)代后端服務(wù)時(shí)定時(shí)任務(wù)和分布式調(diào)度是一個(gè)繞不開的話題。無論是每天凌晨的數(shù)據(jù)報(bào)表生成、定時(shí)的緩存刷新還是復(fù)雜的跨服務(wù)業(yè)務(wù)流程編排一個(gè)可靠的任務(wù)調(diào)度框架都是系統(tǒng)穩(wěn)定運(yùn)行的基石。早期我們可能用過Scheduled注解配合cron表達(dá)式或者在單機(jī)環(huán)境下跑個(gè)Quartz。但隨著業(yè)務(wù)微服務(wù)化服務(wù)實(shí)例動(dòng)態(tài)擴(kuò)縮容任務(wù)需要高可用、分片處理、動(dòng)態(tài)編排時(shí)這些傳統(tǒng)方案就顯得力不從心了。這時(shí)PowerJob 進(jìn)入了我們的視野。它是一款誕生于開源社區(qū)的分布式任務(wù)調(diào)度框架設(shè)計(jì)目標(biāo)就是解決在分布式、微服務(wù)架構(gòu)下任務(wù)調(diào)度的各種痛點(diǎn)。它提供了可視化控制臺(tái)、支持多種任務(wù)類型Java處理器、Shell、Python等、具備工作流編排、故障轉(zhuǎn)移、實(shí)時(shí)日志等強(qiáng)大功能。而 Spring Boot作為 Java 領(lǐng)域事實(shí)上的微服務(wù)開發(fā)標(biāo)準(zhǔn)其便捷的自動(dòng)配置和 starter 生態(tài)讓我們整合第三方組件變得異常輕松。所以“SpringBoot整合PowerJob”這個(gè)主題本質(zhì)上是在為我們的 Spring Boot 應(yīng)用注入一個(gè)強(qiáng)大、可靠的任務(wù)調(diào)度“引擎”。這不是簡單的 API 調(diào)用而是一套完整的企業(yè)級(jí)任務(wù)治理方案。接下來我將從一個(gè)實(shí)際使用者的角度拆解從零開始整合、配置到開發(fā)復(fù)雜任務(wù)的完整流程并分享那些官方文檔可能不會(huì)細(xì)說的“坑”和最佳實(shí)踐。2. 整體設(shè)計(jì)與環(huán)境準(zhǔn)備2.1 技術(shù)選型與架構(gòu)思考在決定整合 PowerJob 之前我們需要明確它的部署架構(gòu)。PowerJob 包含兩個(gè)核心組件PowerJob Server (調(diào)度服務(wù)器)負(fù)責(zé)任務(wù)的調(diào)度、分發(fā)、派發(fā)和監(jiān)控。它是整個(gè)系統(tǒng)的大腦需要獨(dú)立部署并保證高可用。PowerJob Worker (執(zhí)行器)嵌入在我們的 Spring Boot 應(yīng)用中的客戶端負(fù)責(zé)接收 Server 下發(fā)的任務(wù)并執(zhí)行具體的業(yè)務(wù)邏輯。這種設(shè)計(jì)實(shí)現(xiàn)了調(diào)度與執(zhí)行的解耦。我們的 Spring Boot 應(yīng)用作為 Worker可以專注于業(yè)務(wù)代碼而 Server 則負(fù)責(zé)全局的任務(wù)調(diào)度策略。對(duì)于生產(chǎn)環(huán)境建議至少部署兩個(gè) Server 實(shí)例通過接入同一個(gè)數(shù)據(jù)庫來實(shí)現(xiàn)高可用和負(fù)載均衡。版本選擇建議始終關(guān)注官方 GitHub 的 Release 版本。對(duì)于 Spring Boot 2.x 項(xiàng)目建議使用 PowerJob 4.x 版本對(duì)于 Spring Boot 3.x則需要選擇 PowerJob 5.x 及以上版本以確保 Java 版本和依賴的兼容性。本文將以 Spring Boot 2.7.x 和 PowerJob 4.3.2 為例進(jìn)行演示這是當(dāng)前企業(yè)中使用非常穩(wěn)定的一個(gè)組合。2.2 基礎(chǔ)環(huán)境搭建PowerJob Server 需要數(shù)據(jù)庫來存儲(chǔ)任務(wù)元數(shù)據(jù)、執(zhí)行記錄和日志。它支持 MySQL、PostgreSQL 和 Oracle。這里以最常用的 MySQL 為例。第一步初始化數(shù)據(jù)庫在你的 MySQL 實(shí)例中創(chuàng)建一個(gè)新的數(shù)據(jù)庫例如powerjob_daily。然后從 PowerJob 的 GitHub 倉庫powerjob-server項(xiàng)目下的script目錄獲取對(duì)應(yīng)的SQL初始化腳本powerjob-mysql.sql。執(zhí)行這個(gè)腳本它會(huì)創(chuàng)建所需的所有表。注意務(wù)必使用與你所下載的 PowerJob Server 版本相匹配的 SQL 腳本不同版本的表結(jié)構(gòu)可能有差異。直接使用錯(cuò)誤版本的腳本會(huì)導(dǎo)致 Server 啟動(dòng)失敗。第二步部署 PowerJob Server你有兩種主要方式部署 Server方式一獨(dú)立部署直接從 Release 頁面下載powerjob-server-standalone.jar。通過命令行java -jar powerjob-server-standalone.jar --spring.profiles.activeproduct啟動(dòng)。這種方式最簡單但需要你手動(dòng)管理進(jìn)程和配置。方式二Docker 部署推薦這是生產(chǎn)環(huán)境更優(yōu)雅的方式。官方提供了 Docker 鏡像tjqq/powerjob-server:latest。通過docker-compose可以輕松編排 Server 和 MySQL。這里給出一個(gè)簡單的docker-compose.yml示例version: 3 services: mysql: image: mysql:8.0 container_name: powerjob-mysql environment: MYSQL_ROOT_PASSWORD: root123456 MYSQL_DATABASE: powerjob_daily ports: - 3307:3306 volumes: - ./mysql/data:/var/lib/mysql - ./mysql/conf:/etc/mysql/conf.d command: --default-authentication-pluginmysql_native_password powerjob-server: image: tjqq/powerjob-server:latest container_name: powerjob-server depends_on: - mysql environment: # 數(shù)據(jù)庫配置 SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/powerjob_daily?useUnicodetruecharacterEncodingUTF-8serverTimezoneAsia/Shanghai SPRING_DATASOURCE_USERNAME: root SPRING_DATASOURCE_PASSWORD: root123456 # Server 網(wǎng)絡(luò)配置供 Worker 連接 POWERJOB_WORKER_PORT: 27777 # 控制臺(tái)登錄賬號(hào)密碼 POWERJOB_ADMIN_PASSWORD: powerjob123 ports: - 7700:7700 # 控制臺(tái)端口 - 10086:10086 # 默認(rèn)的 Server RPC 端口可選映射 - 27777:27777 # Worker RPC 端口可選映射 volumes: - ./powerjob-server/logs:/root/logs使用docker-compose up -d啟動(dòng)后訪問http://你的服務(wù)器IP:7700即可看到 PowerJob 控制臺(tái)登錄頁使用環(huán)境變量中配置的密碼示例中為powerjob123登錄。實(shí)操心得在 Docker 部署時(shí)務(wù)必注意網(wǎng)絡(luò)連通性。如果 Worker你的 Spring Boot 應(yīng)用部署在宿主機(jī)或另一個(gè)容器內(nèi)需要確保能訪問到powerjob-server容器的10086調(diào)度端口和27777Worker 注冊(cè)端口。上述配置將端口映射到了宿主機(jī)方便測試。在生產(chǎn)環(huán)境你可能需要配置 Docker 自定義網(wǎng)絡(luò)或使用 Kubernetes Service。3. Spring Boot 應(yīng)用整合 PowerJob Worker3.1 項(xiàng)目依賴引入在你的 Spring Boot 項(xiàng)目的pom.xml中添加 PowerJob Worker 的 Starter 依賴。這是最省心的方法它自動(dòng)配置了必要的 Bean。dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter/artifactId /dependency !-- PowerJob Worker Starter -- dependency groupIdtech.powerjob/groupId artifactIdpowerjob-worker-spring-boot-starter/artifactId version4.3.2/version /dependency如果你還需要在代碼中動(dòng)態(tài)創(chuàng)建任務(wù)高級(jí)用法可以額外引入powerjob-client。3.2 核心配置詳解接下來在application.yml或application.properties中配置 Worker。這是整合的關(guān)鍵一步每一個(gè)配置項(xiàng)都直接影響著 Worker 的行為和與 Server 的通信。# application.yml powerjob: worker: # 1. 應(yīng)用名稱用于在Server控制臺(tái)標(biāo)識(shí)這一組Worker非常重要 app-name: powerjob-demo-app # 2. Server 地址PowerJob Server 的地址支持多個(gè)用逗號(hào)分隔 server-address: 192.168.1.100:7700 # 或者你的服務(wù)器IP:7700 # 3. 端口Worker 啟動(dòng)的RPC端口用于接收Server下發(fā)的任務(wù)默認(rèn)27777 port: 27777 # 4. 存儲(chǔ)策略用于存儲(chǔ)一些輕量級(jí)中間數(shù)據(jù)本地磁盤或數(shù)據(jù)庫 store-strategy: disk # 5. 最大結(jié)果長度任務(wù)執(zhí)行結(jié)果的最大長度超長會(huì)被截?cái)?max-result-length: 8192 # 6. 啟用測試模式如果為true會(huì)連接內(nèi)置的測試Server用于本地開發(fā)調(diào)試 enable-test-mode: false # 7. 允許的處理器包路徑指定掃描哪些包下的任務(wù)處理器不配置則掃描全部 # allowed-processor-packages: # - com.yourcompany.job.processor配置項(xiàng)深度解析app-name這是 Worker 的“身份標(biāo)識(shí)”。所有配置了相同app-name的 Spring Boot 應(yīng)用實(shí)例在 Server 看來都屬于同一個(gè)“應(yīng)用集群”。Server 會(huì)向這個(gè)集群內(nèi)的所有 Worker 派發(fā)任務(wù)。因此請(qǐng)確保同一業(yè)務(wù)模塊的應(yīng)用使用相同的app-name。server-address支持配置多個(gè) Server 地址如192.168.1.100:7700,192.168.1.101:7700Worker 會(huì)隨機(jī)選擇一個(gè)進(jìn)行注冊(cè)和心跳。這是實(shí)現(xiàn) Server 高可用客戶端側(cè)的關(guān)鍵配置。port確保該端口在部署 Worker 的機(jī)器上未被占用且防火墻規(guī)則允許 Server 訪問此端口。如果 Worker 運(yùn)行在 Docker 或 Kubernetes 內(nèi)可能需要額外的網(wǎng)絡(luò)配置。enable-test-mode本地開發(fā)神器。設(shè)置為true時(shí)無需啟動(dòng)真實(shí)的 PowerJob ServerWorker 會(huì)自動(dòng)連接一個(gè)內(nèi)存中的模擬 Server非常適合在本地 IDE 中跑單元測試或調(diào)試任務(wù)邏輯。3.3 編寫你的第一個(gè)任務(wù)處理器任務(wù)處理器Processor是承載具體業(yè)務(wù)邏輯的地方。PowerJob 提供了多種處理器類型最常用的是BasicProcessor。我們通過實(shí)現(xiàn)這個(gè)接口來定義任務(wù)。創(chuàng)建一個(gè)類實(shí)現(xiàn)BasicProcessor接口并加上Component注解讓其被 Spring 管理。package com.example.demo.job; import org.springframework.stereotype.Component; import tech.powerjob.worker.core.processor.ProcessResult; import tech.powerjob.worker.core.processor.TaskContext; import tech.powerjob.worker.core.processor.sdk.BasicProcessor; import lombok.extern.slf4j.Slf4j; Slf4j Component public class SimpleDemoJob implements BasicProcessor { Override public ProcessResult process(TaskContext context) throws Exception { // 1. 獲取任務(wù)參數(shù) String jobParams context.getJobParams(); log.info( SimpleDemoJob Start ); log.info(JobParams: {}, jobParams); log.info(JobId: {}, InstanceId: {}, context.getJobId(), context.getInstanceId()); // 2. 模擬執(zhí)行一些業(yè)務(wù)邏輯 try { // 這里是你的核心業(yè)務(wù)代碼比如調(diào)用某個(gè)服務(wù)、處理數(shù)據(jù)等 Thread.sleep(2000); // 模擬耗時(shí)操作 String result Processed: jobParams at System.currentTimeMillis(); log.info(Job execute successfully. Result: {}, result); // 3. 返回執(zhí)行結(jié)果 return new ProcessResult(true, result); } catch (Exception e) { log.error(SimpleDemoJob process failed., e); // 4. 執(zhí)行失敗返回 false 和錯(cuò)誤信息 return new ProcessResult(false, Failed: e.getMessage()); } } }關(guān)鍵點(diǎn)說明TaskContext包含了任務(wù)的完整上下文信息如任務(wù)ID、實(shí)例ID、任務(wù)參數(shù)、工作流上下文等是你在處理器中獲取元數(shù)據(jù)的主要途徑。ProcessResult任務(wù)的執(zhí)行結(jié)果。success字段表示成功與否msg字段會(huì)傳遞到 Server 并可以在控制臺(tái)查看。對(duì)于需要下游任務(wù)使用的場景這個(gè)msg可以作為輸出參數(shù)。日志強(qiáng)烈建議在任務(wù)開始、關(guān)鍵步驟和結(jié)束時(shí)打印日志。PowerJob Worker 會(huì)捕獲這些日志并發(fā)送到 Server你可以在控制臺(tái)的“任務(wù)實(shí)例”詳情中查看實(shí)時(shí)日志這對(duì)排查問題至關(guān)重要。4. 在控制臺(tái)創(chuàng)建并執(zhí)行任務(wù)啟動(dòng)你的 Spring Boot 應(yīng)用。如果配置正確你會(huì)在應(yīng)用日志中看到類似[PowerJob] PowerJobWorker has been started successfully!的信息?,F(xiàn)在打開 PowerJob Server 控制臺(tái) (http://server-ip:7700)。4.1 創(chuàng)建任務(wù)進(jìn)入任務(wù)管理登錄后在左側(cè)菜單找到“任務(wù)管理”點(diǎn)擊“新建任務(wù)”。填寫基礎(chǔ)信息任務(wù)名稱給你的任務(wù)起個(gè)名字如“簡單示例任務(wù)”。任務(wù)描述可選寫明任務(wù)用途。所屬應(yīng)用這里應(yīng)該能看到你在application.yml中配置的app-name如powerjob-demo-app。選擇它。配置任務(wù)任務(wù)參數(shù)可以在這里輸入 JSON 或普通字符串它會(huì)被傳遞到處理器的context.getJobParams()中。例如輸入{userId: 123, action: report}。任務(wù)執(zhí)行類型選擇“單機(jī)執(zhí)行”該任務(wù)只在某一臺(tái) Worker 上執(zhí)行或“廣播執(zhí)行”在所有 Worker 上執(zhí)行。對(duì)于需要分片處理的任務(wù)選擇“MapReduce”或“廣播”。處理器類型選擇“Java”。處理器信息這是最關(guān)鍵的一步。需要填寫你剛寫的處理器類的全限定名即com.example.demo.job.SimpleDemoJob。PowerJob Server 會(huì)根據(jù)這個(gè)類名向注冊(cè)上來的 Worker 查找對(duì)應(yīng)的處理器。Cron 表達(dá)式定義任務(wù)調(diào)度時(shí)間。例如0 0 2 * * ?表示每天凌晨2點(diǎn)執(zhí)行。也可以使用“秒 分 時(shí) 日 月 周”的格式或使用可視化編輯器。執(zhí)行策略除了定時(shí)還可以選擇“一次性”或“固定頻率”。高級(jí)配置這里可以配置重試次數(shù)、超時(shí)時(shí)間、并發(fā)度等。對(duì)于重要任務(wù)建議設(shè)置1-2次重試。4.2 啟動(dòng)作業(yè)實(shí)例創(chuàng)建好任務(wù)后它默認(rèn)是“禁用”狀態(tài)。你需要先點(diǎn)擊“啟用”按鈕啟用這個(gè)任務(wù)。然后可以立即點(diǎn)擊“運(yùn)行”來觸發(fā)一次執(zhí)行或者等待 Cron 表達(dá)式定義的定時(shí)時(shí)間到來。4.3 監(jiān)控與日志查看點(diǎn)擊“任務(wù)實(shí)例”菜單你可以看到所有任務(wù)的執(zhí)行記錄。找到你剛運(yùn)行的任務(wù)實(shí)例點(diǎn)擊“詳情”或“日志”可以進(jìn)入實(shí)時(shí)日志頁面。在這里你能看到處理器中打印的log.info信息以及任務(wù)的最終執(zhí)行結(jié)果ProcessResult中的消息。這是調(diào)試和監(jiān)控任務(wù)運(yùn)行狀態(tài)最直接的方式。注意事項(xiàng)處理器信息的類名必須完全正確包括大小寫。如果 Server 在 Worker 中找不到對(duì)應(yīng)的處理器任務(wù)實(shí)例狀態(tài)會(huì)變?yōu)椤皥?zhí)行失敗”日志中會(huì)顯示“Can‘t find processor by name ...”。常見的錯(cuò)誤是寫錯(cuò)了包名或類名。5. 進(jìn)階實(shí)戰(zhàn)分片任務(wù)與工作流5.1 實(shí)現(xiàn)分片處理MapReduce當(dāng)需要處理大量數(shù)據(jù)時(shí)比如處理一張百萬級(jí)別的用戶表單機(jī)執(zhí)行效率低下。PowerJob 的 MapReduce 處理器可以將任務(wù)分片讓集群中的多個(gè) Worker 并行處理。你需要實(shí)現(xiàn)MapReduceProcessor接口。它包含三個(gè)階段Map 階段在單個(gè) Worker 上執(zhí)行負(fù)責(zé)將大任務(wù)切分成多個(gè)子任務(wù)分片。Reduce 階段在所有 Worker 執(zhí)行完 Map 后在單個(gè) Worker 上執(zhí)行負(fù)責(zé)匯總結(jié)果。Process 階段每個(gè) Worker 處理分配給它的那個(gè)子任務(wù)分片。package com.example.demo.job; import com.google.common.collect.Lists; import org.springframework.stereotype.Component; import tech.powerjob.worker.core.processor.ProcessResult; import tech.powerjob.worker.core.processor.TaskContext; import tech.powerjob.worker.core.processor.sdk.MapReduceProcessor; import java.util.List; Component public class ShardingDemoJob implements MapReduceProcessor { Override public ProcessResult process(TaskContext context) throws Exception { // 這是處理單個(gè)分片的地方 log.info(當(dāng)前分片參數(shù): {}, context.getSubTask()); // 根據(jù)分片參數(shù)處理對(duì)應(yīng)的數(shù)據(jù)塊... return new ProcessResult(true, 分片 context.getCurrentSubTaskIndex() 處理完成); } Override public ProcessResult reduce(TaskContext context, ListTaskResult taskResults) throws Exception { // 匯總所有分片的結(jié)果 log.info(開始Reduce共收到{}個(gè)分片結(jié)果, taskResults.size()); int successCount 0; for (TaskResult tr : taskResults) { if (tr.isSuccess()) successCount; } return new ProcessResult(true, String.format(Reduce完成成功%d個(gè)失敗%d個(gè), successCount, taskResults.size() - successCount)); } }在控制臺(tái)創(chuàng)建任務(wù)時(shí)執(zhí)行類型選擇“MapReduce”處理器信息填寫com.example.demo.job.ShardingDemoJob。任務(wù)運(yùn)行時(shí)Server 會(huì)自動(dòng)進(jìn)行分片調(diào)度。5.2 編排復(fù)雜工作流PowerJob 支持 DAG有向無環(huán)圖工作流可以可視化地編排多個(gè)任務(wù)的執(zhí)行順序和依賴關(guān)系。創(chuàng)建多個(gè)任務(wù)首先像之前一樣創(chuàng)建好多個(gè)獨(dú)立的原子任務(wù)比如任務(wù)A數(shù)據(jù)清洗任務(wù)B數(shù)據(jù)計(jì)算任務(wù)C發(fā)送通知。創(chuàng)建工作流在控制臺(tái)“工作流管理”中新建一個(gè)工作流。拖拽編排在畫布上將創(chuàng)建好的任務(wù)節(jié)點(diǎn)拖入并用連接線定義它們的依賴關(guān)系。例如設(shè)置任務(wù)B依賴于任務(wù)A的成功任務(wù)C依賴于任務(wù)B的成功。配置工作流參數(shù)可以配置工作流級(jí)別的 Cron 表達(dá)式也可以配置單個(gè)節(jié)點(diǎn)的失敗處理策略如跳過、終止工作流等。運(yùn)行與監(jiān)控啟動(dòng)作業(yè)流后可以在“工作流實(shí)例”中查看整個(gè)流程的執(zhí)行狀態(tài)圖每個(gè)節(jié)點(diǎn)的狀態(tài)一目了然。工作流非常適合用于編排有嚴(yán)格先后順序或依賴關(guān)系的批處理任務(wù)大大提升了任務(wù)調(diào)度的靈活性和可維護(hù)性。6. 生產(chǎn)環(huán)境部署與運(yùn)維要點(diǎn)6.1 高可用與集群配置Server 集群生產(chǎn)環(huán)境務(wù)必部署至少兩個(gè) PowerJob Server 實(shí)例并指向同一個(gè)數(shù)據(jù)庫。它們會(huì)自動(dòng)組成集群通過數(shù)據(jù)庫鎖實(shí)現(xiàn) Leader 選舉只有 Leader 節(jié)點(diǎn)負(fù)責(zé)調(diào)度其他節(jié)點(diǎn)作為熱備。在docker-compose或 K8s 部署中只需啟動(dòng)多個(gè) Server 容器/Pod 即可。Worker 集群你的 Spring Boot 應(yīng)用Worker本身就是無狀態(tài)的可以水平擴(kuò)展。只需確保所有實(shí)例的app-name和server-address配置一致。Server 會(huì)感知到所有在線的 Worker。網(wǎng)絡(luò)與防火墻確保 Server 與 Worker 之間的網(wǎng)絡(luò)雙向可達(dá)。Server 需要能訪問 Worker 的port默認(rèn)27777以派發(fā)任務(wù)Worker 需要能訪問 Server 的server-address默認(rèn)7700端口進(jìn)行注冊(cè)和心跳。在云環(huán)境或容器網(wǎng)絡(luò)中要仔細(xì)配置安全組或網(wǎng)絡(luò)策略。6.2 數(shù)據(jù)庫與存儲(chǔ)優(yōu)化數(shù)據(jù)庫監(jiān)控PowerJob 在運(yùn)行中會(huì)產(chǎn)生大量的實(shí)例記錄和日志記錄。需要定期關(guān)注pj_instance_info,pj_instance_log等核心表的體積。可以在控制臺(tái)“系統(tǒng)管理”中配置日志的保留時(shí)間或者自行編寫腳本定期清理歷史數(shù)據(jù)避免數(shù)據(jù)庫被撐滿。存儲(chǔ)策略store-strategy配置為disk時(shí)Worker 會(huì)將一些運(yùn)行時(shí)數(shù)據(jù)如 MapReduce 的中間結(jié)果寫入本地磁盤。請(qǐng)確保 Worker 運(yùn)行環(huán)境的磁盤有足夠空間和寫入權(quán)限。對(duì)于容器化部署可能需要掛載 Volume。6.3 監(jiān)控與告警控制臺(tái)監(jiān)控PowerJob 控制臺(tái)提供了任務(wù)狀態(tài)、執(zhí)行歷史、運(yùn)行日志等基本監(jiān)控信息。健康檢查PowerJob Server 提供了/actuator/health端點(diǎn)需在啟動(dòng)參數(shù)中開啟spring.boot.admin.client.enabledtrue可以集成到你的統(tǒng)一監(jiān)控平臺(tái)如 Prometheus Grafana。自定義告警對(duì)于關(guān)鍵任務(wù)可以編寫監(jiān)聽器實(shí)現(xiàn)InstanceStatusListener在任務(wù)執(zhí)行失敗時(shí)通過釘釘、企業(yè)微信或郵件發(fā)送告警通知。7. 常見問題排查與調(diào)試技巧在實(shí)際整合和使用過程中你可能會(huì)遇到以下問題。這里我整理了一個(gè)速查表問題現(xiàn)象可能原因排查步驟與解決方案Worker 啟動(dòng)失敗報(bào)連接 Server 失敗1. Server 地址/端口錯(cuò)誤。2. 網(wǎng)絡(luò)不通。3. Server 未啟動(dòng)。1. 檢查server-address配置嘗試用telnet或curl測試連通性。2. 檢查防火墻/安全組規(guī)則。3. 查看 Server 容器/進(jìn)程日志確認(rèn)已正常啟動(dòng)并監(jiān)聽端口。任務(wù)創(chuàng)建后一直處于“等待調(diào)度”狀態(tài)1. 任務(wù)未啟用。2. Cron表達(dá)式設(shè)置的是未來時(shí)間。3. Server 集群無 Leader。1. 在控制臺(tái)確認(rèn)任務(wù)狀態(tài)是否為“啟用”。2. 檢查 Cron 表達(dá)式或用“運(yùn)行一次”測試。3. 查看 Server 日志確認(rèn)有節(jié)點(diǎn)成功競選為 Leader。任務(wù)實(shí)例狀態(tài)為“執(zhí)行失敗”日志顯示“Can‘t find processor”1. 處理器信息類名填寫錯(cuò)誤。2. 包含該處理器的 Jar 包未成功部署到 Worker。3. Worker 的 Spring 容器未成功加載該處理器 Bean。1. 仔細(xì)核對(duì)控制臺(tái)填寫的類名與代碼中的全限定名是否完全一致。2. 確認(rèn)部署的 Jar 包包含該類檢查打包配置。3. 確認(rèn)處理器類上有Component等 Spring 注解且所在包在 Spring 掃描路徑下。任務(wù)執(zhí)行超時(shí)1. 任務(wù)本身執(zhí)行時(shí)間過長。2. Worker 進(jìn)程 GC 停頓或假死。3. 網(wǎng)絡(luò)延遲導(dǎo)致結(jié)果上報(bào)超時(shí)。1. 優(yōu)化任務(wù)邏輯或在控制臺(tái)任務(wù)配置中調(diào)大“超時(shí)時(shí)間”。2. 檢查 Worker 所在機(jī)器的 CPU、內(nèi)存和 GC 情況。3. 檢查網(wǎng)絡(luò)狀況適當(dāng)調(diào)大powerjob.worker.request-timeout-ms配置默認(rèn) 30000ms。分片任務(wù)只有部分分片執(zhí)行1. 可用的 Worker 數(shù)量少于分片數(shù)。2. 部分 Worker 失聯(lián)或處于不健康狀態(tài)。1. 確保 Worker 集群有足夠多的實(shí)例。2. 檢查所有 Worker 節(jié)點(diǎn)的健康狀況和日志。Server 只會(huì)向健康的 Worker 派發(fā)任務(wù)。控制臺(tái)看不到實(shí)時(shí)日志1. Worker 未正確配置日志框架。2. 網(wǎng)絡(luò)問題導(dǎo)致日志發(fā)送失敗。3. Server 存儲(chǔ)日志的臨時(shí)目錄不可寫。1. 確保 Worker 使用了 SLF4J 門面如 Logback/Log4j2PowerJob 依賴它抓取日志。2. 檢查 Worker 與 Server 之間的網(wǎng)絡(luò)。3. 檢查 Server 啟動(dòng)用戶的磁盤權(quán)限。本地開發(fā)調(diào)試技巧善用測試模式將enable-test-mode設(shè)為true無需啟動(dòng) Server即可在本地運(yùn)行和調(diào)試處理器邏輯。非常適合單元測試。打印詳細(xì)上下文在process方法開始時(shí)打印TaskContext中的詳細(xì)信息如jobId,instanceId,jobParams這能幫你確認(rèn)任務(wù)執(zhí)行時(shí)的準(zhǔn)確入?yún)?。模擬 Server 環(huán)境對(duì)于需要測試分片、工作流等復(fù)雜場景可以在本地用 Docker 快速啟動(dòng)一個(gè) PowerJob Server 和 MySQL 進(jìn)行聯(lián)調(diào)這比直接上測試環(huán)境更高效。整合 PowerJob 的過程本質(zhì)上是在為你的系統(tǒng)搭建一個(gè)堅(jiān)固、靈活的任務(wù)調(diào)度基礎(chǔ)設(shè)施。從簡單的定時(shí)任務(wù)到復(fù)雜的分布式工作流它都能很好地覆蓋。關(guān)鍵在于理解其“調(diào)度-執(zhí)行”分離的架構(gòu)思想并做好生產(chǎn)環(huán)境的集群、監(jiān)控和運(yùn)維配置。一旦跑順你會(huì)發(fā)現(xiàn)它極大地解放了你在“任務(wù)管理”上的生產(chǎn)力讓你更專注于業(yè)務(wù)邏輯本身。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
职场同事知名国产国产精品久久欧美日韩 | 美女91在线观看| 免费一级性爱久久| 无码久久国产 | 加勒比伊人| 日本顶级天天操狠狠操夜夜操中文字幕| 激情第四色| 欧美同性恋 的搜索结果 - 91n| 天堂av最新电影网| 九九九九精品精| 日本一区不卡| 人妻-91porn| 超碰97欧美在线| 久久偷拍人| 看看小穴| 日本熟妇熟色97一本在线观看| 啊啊啊好大好湿| 国模无码人体一区二区三| 午夜大香蕉| 91老司机在线视频免费观看| 玖玖资源视频一区二区三区| 毛片一区二区| 国产精品干干干| 欧美不卡二区| 丝袜狠狠草尤物 91| www.天天干| 亚洲天天精品| 国产欧美日韩在线观看麻豆传媒公司| 亚洲小说视频| 超碰日本97美女人妻人人玩人人爱| 欧美 亚洲精品首页| 天天操夜夜操| 亚洲网站一区二区在线| 日日骚av| 99热色这里只有精品| 日本羞羞的视频在线播放 | 亚洲欧美97√| 97色色,97综合| 少妇高潮对白在线观看| 九九九国产| 91超碰人人| 日本人妻伦在线中文字幕| 久久免费精品96| 日韩欧美亚洲一区二区三区影院| 亚洲另类春色| 日韩图区| 婷婷伊人| 亚洲AV无码成人精品久久| 欧美色图校园春色| 殴美日韩m| 一区二区三区高清天码| 中文字幕熟女人妻丝袜丝| av大香蕉| 国产精品婬乱一级毛片彝族| 91精品微拍福利| 91中出在线| 九九久久久九九| 无码人妻丰满热妇又大又粗| 国产拍偷精品网站| 97国产|免费| 嫩草 人人网精品| 无套内射性感少妇视频| 污到发麻的视频 国产| 久久黄色性爱视频| 国产精品久久久啊| 中文有码9| 人妻 制服 日韩 中文 在线| 欧洲无码一区二区| 麻豆国产尤物AV| 强奸乱伦大香蕉| 蜜臀久久99精品久久久久久无删减 | 国产不卡片| 草草网站影院白丝内射| 东北丰满熟女国产一区| 青娱乐国产精品| 超碰人妻97| 免费亚洲国产精品久久一区| 久久久久国产亚洲一区欧美色图日韩| 久久东京国产精品视频| 91强奸乱轮| 亚洲免费成人在线高清无码视频| 热无码中文亚洲H一道本一区二区| 日日骚一区二区三区| 白丝在线一区| 亚欧美综合网。| 97人人中文网| 九九九久千久久激情蜜桃在线看 | 图色综合网| 久久久久久AⅤ无码免费肉站| 老外又粗又长一晚做五次| 欧美色图第一页| 色777999综合| 玖色av| 九九热精彩视频| 欧美人妻精品| 亚洲。日韩。欧美| 大吊色| 草伊人高潮喷水超碰| 91熟女熟妇视频网站| 国产成人自拍视频在线| 天美麻花大全视频| 色色亚洲| 男人的天堂.com| 天天操天天射青青草| 91人妻爽爽人人做人人澡| 日韩乱伦视频| 99热这里只有精品8| 97人人模人人爽人人| 丝袜剧情| 国产在线视视频有精品| 在线观看黄色电话| 国产精品秘 福利姬在线观看| 操逼操逼逼操操逼91| 国模艳艳啪啪一区| 四虎影院成年人片| 天天透伊人| 91人妻丝袜无码| 麻豆福利视频导航| 日韩中文字幕精品一二三事国产精品| 日本 情色 1区2区3区| 亚洲青青草| 91成人亚洲色图| 国产精品69久久久久孕妇欧美| 传媒在线观看一区二区三区| 蜜臀久久99精品久久久久久酒店| 另类小说综合网| 奇米四色影视777久久久| 99久久精品无码一区二区| 色综合久| 九九久久一区二区三区| 性性欧美| 99草精| 秋霞色色影院| 亚洲国产高清福利视频| 激情四射五月天| 99久久这里只有精品| 黄总AV色图| 青青草玖玖爱| 成人一级性爱| 免費黃色視頻觀看一| 天天操夜夜操| 欧美传媒一区| 美女诱惑一区| 91足交| 91美女中出| 欧美大香蕉97| 在线洲亚线| 精品人妻免费观看| av九九| 九九亚洲精品| 婷婷伊人五月| 中亚av| 日欧毛片久久| 强奸乱伦AV网址| 99久久综合网| 97超碰免费人人性爱| 久久亚洲一区女同性恋中文字幕| 人人弄人人摸| 国产精品大香蕉| 99999精品成人| 亚洲成人在线乱码色午夜| 午夜舔阴达高潮视频免费看| 18精品一区| 欧美综合传媒| 国产丝袜美女在线一区| 99热66| 欧亚揄拍偷拍精品视频| 天天日天天操天天射河南省| 亚洲少妇喷视频看| 国产精品一区二区麻豆| 秋霞久久亚洲精品成人| 美女淫穴| 天天看天天日| 欧亚乱色熟一区二区三四区| 日韩小电影| 日本道久久综合色色| 97久久精品亚洲中六字幕| 国产国产亚洲一二三久久| 日日插夜夜| 欧美第一页性| 最新亚洲黄色免费电影| 亚洲色图超碰在线| 东京太热男人的天堂久久久| 另类小色呦| 97色诱| 久久国产乱子伦精品免费女,网站| 亚洲日韩精品一区视频在线| 美女黑人91神马| 色呦呦国产精品免费看| 午夜天堂网| 亚洲国产综合图区中文字幕 | 91无码西班牙视频在线| 99热在线观看| 欧美中文综合| 男人的天堂2018.| 亚洲日韩天堂| 夜夜爽77777| 校园春色 亚洲| 国产18精品亚洲精品| 国产精品乱码久久久久久久| 人、人、摸,人、人、草| 国产丸一视频| 九九99精品视频在线观看| 超碰偷拍| 99在线精品视频| 国产精品久久久久婷婷二区次| 337p大胆噜噜噜噜噜91Av| 丰满人妻一区| 五月激情影院| 青青操网| 天天综合网AV91| 国产成人午夜视频网址| 精品人妻一区二区三区蜜桃视频| 五月激情影院| 国产一级内射无挡观看| 99久在线精品99re8热视频在线| 91精品国产日韩欧美综合| 97AV在线免费观看| 国产成人无码久久精品| 加勒比海色香蕉婷婷| 一区二区三区四区色图| 亚洲熟女乱色一区二区三区| 国产AB视频| 五月婷婷性爱| 欧美巨大性舒爽顶到了| 97精品97久久| 高清不卡一二三区视频......| 69av一区二区三区| 精品9999| 天天看天天综合成人网| 国产区性爱在线视频秋霞豆| 99人妻| 伊人一区二区三区| 五月丁香综合啪啪| www.久久制服糖| 精品女同一区| 青春草A| 国产三区免费在线观看| 尤物视频视频官网| 久久熟女嫩草成人片免费| 久久香蕉国产传媒一区剧情天美| 黄页视频网站野外| 蜜臀在线视频| 国产又粗又长的视频| 日韩内射视频| 大香蕉乱伦视频网| 国产女人与拘做受视频免费| 91欧美网| 亚洲人妻久久久| 精品久久久久瑟瑟| 秋霞视频一区二区 | 成人一二三区| 少妇色综合| 夜夜一区二区| 五月天婷婷色色| 国产一级137片内射麻豆| 东京热,男人的天堂| 精产国品一区二三产品| 久久久久久午夜男人的天堂| 色综合色欲色综合色综合色综合| 免费自拍三级综合| 亚州91| 午夜操操操| 天天综合网~91入口| 久久女人视频| 色情综合网| 高清成年美女黄网站免费大全| 狠狠超| 欧美激情 亚洲色图| 精品人妻一区春色| 久久久久久中文版| 99国产精品久久久久久久成人热| 欧美精品另类人妖xxxx| 国产女人高潮视频| 国产天美欧美| 97人肏| 亚洲欧美激情另类色图| 狠狠爱综合网| 91狠狠综合久久| 福利色色| 91Chinese在线| 夜夜影视四色| 欧美网站免费| 亚洲欧美国产成人综合不卡| 人人看人人摸人人色| 国产A v无码专区| 五十路六十路七十路熟婆| 日本欧美中文字幕| 国产乱子伦久久精品综合一区二区三| 97在线免费看视频| 日韩不卡毛片Av免费高清| 尤物av网站免费在线播放| 色图综合| 久久久97| 少妇3P性爱自拍| 黑人白女精品一区| 天天操天天干一区二区 | 狠狠综合| 亚洲日本韩国极品一区二区| 天美传媒国产原创中文字幕亚洲欧美另类| av九九| 色五月激情网| 富二代亚洲精品99| 国产亚洲欧洲在线观看| 超碰在线97国产| 亚洲性综合| 超碰到97情色| 中文字幕成人乱码熟女精品国50 | 超碰中文字幕人妻草一区| 插老姨肥穴| 久久久久久9999| 超碰97首页| 99国产精品自在自在| 夜夜做夜夜爽精品视频| 一区二区三区一亚洲中文字幕、综合区灬 | 97国产精选| 青青青青青手机视频| 亚洲久久久久| 国产理论视频在线播放| 99视频只有精品| 日本人妻一区二区| 欧美91色| 少妇被c 黄 免费观看| 婷婷av在线中文字幕| 色婷婷视频| 91精品久久久久久综合五月天| 色蜜AV| 美女啪欧美一区| 91激情国产| 久热一区二区| 国产精品一区二区三区,亚洲综合| 久久久九九网站| 啊啊啊啊啊在线观看网址| 欧美曰韩国产精品| 国产高清免费不卡av| 99热这里是精品| 色爱三区| 青青草亚洲一区 | 亚洲丝袜天堂| 欧美日韩人妻精品一区二区三区| 亚洲国产综合视频| 日韩性爱电影一区| 麻豆婷婷成人一二三| 九99久久| 亚洲欧洲日韩天堂av| 九九av| 绑缚麻绳人妻寝取完整版| 亚洲第二页| 成人97人人超碰人人| 免费黄色片子| 青草影院内射高潮| 国产美女自拍AV| 成人日韩欧美| 老鸭窝成人| 国产拍偷精品网站| 久久婷五月| 久久久久久久久久久久九| 伊人91| 玖玖爱免费观看视频| 欧美日本久久精品一区| 97超碰中文在线| 自慰白浆在线观看| 亚av顶级裸体一区二区三区四区五区 | 天天拍天| 亚洲精品国产专区在线观看| 毛片视频白嫩| 日本媚薬中文字幕在线| 精品v日韩欧美国产| 亚洲熟妇丝袜在线观看| 天天综合欧美| 五月丁香六月激情| 91超碰丝袜制服| 四虎影视永久在线免费| 欧美亚洲20p| 日本精品五区| 黄页大片在线观看| 久久久久夜夜夜夜| 婷婷五月天成人网| 啊啊啊慢点| 日本亚洲熟女视频| 黄站在线免费观看| 日本一本道A级黄色毛片试看60分钟| 激情终合网| 97在线欧洲| 日韩黄色电影网站| 婷婷综合五月| 大奶啊啊好爽| 精品一区二区三区四区外站| 色欲日韩欧美在线一区| 国产精品一区二区三区,亚洲综合 性开放中文AV高清无码免费看 | 亚洲欧美一区二区网址| 亚洲最大黄网| 艾草av| 大香蕉伊在线久草麻豆天堂故事| 中文幕97| 国产suv精品一区| 97久久久久久久久久| 美女骚尻视频| 色欧美综合| 久久老女人| 国产精品久久久久无码Av网曝门| A级片一区| 翔田千里A片一区二区| 东京热视频网| 欧美很很操视频| 婷婷色中文字幕| 激情自拍 校园春色| 日本免费不卡二区| 美女骚尻视频| 97超碰超| 免费?级毛片无码?∨蜜芽试看| 93人人操人人| 99热只有| 日韩综合97P| 国产馆| 在线观看一级α片刺激高潮视频| 婷婷丁香五月天亚洲天堂网| 日本三级久| 日本99一区二区| 亚洲在线A| 色牛aV| 大香蕉免费乱伦视频| 亚洲va综合va国产va中文| 天天日日本| 白嫩91在线亚洲| 日韩三级伊人| 国产热RE99久久6国产精品首| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 丰满少妇高潮无码| 东京热av影院| 日韩精品一区二区日韩| 久久国产三区| 亚洲 欧美 综合 91| 秋霞Av理论一级在线| 欧美色性爱| 中文字幕av色| 91热热色| 看黄片视频免费| 麻豆国产av网| 欧美色图综合| 97人人干| 97在线免费公开视频| 亚洲 欧美 制服 另类 自拍| 国产视频一区二区在线| 33044男人的天堂深夜备| 2024年最新色情网站在线观看 | 老鸭窝日丰县女人| 日日干夜夜操视频h| 手机看av网站在线看| 亚洲春色一区二区三区| 欧美精品激情| 亚洲人综合| 东北女人的毛片| 亚洲天堂中文字幕无码男同| 操逼逼无码| 国产多人在线观看视频| 国产精品com| 狠狠入| 欧美熟女逼久久久久久| 亚洲影院小综合| 曰韩精品九九无码| 91狼人| 国产精品69人妻无码久久久| 日韩熟女操逼| 久久精品国产Aⅴ| 啊啊啊啊好疼| 人妻久久| 家庭乱伦国产精品| 国产丝袜视频| 97精品久久| 另类综合另类| 欧美一区二区男人天堂| 久九九九九九九九热| 天天摸夜夜摸| 亚洲中文制服诱惑| 国产毛片片精品天天看视频| 91粉嫩萝控精品福利网站_精品影音先锋国 | 性色中出| 亚洲最新av无码成人精品区| 久久久一区二区| 欧美日韩国产高清在线一二三区| 亚洲熟妇AV日韩熟妇在线| 亚州AV无码国产精品| 熟女久久久| 国产伦乱91| 欧美激情 亚洲色图| 色五月婷婷在线| 一区二区影视| 欧美性,色九九| 男人天堂黄片| 久久大香蕉97| 久久久久久久久久久久久9999| 福利视频香蕉免费一区二区在线| 精品无人区麻豆乱码久久久| 国产人妖视频一区在线观看| 限制级中的三级片中的黑粗大屌屌日人妻熟女| 亚洲人人操| 亚洲一区二区三区春色| 亚洲色图 图片| 婬女免费一二三区A片| 亚洲资源一区| 99热精品国产| 中文自拍欧美影视| 一起草视频在线| 在线视频一区二区传媒| 爱干爱射网啊啊啊| 免费1级a做爰片观看| 久久久精品中文字幕麻豆| 日本99视频| 久久超碰国产一区二区三区| 青青草好吊| 婷婷香蕉欧美在线一区二区三区 | 你草精品在线视频| 91精品综合久久久久久五月丁香| 久久受www免费人成| 欧美97免费| 国产又大又粗又长视频在线| 丁香五月天堂网| 国产亚洲性生活视频播放| 亚州黄站| 日韩97视频| 九九玖玖精品| 夜夜操狠狠操| 天天干夜夜操网| 婷婷av在线中文字幕| 97鸡把在线视频| 天堂资源站| 7月婷婷综合| 亚洲欧美成人在线| 国产免a费看黄片在线| 成人线上超碰| 日本欧美不卡| 亚洲色图欧美色18直播在线| 国产精品午夜福利视频| www.高清无码诱惑一区.com| 在线观看AV不卡| 中文字幕 国产区| 人人艹亚洲| 九九碰九九爱97超碰| 熟女高潮精品一区二区| 中文字幕女同在线| 夜夜久久| 樱花草社区www中国| 亚洲影视综合网| 五月婷在线| 国产日本久久免费精品| 操高情无码| 很黄很色的视频在线观看| 粉嫩av平台| 91操熟女| 91精品人妻偷情| 激情综合网亚洲| 精品午夜福利导航| 黄骗免费网站| 青娱乐国产剧情av一区| 精品无码久久久久久久久果冻糖心| 欧美色91| 激情久久日韩精品中文字幕麻豆| 屁股久久久久久久久| 日韩精品9区| 后入式视频国产自| 亚洲天堂久| 亚洲九九视频| 亚洲少妇在线观看| 97超碰护士| 国产三级中文字幕粉嫩| 东北女人的毛片| 久久久穴999| 欧美色图 人妻| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 国产视频不卡在线观看| 国产精品亚洲一区二区三区四区| 国产成人久久久精品免费AV| 久久人妻视频网| 99re9在线| 欧美日韩免费专区在线| 天天综合网AV91| 免费看国产大AB| 欧美三级偷拍| 久久夜夜| 欧美经典一区二区三区 | 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 麻豆天美久久91| 欧美日日夜夜| 搡老熟女免费视频| 亚洲精品一二牛牛| 欧美亚洲日本视频久久久| 久久性爱免费送| 欧美乱色| 美熟女逼导航AV操逼| 中文字幕一区二区三区人妻不卡 | 精品少妇一区二区三区在线视频| 97久久精品亚洲| 2019AV天堂| 蜜区区视频79| 99久久精品欧美国产| 另类 日韩 熟女| 久久黄黄| 中出人妻中文字幕91在线| 9丨久久九九九| 成人无码在线超碰网| 无码视频黄色网战| 97硬碰| 丝袜加勒比| 欧美日韩在线视频网站| www网站黄| 97天天综合网| 四虎精品一区二区| 日韩欧美中文| 精品射1999| 青青草原伊人网| 亚洲色系另类精品国产| 99热99色| 蜜臀久久99'精品久久久| 日夜伊人网| 久久亚洲AV无码专区首页| 夜夜操狠狠操| 91无码人妻| 你懂的在线观看区国产| 国产原创自拍| 九九久久国产精品怡红院| 人妻二区| 久久9 9 9精品| 无码二级三级| 无码 有码 国产18p| 91色爽欧美| 国产精品熟女一区二区三区| 精品久久人妻成人网| 欧美一区二区成人一卡| 精品人妻一区二区三区四区石在线| 五月婷婷激情网| 欧洲大香蕉| 一级毛片久久久久久久女人18| 亚洲,欧美,春色,另类| 99热在线只有精品| 国产一区二区三区精品观看啪| 福利一级版子| 性饥渴少妇av无码毛片| 久久人妻四季| a片久久久久久久久久久久 | 久久AV无码网址| 亚洲欧美日韩电影网站一区| 大香蕉www.超碰| 久草资源在线视频官方总站日韩丝袜美腿| 天天综合网网欲色| 狠狠久久四虎| A级在线视频| 丝袜狠狠草尤物人妻av91| 久操免费在线| 99re6国产精品99re在线| 精…码一二三区| 熟女丰满人妻一区| 亚洲天堂2020| 国产伦精品免编号公布| 亚洲成人黄色在线观看| 男人久久精品| 欧美成人AⅤ大片在线观看| 亚洲涩涩| 被体育老师抱着c到高潮| 精品人妻视频一区二区在线播放 | 精彩久久中文| 操屄不卡视频| 欧美日韩人妻精品系列一区二区三区| 99久久婷婷| 好爽视频在线观看视频 | a亚洲欧美色欲| 久久久∴| 国产高潮AA片免费看| 欧洲精品二区| 一区二区三区男女操逼黄色小电影| 国产91亚洲精品一区二区三区| 天天碰操中国年青熟妇| 欧美日韩性爱无码| 亚洲九九视频| 乱老女人一区二区视频| 怡红院亚洲怡春院av| 人人操人人狠狠操| 国产美女91| 日韩性爱再线视频| 91精品操美女| 情色日播放AV| 亚洲一欧洲中文字幕在线| 日韩97超碰| 精彩国产视频播放1区2区| 欧美亚洲| 国产精品国产精品国产| 中文幕97| 亚洲老熟妇xxx| 26uuu性| 人妻丝袜日本| 日韩天天本| 人妻少妇精品一区二区三区| 日日日日做夜夜夜夜无码| 婷婷丁香人妻 | 伊人991| 综合熟女| 最新中文字幕在线亚洲| 国产福利精品98视频| 无码操逼天堂| 四季AV综合网址| 久操婷婷| 乱伦av.com| 91久久青青草原精品| 精久久久| 1区2区3区中文字幕日韩| 六月丁香啪啪| 亚洲高清无码在线桃色| 亲子敌伦对白在线播放| 亚洲国产福利视频| 丁香五月天久久精品视频一区二区三区| 国产欧美一区激情交| 18禁无码永久免费无限制| 风间由美日韩欧美久久| 亚洲综合校园春色| 日欧美色| 99热综合在线| 超碰免费在线| 四虎影视永久在线免费| av天堂加勒比| 九九九九九九九九九九精品视频| 日日夜夜骚| 色噜噜综合在线| 欧洲熟妇xxXx欧美老妇裸体| www.av在线视频| 欧美区亚洲区偷拍区| 97在线视频网站| 懂色AV网| 欧美91网| 综合网少妇| 亚洲乱熟女一区二区| 国产女人9999| 91超碰碰在线| 亚州熟妇精品| yy少妇精品久久| 久久免费精品96| 欧美中文狠| 日韩午夜国产| 清清草影| 天堂涩涩| 在线小说视频一区| 97亚洲国产| 97伦乱| 91九色丰满高潮| 玖玖资源视频一区二区三区| 激情文学亚洲| 91观看 国产白丝| 国产精品日日摸天天碰| 欧洲综合色| 国产精品久久久久9999小说| 中文字幕视频在线观看| 日韩情色一区二区| 日韩无码极品| 伊人网青青| 亚洲91在线播放影院| 亚洲中文一区二区三区| 欧美强奸一区二区诱惑| 色婷婷蜜臀av| 欧美中文字幕一区| 91丝袜在线视频| 国产AV天美传媒一区二区三区 | 精品三级在线专区| 国产一区二区三区白丝| 色狠狠 - 百度| 欧美刺激色黄片免费看| 99免费在线视频| 区一在线观看| 乱码人妻一区二区三区| 日韩欧视频| 日产操逼| 日本一区二区三区四区免费观看| 精品一区二区亚洲国产| 蜜臀久久99精品久久久久久久久| 特级大荫道BBwBBwBBW| 60秒免费小视频| 日本加勒比无码专区一二三| 亚洲资源站| 中文人妻av高清一区| 新版天堂中文资源8在线| 在线观看一卡二卡| 操B久久| 97国产精品在线观看| 久久久精品网站| 国产精品婬乱一级毛片彝族| 日韩AV片| 亚洲AV在线资源| 97这里只有精品| 久久av成人无码免费| 亚码激情| 怡红院亚洲怡春院av| 天天澡天天爽日日AV| 青娱乐久久艹| av操操不卡| 黄色成年| 久久av成人无码免费| 久久久久久中文字幕中文字幕最新| 日日干男人的天堂| 麻豆天美一区二区| 亚洲最大网站av| 欧美色66| 女人天堂av在线播放| 国产综合永久精品日韩鬼片| 精品国产一区二区久久| 夜夜嗨TV| 成人三一级一片aaa| 99久久久无码| 日韩精品人妻中文字幕不卡乱码| 久久亚州精品成人Av无| 日韩一级二级| 高清无码91| 国产 热久久久久国产精品| 人妻精品综合中文字幕在线| 偷拍导航视频网站| h无码动漫在线观看| 日夜久久久九九九久| 91精品国产91熟女| 秋霞曰韩R级| 色亚州人久干视频在线观看免费版| 激情婷婷综合久久| 亚洲熟妇自偷自拍另欧美| 日日骚av| 亚洲综合一区二区| 中国熟女91| 青青操综合网| 久久日本熟女精品一区| 91色人妻| 啊啊啊啊二区好大| 黄色香蕉视频网站一区| 免费看污网站| 国产在线综合福利网站| 热久久91婷婷| 日韩欧美亚洲自拍偷拍| 爽爽歪在线视频| 中文字幕后石码四区五区| 婷婷五月丁香五月| 狠狠爱夜夜| 五月天激情婷婷| 网友自拍第1页| 蜜桃视频精品一区二区| 亚洲熟女诱惑| 夜夜操天| 精品国产av一区二区三区四区入口| 欧美黄页在线| 国内精品嫩模A∨私拍小视频| 国产精品久久发布| 中文字幕在线免费观看2| 嗯嗯嗯嗯啊啊啊好紧好大| 2023天天操夜夜操| 91在线丝袜视频| 中文字幕一二区二三区人妻专区| 超碰天天操你比| 91三级理论片播放器| 激情婷婷丁香网| 色五月婷婷中文字幕| 九九热三级片| 在线综合 亚洲 欧美中文字幕| 国产兽交视频在线播放| 91男人天堂网| 超碰人人色| 九九九免费视频| 嗯嗯,好大,好爽,好骚| 制度丝袜99| 国产av强奸美女| 国产乱子伦一区二区三区免看| 中文自拍欧美影视| 久久久久久久唑| 打av高清| 在线观看国产黄色| 屁股久久久久久久久久| 日韩在线人妻网站| 日韩少妇一区二区三区| 日本久久超碰| 98精品国产乱码久久久久久| 簧片免费看视频| 在线午夜成人无码视频| 亚州高清色综合| 99视频只有精品| 女欧美一区二三区| 亚洲诱惑天堂 | 成人区人妻精品一| 欧美天天谢综合网| 人妻熟女av国产网站| 成·人免费午夜在线观看| 亚洲 另类 丝袜 自拍 动漫| 丁香婷婷久久| gogogo免费高清看中国国语| 日韩无码第3页| 99re69综合| 色婷婷影视| 超碰人人操97碰| 国产三级片在线观看| 日本精品久久久久久久| 91狠狠综合久久久久久| 操逼逼无码| 一级岛国大片| 91 丝袜在线播放| 麻豆传媒一区二区在线观看| 成 人 影视 一区 二区 三区 四区 | 99自拍视频在线| 97在线精品观看视频| 欧美翘臀视频网站一区二区三区| 夜夜 中文视频rt| 久久免费中文字幕在线观看| 色青青久久影视| 眼镜人妻101.com| 97超碰久久| 97se亚洲| 色天使AV天堂| av东京热男人的天堂| 亚洲天堂性爱| 啊v视频在线观看| 免费观看国产不卡av| 老熟女乱伦片| 人妻夜夜爽天天爽三区麻豆AV网站| 久久久少妇诱惑精品视频| 99在线观看无大码| 国产极品999| 伊人天堂在线| 色色综合网站| 激情五月天丁香社区| 欧美一区二区三区入口| 精品日韩人妻精品一二三区| 久久专区| 欧美AB在线| 啊啊啊好舒服视频| 夜夜高潮夜夜爽夜夜爱爱一区| 97亚洲国产| 天天草AV| 国产精品3| 五十路人妻在线| 黄色片G G G| 99re6国产精品99re| 久草在| 亚洲精品1区| 亚洲男人的天堂在线看| 综合天天网| 亚洲男人的天堂在线看| 国产熟女精品区| 欧美A√综合网| 无码久| 丝袜狠狠草尤物 91| 丝袜高跟澳门91视频| 国产精品一级二级在线| 看看日B真人视频| 久久久精品九| 亚洲AV色图| 狠日欧美| 成人精品在线免费视频| 欧美福利视频啊啊啊啊| 91成人高清在线观看| 欧美五十路熟| 国产操逼逼网| a在线视频免费观看| www.婷婷六月天| 麻豆久久视频在线地址| 一及黄久一点| 粉嫩久久久久| 激情婷婷黑人91| 97超碰中文在线| 99国产人成精品| 2017天天插| 成人国产二区三区在线,男女精品。| 一本色道久久综合精品婷婷| 男人天堂新在线| 亚洲一区中文字幕一区| 欧美啪啪色吧在线| 婷婷五月天丁香| 超91综合网| 无码操逼天堂| 欧亚无码视频| 五月激情影院| 四虎精品一区| 亚洲欧洲综合成人av一区| 久久色人体| 91插B网站| 在线一道啪| 欧美 传媒 麻豆 日韩 偷拍| 欧美成人性活片| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 超碰av人人人| 天天日熟妇| 在线岛国新天堂8| 国产精品小视频一区二区三区| 欧美激情 亚洲色图| 色欲蜜臀AV| 成人一区二区三区四区| 午夜男女爽爽爽影院视频| 超碰资源亚洲97| 超碰97中文| 美女黄色一级A视频| 欧美情色亚洲| 天天爽夜夜操| 熟女少妇视频| 狠狠操狠狠插| 久热伊人| 一区二区三区四区色图| 黄页av| 九九色综合| 精精品人妻一区二区三区| 亚洲操操| 91综合中文字幕| 99re6久热只有精品6在线直播 | 亚洲女优有码无码高清| 91呆哥人妻| 四虎精品亚洲| 巨爆乳肉感一区二区三区竹菊影视 | 99热在线观看| 亚洲欧美黄| 伊人青青一区成人视频在线观看区 | 怡红院成人av| 久久久久亚洲AV无码专区少妇| 久啪| 欧亚在线视频| 亚洲中文丝袜美腿诱惑字幕| 大香蕉免费中文| av网站在线看| 成人在线视频一区| 伊人影院综合是一个与深夜成人在线 | 爱我干综合| 国产精品乱码久久| 啊好爽受不了无码| 日韩乱伦AⅤ| 熟女91网| 亚洲精品 大香蕉| 欧美巨大性舒爽顶到了| 亚洲www91| 欧美日本国产日韩激情视频| 9美女超碰在线免费观看| 欧美黄页在线| 人妻干天天| 少妇高潮喷水无套久久久久久| 日韩啪啪网| 亚洲综合第一页| 啊啊啊不要好爽日韩无码一区| 天天干天天操天天干天天操| 高清孕妇孕交 交| 啊啊好多水| 国产高清无码一区二区三区四区皇冠| 亚洲风情在线观看| 亚洲AV高潮| 黄色高清无码无码破解免费暗网| 精品久久久久久久| 色天堂综合| 久久丁香五月天| 香蕉黄色一级视频| 综合网亚洲在线| 亚洲限制级在线| 日本午夜精品理论片A级APP发布| 欧美黄页| 亚洲人妻久久久| 熟女在线视频| 色香色欲天天综合网天天来吧| 天堂无码| 亚州五月| 狠狠夜色午夜久久综合在线| 九九色婷婷| 性爱视频无打码在线观看| 蜜臀99久久国产| 嗯嗯啊好大| 免费观看有码高清视频| 三级网色| 免费视频在线一区二区不卡| 国产尤物在线三区| 2000亚洲男人天堂| 97九色人妻| 日本中文字幕在线视频| 色综合V| 97免费视频在线| 91青青在线视频| 亚洲 图片 欧美 色图| 婷婷丁香久久| 国产理论视频在线播放| 91夜色| 日本三级精品| 国产精品久久久久999| 精品美女在线视频| 在线黄页看毛片| 中文字幕亚洲在线一区| 亚洲精品无码成人久久久99| 免费精品无码一级毛片牛牛影视| 久久精品国产97欧美精品亚洲 | 久久这里都是精品| 日韩操人| 久久精视频美日韩在线视频| 在线综合 亚洲 欧美中文字幕| 七月婷婷综合| 97视频播放| 蜜桃网熟妇| 欧美日韩人妻少妇 一区二区三区| 久草资源在线视频官方总站日韩丝袜美腿 | 日本三级中国三级99人妇网站| 熟妇艹鸡八| 亚洲国产欧美日韩人妻日中文| 色狠狠综合| 日本一本道A级黄色毛片试看60分钟| 天天插夜夜操| 性爱综合一区二区| 日韩综合无码一区久久92| 97资源久久| 青娱乐黄色录像| 久9爱精品| 国产丁香精品露脸视频| 91熟女.com| 欧美成人国产精品| 天天操天天日天天干| 97超视频在线观看| 亚州色国| 色综合20p| 综合网97| 欧美丝袜美女电影一二三四区| 亚洲色图 图片| 精吧天堂| 中文字幕无码不卡啪啪| 国产日产欧产美韩系列麻豆免费| 尤物视频网 刘玥| 性感美女啊啊啊在线| 一二视频神马久久传媒| 日本黄色天堂| 国产午夜福利合集| 快播电影网日韩新片| 欧美精品系列| 久久岛国| 亚洲精品久久久久毛片A片拉屎| 国内毛片欧美香蕉精品| 久久黄片国产一区二区| 久久久久久69国产一区二区 | 激情文学88| 一级性爱视频免费在线| 看免费的黄片| 日韩精品在线放| 女优免费一区二区永久| 中文字幕五区| 欧美少妇大量自拍视频在线观看| 日本不卡卡一区| 国产乱弄免费在线视频。| 性性久久| 欧美,日韩,中文,另类| 96久久久久久久| 色欲久久久久综合网| 五月婷网站| 男男H黄动漫啪啪无遮挡网站| 免费观看啪视频| 久久熟女人| 亚洲欧美一区二区不卡视频播放| 超碰碰小说97| 偷拍 亚洲 欧美| 亚洲精品成人动漫在线| 岛园激情| 日本天天吊| 狠色婷婷久久一区二区三区_| 婷婷10月天青娱乐| 国产女同在线观看视频| 免费亚洲黄色视频在线观看| 日本人妻A片成人免费看片| 久操99| 久久精品99久久久久久| 91性网| 国产av强奸美女| 色99在线| 素颜老阿姨乱情色| 亚洲人妻日日日|