精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

?SpringBoot與Disruptor整合,實現電商秒殺百萬級別交易訂單的高性能無鎖異步處理

開發 架構
在電商秒殺場景中,短時間內會有大量用戶提交訂單請求。傳統的阻塞隊列無法有效應對高并發情況,導致性能瓶頸和用戶體驗下降。基于Disruptor環形隊列替代傳統阻塞隊列,吞吐量提升10倍+,保障訂單處理零丟失。

在電商秒殺場景中,短時間內會有大量用戶提交訂單請求。傳統的阻塞隊列無法有效應對高并發情況,導致性能瓶頸和用戶體驗下降。基于Disruptor環形隊列替代傳統阻塞隊列,吞吐量提升10倍+,保障訂單處理零丟失。

與傳統阻塞隊列對比

特征

傳統阻塞隊列

Disruptor環形隊列

鎖機制

使用鎖(如ReentrantLock)

無鎖算法(CAS)

數據結構

鏈表或固定大小的數組

固定大小的環形數組

緩存利用

較差

較好

并發支持

一般并發

高并發

性能

適中,存在鎖競爭和上下文切換

高性能,低延遲

適用場景

中小型應用,一般并發需求

高并發應用,對延遲敏感

Disruptor的核心特點

  • 無鎖算法:使用CAS(Compare and Swap)操作來更新狀態,避免了傳統鎖機制帶來的性能瓶頸。
  • 環形數組:預先分配固定大小的內存空間,數據連續存儲在內存中,提高了緩存利用率。
  • 批量處理:生產者可以批量發布事件,減少對RingBuffer的操作次數。
  • 等待策略:提供了多種等待策略(如BusySpinWaitStrategy、BlockingWaitStrategy等),可以根據應用場景選擇合適的策略。
  • 多消費者支持:支持多個消費者并行處理事件,提高整體處理能力。

優勢

  • 高性能:通過無鎖算法和緩存優化,顯著提高吞吐量和降低延遲。
  • 低延遲:避免了鎖競爭和上下文切換,適合實時性要求高的場景。
  • 靈活性:支持多種等待策略和多消費者模式,適應不同的應用場景。

應用案例

Intel

  • 公司:Intel
  • 用途:在某些高性能計算項目中使用。
  • 優勢:利用Disruptor的高效特性來加速數據處理任務。

Uber

  • 公司:Uber
  • 用途:在某些高性能微服務架構中使用。
  • 優勢:提升了系統的穩定性和處理能力。

IBM

  • 公司:IBM
  • 用途:在一些高性能計算和大數據處理項目中使用。
  • 優勢:利用Disruptor的高效特性來加速數據處理任務。

LMAX Exchange

  • 公司:LMAX Exchange
  • 用途:最初由LMAX Exchange開發,用于其高頻交易系統。
  • 優勢:實現了極低的延遲和高吞吐量,適用于金融市場的實時交易需求。

Goldman Sachs

  • 公司:Goldman Sachs
  • 用途:用于高頻交易系統的消息傳遞。
  • 優勢:利用Disruptor的高性能特性來處理大量的市場數據和交易請求。

Bats Global Markets

  • 公司:Bats Global Markets
  • 用途:用于股票交易所的訂單匹配引擎。
  • 優勢:提升了訂單處理的速度和效率,降低了延遲。

CME Group

  • 公司:CME Group
  • 用途:用于期貨交易平臺。
  • 優勢:實現了更快的訂單處理速度,提高了用戶體驗。

主要概念

  • RingBuffer:固定大小的環形數組,用于存儲事件。每個槽位對應一個事件對象。
  • EventFactory:用于創建和初始化事件對象。
  • Producer:負責將事件發布到RingBuffer。
  • EventProcessor:包括WorkerPool和SequenceBarrier,負責從RingBuffer中獲取事件并交給EventHandler處理。
  • EventHandler:具體的事件處理器,實現業務邏輯。
  • Sequence:記錄當前讀取或寫入的位置,確保線程安全。

代碼實操

