日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

利用Nacos實現Seata事務模式(XA與AT)的快速配置與靈活切換

來源: 責編: 時間:2024-02-01 12:51:49 272觀看
導讀前言接之前一篇《Seata如何實現兩階段提交(2PC)分布式事務》,實際開發中seata基本不會用file存儲和管理服務節點信息,下面小編將結合nacos來整合seata,實現XA和AT模式的靈活轉換。實現相關安裝包可以自行前往官網下載:nacos

前言

接之前一篇《Seata如何實現兩階段提交(2PC)分布式事務》,實際開發中seata基本不會用file存儲和管理服務節點信息,下面小編將結合nacos來整合seata,實現XA和AT模式的靈活轉換。OK828資訊網——每日最新資訊28at.com

實現

相關安裝包可以自行前往官網下載:OK828資訊網——每日最新資訊28at.com

  • nacos:https://github.com/alibaba/nacos/releases 版本2.1.0
  • seata:https://github.com/seata/seata/releases  版本1.4.2

部署及配置seata

registry.conf:OK828資訊網——每日最新資訊28at.com

registry {  # file 、nacos 、eureka、redis、zk、consul、etcd3、sofa  type = "nacos"  nacos {    application = "seata-tc-server"    serverAddr = "127.0.0.1:8848"    group = "DEFAULT_GROUP"    namespace = ""    cluster = "BJ"    username = "nacos"    password = "nacos"  }}config {  # file、nacos 、apollo、zk、consul、etcd3  type = "nacos"  nacos {    serverAddr = "127.0.0.1:8848"    namespace = ""    group = "SEATA_GROUP"    username = "nacos"    password = "nacos"    dataId = "seataServer.properties"  }}

seataServer.properties:OK828資訊網——每日最新資訊28at.com

特別注意,為了讓TC服務的集群可以共享配置,同樣選擇nacos作為統一配置中心。OK828資訊網——每日最新資訊28at.com

# 數據存儲方式,db代表數據庫store.mode=dbstore.db.datasource=druidstore.db.dbType=mysqlstore.db.driverClassName=com.mysql.cj.jdbc.Driverstore.db.url=jdbc:mysql://localhost:3306/seata?useUnicode=true&rewriteBatchedStatements=truestore.db.user=rootstore.db.password=rootstore.db.minConn=5store.db.maxConn=30store.db.globalTable=global_tablestore.db.branchTable=branch_tablestore.db.queryLimit=100store.db.lockTable=lock_tablestore.db.maxWait=5000# 事務、日志等配置server.recovery.committingRetryPeriod=1000server.recovery.asynCommittingRetryPeriod=1000server.recovery.rollbackingRetryPeriod=1000server.recovery.timeoutRetryPeriod=1000server.maxCommitRetryTimeout=-1server.maxRollbackRetryTimeout=-1server.rollbackRetryTimeoutUnlockEnable=falseserver.undo.logSaveDays=7server.undo.logDeletePeriod=86400000# 客戶端與服務端傳輸方式transport.serialization=seatatransport.compressor=none# 關閉metrics功能,提高性能metrics.enabled=falsemetrics.registryType=compactmetrics.exporterList=prometheusmetrics.exporterPrometheusPort=9898

sql腳本:OK828資訊網——每日最新資訊28at.com

CREATE TABLE `branch_table`  (  `branch_id` bigint(20) NOT NULL,  `xid` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,  `transaction_id` bigint(20) NULL DEFAULT NULL,  `resource_group_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,  `resource_id` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,  `branch_type` varchar(8) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,  `status` tinyint(4) NULL DEFAULT NULL,  `client_id` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,  `application_data` varchar(2000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,  `gmt_create` datetime(6) NULL DEFAULT NULL,  `gmt_modified` datetime(6) NULL DEFAULT NULL,  PRIMARY KEY (`branch_id`) USING BTREE,  INDEX `idx_xid`(`xid`) USING BTREE) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;CREATE TABLE `global_table`  (  `xid` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,  `transaction_id` bigint(20) NULL DEFAULT NULL,  `status` tinyint(4) NOT NULL,  `application_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,  `transaction_service_group` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,  `transaction_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,  `timeout` int(11) NULL DEFAULT NULL,  `begin_time` bigint(20) NULL DEFAULT NULL,  `application_data` varchar(2000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,  `gmt_create` datetime NULL DEFAULT NULL,  `gmt_modified` datetime NULL DEFAULT NULL,  PRIMARY KEY (`xid`) USING BTREE,  INDEX `idx_gmt_modified_status`(`gmt_modified`, `status`) USING BTREE,  INDEX `idx_transaction_id`(`transaction_id`) USING BTREE) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

以上是XA模式所需腳本,AT模式追加以下腳本:OK828資訊網——每日最新資訊28at.com

CREATE TABLE `lock_table`  (  `row_key` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,  `xid` varchar(96) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,  `transaction_id` bigint(20) NULL DEFAULT NULL,  `branch_id` bigint(20) NOT NULL,  `resource_id` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,  `table_name` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,  `pk` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,  `gmt_create` datetime NULL DEFAULT NULL,  `gmt_modified` datetime NULL DEFAULT NULL,  PRIMARY KEY (`row_key`) USING BTREE,  INDEX `idx_branch_id`(`branch_id`) USING BTREE) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;CREATE TABLE `undo_log`  (  `branch_id` bigint(20) NOT NULL COMMENT 'branch transaction id',  `xid` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'global transaction id',  `context` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'undo_log context,such as serialization',  `rollback_info` longblob NOT NULL COMMENT 'rollback info',  `log_status` int(11) NOT NULL COMMENT '0:normal status,1:defense status',  `log_created` datetime(6) NOT NULL COMMENT 'create datetime',  `log_modified` datetime(6) NOT NULL COMMENT 'modify datetime',  UNIQUE INDEX `ux_undo_log`(`xid`, `branch_id`) USING BTREE) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = 'AT transaction mode undo table' ROW_FORMAT = Compact;

其中lock_table導入到TC服務關聯的數據庫,undo_log表導入到微服務關聯的數據庫。OK828資訊網——每日最新資訊28at.com

啟動seata:OK828資訊網——每日最新資訊28at.com

圖片圖片OK828資訊網——每日最新資訊28at.com

XA模式

XA 規范 是 X/Open 組織定義的分布式事務處理(DTP,Distributed Transaction Processing)標準,XA 規范描述了全局的TM與局部的RM之間的接口,幾乎所有主流的數據庫都對 XA 規范提供了支持。OK828資訊網——每日最新資訊28at.com

兩階段提交

XA是規范,目前主流數據庫都實現了這種規范,實現的原理都是基于兩階段提交。OK828資訊網——每日最新資訊28at.com

  • 正常情況:

圖片圖片OK828資訊網——每日最新資訊28at.com

  • 異常情況:

圖片圖片OK828資訊網——每日最新資訊28at.com

一階段(準備階段):OK828資訊網——每日最新資訊28at.com

  1. 協調發起:

事務協調者向所有參與此次分布式事務的本地事務參與者發出指令,要求它們開始執行本地事務操作。OK828資訊網——每日最新資訊28at.com

  1. 本地執行與狀態反饋:
  • 各個本地事務參與者接收到請求后,在各自的數據庫上啟動并執行本地事務。
  • 在完成本地事務操作后,各參與者并不立即提交事務,而是將各自的事務執行狀態(成功或失敗)報告給事務協調者,并在此期間繼續保持對相關數據資源的鎖定以防止并發沖突。

二階段(提交/回滾階段):OK828資訊網——每日最新資訊28at.com

  1. 全局提交決定:
  • 如果事務協調者收到的所有參與者的反饋均表示本地事務已成功執行,則向所有參與者發送“全局提交”指令。
  1. 全局提交執行:

接收到“全局提交”指令的參與者將在本地正式提交其事務,釋放之前持有的數據庫鎖,并確保事務操作永久記錄于數據庫。OK828資訊網——每日最新資訊28at.com

  1. 全局回滾決定與執行:
  • 若事務協調者接收到任何一個參與者反饋表明本地事務執行失敗,或者出現其他異常情況,則會做出全局回滾的決定。
  • 協調者隨即通知所有參與者進行“全局回滾”,每個參與者在收到此指令后,必須在其本地環境中撤銷已經執行但尚未提交的事務操作,釋放鎖定資源,并恢復至事務開始前的數據狀態。

Seata的XA模型

圖片圖片OK828資訊網——每日最新資訊28at.com

在分布式事務處理中,RM和TC按照兩階段提交協議執行各自的工作:OK828資訊網——每日最新資訊28at.com

RM在一階段的工作:OK828資訊網——每日最新資訊28at.com

  1. 分支事務注冊:
  • RM將參與的分支事務信息注冊到TC,為后續協調全局事務做好準備。
  1. 本地事務操作:

RM在數據庫或其他資源上執行與分支事務相關的SQL操作,但并不提交這些變更,而是保持數據鎖定狀態以防止數據不一致。OK828資訊網——每日最新資訊28at.com

  1. 狀態匯報:

完成本地操作后,RM向TC報告其分支事務的執行狀態,包括成功或失敗的信息。OK828資訊網——每日最新資訊28at.com

TC在二階段的工作:OK828資訊網——每日最新資訊28at.com

  • 狀態檢測與決策制定:

若所有分支事務均執行成功,TC通知所有RM提交各自的事務。OK828資訊網——每日最新資訊28at.com

若存在任何一個分支事務執行失敗,TC則指示所有RM回滾各自的事務,以保證分布式事務的一致性。OK828資訊網——每日最新資訊28at.com

RM在二階段的工作:OK828資訊網——每日最新資訊28at.com

  • 接收指令并執行:

如果是提交指令,則正式提交一階段執行的SQL操作,并釋放之前持有的鎖。OK828資訊網——每日最新資訊28at.com

如果是回滾指令,則撤銷一階段未提交的SQL操作,恢復至事務開始前的數據狀態。OK828資訊網——每日最新資訊28at.com

代碼樣例

依賴引入:OK828資訊網——每日最新資訊28at.com

<dependencies>    <dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-web</artifactId>    </dependency>    <dependency>        <groupId>com.alibaba.cloud</groupId>        <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>        <version>2.2.3.RELEASE</version>    </dependency>    <dependency>        <groupId>org.springframework.cloud</groupId>        <artifactId>spring-cloud-starter-openfeign</artifactId>        <version>2.2.3.RELEASE</version>    </dependency>    <dependency>        <groupId>com.alibaba.cloud</groupId>        <artifactId>spring-cloud-starter-alibaba-seata</artifactId>        <version>2.2.3.RELEASE</version>        <exclusions>            <!--版本較低,1.3.0,因此排除-->            <exclusion>                <artifactId>seata-spring-boot-starter</artifactId>                <groupId>io.seata</groupId>            </exclusion>        </exclusions>    </dependency>    <dependency>        <groupId>io.seata</groupId>        <artifactId>seata-spring-boot-starter</artifactId>        <version>1.4.2</version>    </dependency>    <dependency>        <groupId>com.baomidou</groupId>        <artifactId>mybatis-plus-boot-starter</artifactId>        <version>3.4.1</version>    </dependency>    <!--mysql-->    <dependency>        <groupId>mysql</groupId>        <artifactId>mysql-connector-java</artifactId>        <version>5.1.47</version>    </dependency>    <dependency>        <groupId>org.projectlombok</groupId>        <artifactId>lombok</artifactId>    </dependency></dependencies>

配置引入:OK828資訊網——每日最新資訊28at.com

server:  port: 8011spring:  application:    name: bank-11  datasource:    url: jdbc:mysql://localhost:3306/bank1?characterEncoding=utf8&useSSL=false    driver-class-name: com.mysql.jdbc.Driver    username: root    password: root  cloud:    nacos:      server-addr: 127.0.0.1:8848seata:  registry:    type: nacos    nacos:      server-addr: 127.0.0.1:8848      namespace: ""      group: DEFAULT_GROUP      application: seata-tc-server # tc服務在nacos中的服務名稱      username: nacos      password: nacos  tx-service-group: order_tx_group #自定義事務組名稱需要與seata-server中的對應  data-source-proxy-mode: XA  service:    vgroup-mapping:      order_tx_group: BJ # TC 集群(必須與seata-server保持一致)

bank22服務參考bank11配置即可,bank11調用bank22服務OK828資訊網——每日最新資訊28at.com

@GlobalTransactional@Overridepublic void updateAccountBalance(String accountNo, Double amount) {    log.info("******** Bank1 Service Begin ... xid: {}" , RootContext.getXID());    //張三扣減金額    baseMapper.updateAccountBalance(accountNo,amount);    //向李四轉賬    String transfer = bank2Client.transfer(amount);    if("fallback".equals(transfer)){        //調用李四微服務異常        throw new RuntimeException("調用李四微服務異常");    }    //人為制造錯誤    if(amount > 100){        throw new RuntimeException("bank1 make exception amount > 100");    }}

XA模式的優點:OK828資訊網——每日最新資訊28at.com

  • 事務的強一致性,滿足ACID原則。
  • 常用數據庫都支持,實現簡單,并且沒有代碼侵入

XA模式的缺點:OK828資訊網——每日最新資訊28at.com

  • 因為一階段需要鎖定數據庫資源,等待二階段結束才釋放,性能較差
  • 依賴關系型數據庫實現事務

AT模式

AT模式同樣是分階段提交的事務模型,不過卻彌補了XA模型中資源鎖定周期過長的缺陷。OK828資訊網——每日最新資訊28at.com

Seata的AT模型

階段一(準備階段)RM的工作:OK828資訊網——每日最新資訊28at.com

  1. 注冊分支事務:

當全局事務開始后,RM會為該事務涉及的本地事務創建并注冊一個分支事務,將其納入到全局事務的管理范圍。OK828資訊網——每日最新資訊28at.com

  1. 記錄undo-log(數據快照):

在執行業務SQL之前,RM會對當前事務要修改的數據進行前鏡像的記錄,即生成undo-log。這樣在事務回滾時可以根據undo-log恢復到事務開始前的狀態。OK828資訊網——每日最新資訊28at.com

  1. 執行業務sql并提交:

RM按照業務需求執行相應的SQL操作,并在本地將事務置為“預提交”狀態,但不真正完成提交。OK828資訊網——每日最新資訊28at.com

  1. 報告事務狀態:

將分支事務的執行結果(成功或失?。﹨R報給協調者,等待協調者的下一步指令。OK828資訊網——每日最新資訊28at.com

階段二(提交階段/回滾階段)RM的工作:OK828資訊網——每日最新資訊28at.com

  1. 提交階段:

如果協調者收到所有RM的反饋均為“準備成功”,則指示RM正式提交事務。此時,RM刪除對應的undo-log,因為事務已成功提交,不再需要回滾信息。OK828資訊網——每日最新資訊28at.com

  1. 回滾階段:

若協調者決定全局事務需要回滾,RM會根據先前記錄的undo-log恢復數據到事務開始前的狀態,撤銷在事務過程中對數據的所有更改,確保數據一致性。OK828資訊網——每日最新資訊28at.com

代碼樣例

修改配置:OK828資訊網——每日最新資訊28at.com

seata:  data-source-proxy-mode: AT # 默認就是AT

AT模式的優點:OK828資訊網——每日最新資訊28at.com

  • 一階段完成直接提交事務,釋放數據庫資源,性能比較好
  • 利用全局鎖實現讀寫隔離
  • 沒有代碼侵入,框架自動完成回滾和提交

AT模式的缺點:OK828資訊網——每日最新資訊28at.com

  • 兩階段之間屬于軟狀態,屬于最終一致
  • 框架的快照功能會影響性能,但比XA模式要好很多

本文鏈接:http://m.www897cc.com/showinfo-26-70466-0.html利用Nacos實現Seata事務模式(XA與AT)的快速配置與靈活切換

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 在 Create React App 中使用 TypeScript,你學會了嗎?

下一篇: Spring Boot項目集成RabbitMQ實戰以及坑點講解

標簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
久久久久天天天天| 亚洲欧美日韩在线综合| 国产在线精品一区二区夜色| 国产一区免费视频| 最近看过的日韩成人| 99国产精品自拍| 亚洲欧美日韩国产另类专区| 久久国产精品第一页| 免费在线观看一区二区| 欧美日韩www| 国产欧美在线视频| 亚洲国产成人在线| 欧美午夜精品久久久| 久久亚洲精品中文字幕冲田杏梨 | 一区二区国产日产| 亚洲欧美日韩国产中文在线| 久久婷婷国产综合精品青草| 欧美日韩一级大片网址| 国产一区二区高清视频| 国产欧美日韩伦理| 在线观看国产成人av片| 一级成人国产| 久久久久成人精品免费播放动漫| 欧美日韩99| 在线成人av.com| 亚洲一卡久久| 欧美成人在线免费视频| 欧美高清视频在线| 国产精品视频在线观看| 国产精品美女久久久久aⅴ国产馆| 国模精品一区二区三区| 精久久久久久久久久久| 99精品国产一区二区青青牛奶| 亚洲精品一区二区三区樱花| 亚洲精品之草原avav久久| 午夜电影亚洲| 欧美精品一二三| 精东粉嫩av免费一区二区三区| 亚洲视频网在线直播| 欧美xart系列在线观看| 国产日韩欧美a| 一区二区三区四区国产精品| 老司机67194精品线观看| 国产精品一区二区久久久| 日韩视频在线播放| 欧美sm重口味系列视频在线观看| 国产日韩欧美在线观看| 一区在线影院| 亚洲欧美激情视频| 欧美日韩免费看| 亚洲国产高潮在线观看| 欧美自拍偷拍午夜视频| 国产精品久久久久久久第一福利 | 亚洲欧洲一区| 久久久精品国产免大香伊| 国产精品久久久久三级| 99re这里只有精品6| 免费观看成人| 在线播放中文一区| 欧美一区二区三区的| 国产精品高潮呻吟久久| 亚洲美女在线国产| 午夜精品久久久久久久久久久久 | 久久伊人亚洲| 国产一区二区三区在线免费观看 | 国产精品第2页| avtt综合网| 欧美国产在线观看| 亚洲国产精品久久久久秋霞蜜臀| 亚洲最新色图| 国产日韩精品久久久| 亚洲一区网站| 久久久久久久久久码影片| 国产精品日日摸夜夜添夜夜av| 好吊妞**欧美| 久久成人精品无人区| 国产亚洲成年网址在线观看| 午夜免费电影一区在线观看| 国产精品美女xx| 亚洲欧美一区二区三区在线| 国产精品免费网站| 亚洲欧美日韩综合| 国产毛片一区| 欧美在线视频一区| 国产一区二区三区久久久久久久久| 欧美一区二区三区四区夜夜大片| 国产精一区二区三区| 亚久久调教视频| 国产自产精品| 久久综合狠狠| 亚洲高清久久| 欧美国产亚洲另类动漫| 亚洲看片免费| 欧美视频官网| 亚洲一区二区在线免费观看视频| 国产精品户外野外| 性色一区二区三区| 狠狠色丁香婷婷综合久久片| 美国成人直播| 国产精品视频一二三| 亚洲欧美网站| 国产在线拍揄自揄视频不卡99| 久久久久久久欧美精品| 在线观看视频一区| 欧美激情视频一区二区三区免费| 亚洲另类黄色| 国产精品高潮呻吟久久av黑人| 亚洲人www| 欧美三区美女| 午夜精品福利一区二区三区av| 国产一区二区精品| 蜜桃av综合| 一区二区成人精品| 国产亚洲va综合人人澡精品| 久久亚洲高清| 亚洲另类黄色| 国产日产欧产精品推荐色 | 国产日韩欧美中文| 免费成人黄色av| 制服丝袜亚洲播放| 国产一区二区精品在线观看| 免费在线观看成人av| 亚洲新中文字幕| 黄色精品免费| 欧美日韩国产另类不卡| 91久久亚洲| 欧美天天视频| 久久久综合免费视频| 日韩午夜三级在线| 国产日韩精品一区二区浪潮av| 蜜臀av一级做a爰片久久| 宅男噜噜噜66一区二区| 合欧美一区二区三区| 欧美日韩日本视频| 久久久精品tv| 一区二区三区日韩精品视频| 国产一区二区中文字幕免费看| 欧美寡妇偷汉性猛交| 午夜欧美视频| 亚洲精品视频在线观看网站| 欧美精品在线视频| 欧美一级在线播放| 日韩视频在线一区二区| 国产性猛交xxxx免费看久久| 欧美精品尤物在线| 久久久精品一区二区三区| 一本久久a久久精品亚洲| 国产一区二区三区奇米久涩 | 99精品福利视频| 好吊妞这里只有精品| 国产精品国产成人国产三级| 久久久久成人精品| 亚洲伊人网站| 国产亚洲精品久久久久婷婷瑜伽| 欧美ed2k| 久久精品在线视频| 亚洲伊人一本大道中文字幕| 亚洲精品免费一区二区三区| 国产午夜精品麻豆| 欧美视频中文在线看| 你懂的国产精品永久在线| 亚洲毛片播放| 狠狠色丁香婷综合久久| 国产精品欧美经典| 欧美美女喷水视频| 麻豆精品在线播放| 欧美在线视频免费播放| 亚洲线精品一区二区三区八戒| 亚洲国产裸拍裸体视频在线观看乱了| 国产欧美日韩一区二区三区在线 | 欲色影视综合吧| 国产麻豆9l精品三级站| 欧美性猛交xxxx乱大交蜜桃 | 欧美+日本+国产+在线a∨观看| 久久国产主播精品| 亚洲欧美色婷婷| 亚洲午夜一区| 精品动漫一区二区| 国产九九精品| 国产精品二区在线观看| 欧美日产一区二区三区在线观看| 久久久久国内| 欧美在线播放视频| 亚洲女人天堂成人av在线| 亚洲午夜女主播在线直播| 日韩一区二区精品视频| 91久久精品日日躁夜夜躁欧美| 在线播放豆国产99亚洲| 国精品一区二区| 国产一区二区三区免费不卡| 国产日韩欧美综合| 国产日韩在线看片| 国产欧美视频一区二区| 亚洲综合欧美| 在线一区二区三区四区| 亚洲最新视频在线播放| 亚洲乱码国产乱码精品精| 亚洲三级国产| 亚洲精品日韩激情在线电影| 亚洲区中文字幕| 亚洲精品免费观看| 日韩午夜电影av| 这里只有精品视频在线| 亚洲午夜一区二区三区|