<dependency>
    <groupId>com.lmax</groupId>
    <artifactId>disruptor</artifactId>
    <version>3.4.4</version>
</dependency>

DemoApplication.java

package com.example.demo;

import com.lmax.disruptor.*;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

    // 創建線程池用于處理Disruptor中的事件
    @Bean
    public ExecutorService executorService() {
        return Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors());
    }

    // 創建OrderEvent工廠
    @Bean
    public OrderEventFactory orderEventFactory() {
        return new OrderEventFactory();
    }

    // 配置RingBuffer
    @Bean
    public RingBuffer<OrderEvent> ringBuffer(OrderEventFactory factory, ExecutorService executorService) {
        int bufferSize = 1024; // 必須是2的冪次方
        WaitStrategy waitStrategy = new BlockingWaitStrategy(); // 其他策略也可以使用
        EventProcessor eventProcessor = new WorkerPool<>(ringBuffer,
                ringBuffer.newBarrier(),
                (ex, sequence) -> ex.printStackTrace(),
                new OrderEventHandler());

        ((WorkerPool<OrderEvent>) eventProcessor).start(executorService);

        return ringBuffer;
    }

    // 配置任務執行器
    @Bean
    public ThreadPoolTaskExecutor taskExecutor() {
        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
        executor.setCorePoolSize(10);
        executor.setMaxPoolSize(20);
        executor.setQueueCapacity(500);
        executor.setThreadNamePrefix("Order-");
        executor.initialize();
        return executor;
    }
}

OrderController.java

package com.example.demo.controller;

import com.example.demo.model.OrderRequest;
import com.example.demo.service.OrderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class OrderController {

    private final OrderService orderService;

    @Autowired
    public OrderController(OrderService orderService) {
        this.orderService = orderService;
    }

    // 提交訂單接口
    @PostMapping("/order")
    public String placeOrder(@RequestBody OrderRequest request) {
        orderService.placeOrder(request);
        return"Order placed successfully!";
    }
}

OrderEvent.java

package com.example.demo.disruptor;

public class OrderEvent {
    private String orderId;
    private Long userId;

    public String getOrderId() {
        return orderId;
    }

    public void setOrderId(String orderId) {
        this.orderId = orderId;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }
}

OrderEventFactory.java

package com.example.demo.disruptor;

import com.lmax.disruptor.EventFactory;

public class OrderEventFactory implements EventFactory<OrderEvent> {
    @Override
    public OrderEvent newInstance() {
        return new OrderEvent();
    }
}

OrderEventHandler.java

package com.example.demo.disruptor;

import com.example.demo.repository.OrderRepository;
import com.lmax.disruptor.EventHandler;

public class OrderEventHandler implements EventHandler<OrderEvent> {

    private final OrderRepository orderRepository;

    public OrderEventHandler(OrderRepository orderRepository) {
        this.orderRepository = orderRepository;
    }

    @Override
    public void onEvent(OrderEvent event, long sequence, boolean endOfBatch) throws Exception {
        // 處理訂單事件
        System.out.println("Processing order: " + event.getOrderId() + " for user: " + event.getUserId());
        // 調用倉庫方法保存訂單
        orderRepository.saveOrder(event.getOrderId(), event.getUserId());
    }
}

DisruptorConfig.java

package com.example.demo.disruptor;

import com.example.demo.repository.OrderRepository;
import com.lmax.disruptor.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

@Configuration
public class DisruptorConfig {

    @Autowired
    private OrderRepository orderRepository;

    // 創建線程池用于處理Disruptor中的事件
    @Bean
    public ExecutorService executorService() {
        return Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors());
    }

    // 創建OrderEvent工廠
    @Bean
    public OrderEventFactory orderEventFactory() {
        return new OrderEventFactory();
    }

    // 配置RingBuffer
    @Bean
    public RingBuffer<OrderEvent> ringBuffer(OrderEventFactory factory, ExecutorService executorService) {
        int bufferSize = 1024; // 必須是2的冪次方
        WaitStrategy waitStrategy = new BlockingWaitStrategy(); // 其他策略也可以使用
        EventProcessor eventProcessor = new WorkerPool<>(ringBuffer,
                ringBuffer.newBarrier(),
                (ex, sequence) -> ex.printStackTrace(),
                new OrderEventHandler(orderRepository));

        ((WorkerPool<OrderEvent>) eventProcessor).start(executorService);

        return ringBuffer;
    }
}

OrderRequest.java

package com.example.demo.model;

public class OrderRequest {
    private String orderId;
    private Long userId;

    public String getOrderId() {
        return orderId;
    }

    public void setOrderId(String orderId) {
        this.orderId = orderId;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }
}

OrderRepository.java

package com.example.demo.repository;

import org.springframework.stereotype.Repository;

@Repository
public class OrderRepository {

    // 保存訂單到數據庫
    public void saveOrder(String orderId, Long userId) {
        System.out.println("Saving order: " + orderId + " for user: " + userId);
        // 我懶得寫了,本文目的不是測試DB。你們在日志看到打印的log,就自己補腦是保存到DB吧。
    }
}

OrderService.java

package com.example.demo.service;

import com.example.demo.disruptor.RingBuffer;
import com.example.demo.model.OrderRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class OrderService {

    private final RingBuffer<OrderEvent> ringBuffer;

    @Autowired
    public OrderService(RingBuffer<OrderEvent> ringBuffer) {
        this.ringBuffer = ringBuffer;
    }

    // 將訂單放入RingBuffer
    public void placeOrder(OrderRequest request) {
        long sequence = ringBuffer.next();
        try {
            OrderEvent event = ringBuffer.get(sequence);
            event.setOrderId(request.getOrderId());
            event.setUserId(request.getUserId());
        } finally {
            ringBuffer.publish(sequence);
        }
    }
}

測試

curl -X POST http://localhost:8080/order \
     -H "Content-Type: application/json" \
     -d '{"orderId": "ORD123", "userId": 1001}'

Respons:

Order placed successfully!

控制臺日志輸出:

Processing order: ORD123 for user: 1001
Saving order: ORD123 for user: 1001
責任編輯:武曉燕 來源: Java知識日歷
相關推薦

2025-09-16 02:55:00

2024-08-15 06:51:31

2025-08-14 07:42:21

2025-04-25 08:34:52

2025-09-08 09:14:31

SpringQuartz自動識別

2025-03-28 09:15:50

2025-07-31 08:58:50

2024-12-24 08:44:55

ActiveMQRabbitMQ交換機

2022-12-09 08:40:56

高性能內存隊列

2023-10-23 11:40:44

SpringBootDisruptor

2012-02-03 13:49:35

電商

2025-09-28 04:00:00

2024-09-05 08:58:37

2013-06-06 13:10:44

HashMap無鎖

2024-09-06 07:55:42

2025-10-27 05:11:00

2025-05-12 00:00:00

2022-06-09 08:36:56

高性能Disruptor模式

2025-03-27 09:05:28

2017-02-17 13:54:01

支付系統處理設計
點贊
收藏

51CTO技術棧公眾號

黄色成人在线看| 97中文在线| 日本乱子伦xxxx| 四虎精品在线观看| 亚洲一区二区三区四区在线免费观看| 国产精品毛片va一区二区三区| 日本午夜精品理论片a级app发布| 亚洲精品一级二级三级| 欧美日韩免费观看一区三区| 日本天堂免费a| 日本福利片高清在线观看| 免费成人在线视频观看| 色综合久久久久久中文网| 成人影视免费观看| 日韩福利在线观看| 欧美色另类天堂2015| 在线丝袜欧美日韩制服| 午夜激情在线视频| 激情久久五月天| 国产成人精品av在线| 免费在线观看亚洲| 欧美亚洲激情| 亚洲国产三级网| 九一精品久久久| 天堂资源在线| 亚洲午夜一区二区| 亚洲制服中文| 免费国产在线观看| 成人午夜伦理影院| 国产欧美久久久久久| av一级在线观看| 亚洲精品孕妇| 久久久久久91| 亚洲国产美女视频| 久久影院一区| 国产一区二区激情| 三级黄色片网站| 亚洲人成网站在线在线观看| 欧美性色视频在线| 无罩大乳的熟妇正在播放| 国产在线高清视频| 国产精品区一区二区三| 麻豆91蜜桃| 亚洲欧美自偷自拍| 99国产欧美另类久久久精品| 动漫美女被爆操久久久| jizz国产视频| 狠狠色综合播放一区二区| 国产精品美女久久久免费| 丰满少妇乱子伦精品看片| 精品动漫3d一区二区三区免费| 久久亚洲私人国产精品va| 日本免费www| 国产一区二区精品福利地址| 亚洲伦理中文字幕| 亚洲精品成人无码熟妇在线| 日日狠狠久久偷偷综合色| 亚洲精品美女久久久久| 久久人人妻人人人人妻性色av| 波多野结衣在线一区二区| 日韩欧美国产系列| 欧美丰满熟妇bbb久久久| 一区二区在线视频观看| 精品国产三级a在线观看| 巨乳女教师的诱惑| 成午夜精品一区二区三区软件| 日韩欧美的一区二区| 黄色片子免费看| 一区二区中文字幕在线观看| 亚洲第一精品福利| 国产精品无码永久免费不卡| 伊人精品一区| 最近更新的2019中文字幕| 顶级黑人搡bbw搡bbbb搡| 真实国产乱子伦精品一区二区三区| 久久久精品一区| 免费在线黄色片| 亚洲一区二区三区免费在线观看| 国产精品r级在线| 91亚洲欧美激情| 国产精品123区| 狠狠色狠狠色综合人人| 国产中文字幕在线播放| 亚洲欧美综合网| 69sex久久精品国产麻豆| 欧美aa免费在线| 欧美视频在线播放| 成人一区二区三区仙踪林| 精品久久ai| 日韩中文字幕视频在线观看| 青娱乐在线视频免费观看| 亚洲少妇自拍| 成人精品视频在线| 色欲av永久无码精品无码蜜桃 | 2014国产精品| 水莓100国产免费av在线播放| 日本一区二区动态图| 久久久久久久久网| 久九九久频精品短视频| 在线不卡的av| 国产伦精品一区二区三区妓女 | 国产99久久久久久免费看| 国产激情91久久精品导航| 久久偷看各类wc女厕嘘嘘偷窃 | 自拍偷拍精品| 久久综合伊人77777蜜臀| 久久不卡免费视频| 国内一区二区视频| 日本一区二区精品| 爱情岛论坛亚洲品质自拍视频网站| 91国产福利在线| 日本人添下边视频免费| 久久五月天小说| 欧美中文字幕在线| 亚洲第一天堂网| 国产精品九色蝌蚪自拍| 成人免费在线小视频| 日韩有吗在线观看| 日韩有码在线观看| 免费观看日批视频| 99九九99九九九视频精品| 日本一区二区免费高清视频| 亚洲成人看片| 日韩精品极品在线观看播放免费视频| 男的操女的网站| 久久精品二区亚洲w码| 免费av在线一区二区| 国产丝袜在线观看视频| 欧美一三区三区四区免费在线看| 鲁丝一区二区三区| 美女精品在线| 久久99精品国产99久久| 牛牛电影国产一区二区| 欧美精品xxxxbbbb| 国产传媒在线看| 视频一区中文字幕| 欧美午夜精品久久久久久蜜| 日本不良网站在线观看| 亚洲成在人线av| 久久国产一级片| 国产精品亚洲一区二区三区在线| 亚洲精品成人久久久998| 欧美性xxx| 亚洲欧洲在线看| 伦av综合一区| 久久久精品国产免费观看同学| 97国产精东麻豆人妻电影| 风间由美性色一区二区三区四区 | 桃色一区二区| 国产亚洲成av人片在线观看桃| 青青操免费在线视频| 91视频在线看| 37pao成人国产永久免费视频| 欧美福利在线播放网址导航| 91精品国产色综合久久不卡98口 | 久久久美女毛片| 大肉大捧一进一出好爽动态图| 亚洲高清极品| 国产精品久久综合av爱欲tv| 二区三区在线播放| 欧美日韩精品欧美日韩精品一综合| a资源在线观看| 精品一区二区日韩| 妞干网这里只有精品| 深夜激情久久| 91精品国产乱码久久久久久久久| 欧美日本网站| 欧美色倩网站大全免费| 无码人妻精品中文字幕| 国产一区欧美日韩| 国产无限制自拍| 国产剧情在线观看一区| 国产欧美婷婷中文| √天堂8在线网| 亚洲第一黄色网| 青青草视频在线观看免费| 国产精品家庭影院| 美女又爽又黄免费| 日韩高清不卡在线| 中文字幕不卡每日更新1区2区| 日韩在线精品强乱中文字幕| 8x拔播拔播x8国产精品| 成人高清免费观看mv| 日韩一卡二卡三卡国产欧美| 日韩欧美不卡视频| 欧美国产精品久久| aaaaa黄色片| 日日夜夜精品免费视频| 国产成人三级视频| 精品一区毛片| 操一操视频一区| 成人日韩精品| 久久久久久999| av资源在线观看免费高清| 日韩欧美色综合网站| 久久精品五月天| 一区二区三区四区蜜桃| 久久av无码精品人妻系列试探| 激情综合色综合久久| 精品这里只有精品| 天天射天天综合网| 欧美国产一二三区| 天堂va欧美ⅴa亚洲va一国产| 国产91成人video| 四虎亚洲成人| 这里只有精品视频| 日本福利午夜视频在线| 精品欧美乱码久久久久久| 国产精品第六页| 亚洲mv在线观看| tube国产麻豆| 国产精品久久综合| 欧美bbbbb性bbbbb视频| 国产91精品入口| 911福利视频| 久久久久久婷| 狠狠干 狠狠操| 欧美成人日本| 一区二区三区四区不卡| 岳的好大精品一区二区三区| 国产区一区二区三区| 激情综合婷婷| 国产专区欧美专区| 97人人做人人爽香蕉精品| 97欧美精品一区二区三区| 高清全集视频免费在线| 正在播放亚洲1区| 久久国产精品高清一区二区三区| 精品成人私密视频| 国产av无码专区亚洲av| 欧美精品色一区二区三区| 国产91av在线播放| 色婷婷av一区二区三区gif| 国产污污视频在线观看| 亚洲一区二区视频| 麻豆影视在线播放| 一区二区三区四区五区视频在线观看 | 国产3p露脸普通话对白| 欧美天天视频| 日本a在线天堂| 欧美久久久久| 蜜臀精品一区二区| 亚洲五月婷婷| 一本久道高清无码视频| 影院欧美亚洲| 国产a级片网站| 亚洲一级二级| 秋霞无码一区二区| av不卡在线看| av片中文字幕| 日韩成人伦理电影在线观看| 男人插女人下面免费视频| 日韩国产精品91| 免费激情视频在线观看| 欧美aaaaa成人免费观看视频| 日韩一级理论片| 精品一区二区影视| 在线a免费观看| 成人免费视频视频在线观看免费| 国产精九九网站漫画| 99国产精品久久久久久久久久久| 亚洲av成人片色在线观看高潮| 97久久人人超碰| 国产精久久一区二区三区| 久久九九久精品国产免费直播| 公肉吊粗大爽色翁浪妇视频| 中文字幕电影一区| 午夜国产福利一区二区| 亚洲18女电影在线观看| av黄色在线播放| 欧美日韩国产综合一区二区三区| 国产精品永久久久久久久久久| 日韩你懂的电影在线观看| 少妇喷水在线观看| 色吧影院999| 青草青在线视频| 热99在线视频| 日韩欧乱色一区二区三区在线 | 深爱激情久久| 中文字幕av日韩精品| 影音先锋久久精品| 任你操这里只有精品| 精品一区二区三区免费观看 | 欧美大片欧美激情性色a∨久久| а√天堂中文资源在线bt| 国产成人短视频| 欧美高清一级片| 久久视频在线观看中文字幕| 欧美韩日一区| 国产精品国产亚洲精品看不卡| 视频在线观看一区二区三区| 国产精品一级无码| 久久蜜臀中文字幕| 欧美黑人精品一区二区不卡| 色综合视频一区二区三区高清| 国产精品高潮呻吟AV无码| 日韩av在线一区| 国产视频中文字幕在线观看| 欧美亚洲国产精品| 日韩欧美一级| 日韩亚洲不卡在线| 亚洲小说欧美另类社区| 无尽裸体动漫2d在线观看| www.日韩大片| 亚洲天堂一级片| 一本色道a无线码一区v| 亚洲国产日韩在线观看| 自拍偷拍亚洲精品| 碰碰在线视频| 国产精品视频一区二区三区经| 日韩不卡一区| 人妻少妇被粗大爽9797pw| 国产成人在线视频免费播放| xxxx日本黄色| 色综合天天综合网天天狠天天| 高h调教冰块play男男双性文| www.亚洲天堂| 在线观看精品| 美日韩精品免费| 亚洲国产日本| 亚洲美女精品视频| 亚洲欧美日韩国产另类专区| 中文字幕免费播放| 激情综合电影网| 欧美激情亚洲精品| 国产精品诱惑| 青青成人在线| 制服诱惑一区二区| 亚洲中文字幕无码一区| 亚洲欧洲成人av每日更新| 正在播放亚洲精品| 国产亚洲精品激情久久| 二区三区不卡| 欧美精品二区三区四区免费看视频| 亚洲国产二区| 秘密基地免费观看完整版中文| 亚洲男女一区二区三区| 91麻豆成人精品国产| 中文字幕9999| 日韩在线激情| 日本特级黄色大片| 精品一区二区三区在线观看国产| 日本一卡二卡在线播放| 欧洲精品在线观看| 成年人视频在线免费观看| 国产精品久久久久久亚洲调教| 国产一区二区观看| 天堂av在线网站| 国产精品久久久久久福利一牛影视| 人人妻人人爽人人澡人人精品| 亚洲视频在线免费观看| 日韩新的三级电影| 人禽交欧美网站免费| 日韩经典中文字幕一区| 国产18无套直看片| 欧美精品日日鲁夜夜添| 麻豆传媒视频在线| 国产高清精品一区二区| 影音先锋久久资源网| 亚洲最大成人网站| 欧美专区日韩专区| 黄色av网站在线播放| 99在线观看视频网站| 99精品视频免费| 日本激情小视频| 欧美日韩免费一区二区三区视频| 久久五月精品| 国产精品久久久久久久久久久久冷 | 国内精品自线一区二区三区视频| 婷婷社区五月天| 欧美xingq一区二区| 女海盗2成人h版中文字幕| 日韩精品久久一区| 国产九色精品成人porny| 国产精品成人aaaa在线| 国产一区二区三区在线视频| 色8久久久久| 成人黄色大片网站| 国产日产欧美一区二区视频| 国产精品乱码久久久| 国产69精品久久久| 少妇精品久久久一区二区三区| 日本高清免费在线视频| 偷偷要91色婷婷| 亚洲1卡2卡3卡4卡乱码精品| 999久久久| 久久一二三四| 日韩一区二区三区四区在线| 亚洲男人的天堂在线| 91麻豆精品一二三区在线| 玩弄中年熟妇正在播放| 国产精品久久久久久久久快鸭 | 色吧影院999| 日韩aaa久久蜜桃av| 中文字幕资源在线观看| 性久久久久久久久| 黄页视频在线播放| 日本婷婷久久久久久久久一区二区| 国产麻豆欧美日韩一区| 97人妻一区二区精品视频|