<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      laas paas saas 架構說明

      ---------------------------------------------------------------------------------------------------------------------------

      在 Java 開發領域,IaaS、PaaS、SaaS 分別對應基礎設施、平臺、軟件三個層級的服務模式,它們基于云原生理念構建,各自承擔不同的技術職責,且常形成協同架構。以下從 Java 技術棧的角度,詳解三者的架構特點、技術組件及典型場景:

      一、IaaS(基礎設施即服務):Java 應用的 “物理底座”

      核心定位:提供虛擬化的硬件資源,讓 Java 應用無需關心服務器、網絡、存儲的物理部署。Java 視角的架構組件:
      • 計算資源:虛擬機(如 AWS EC2、阿里云 ECS)或容器(Docker),Java 應用通過 JVM 運行在這些虛擬化環境中,需配置 JDK 版本(如 JDK 8/17)、內存參數(-Xms/-Xmx)等。
      • 網絡資源:負載均衡(如 Nginx、AWS ELB)用于分發 Java 應用的 HTTP 請求,VPC 隔離網絡環境,保障微服務間通信安全(如 Spring Cloud 服務調用)。
      • 存儲資源:
        • 塊存儲(如阿里云 ESSD)用于部署 Java 應用的服務器磁盤(存放 JAR 包、配置文件);
        • 對象存儲(如 AWS S3)用于存儲 Java 應用生成的非結構化數據(如用戶上傳的圖片、日志文件)。
      Java 開發的典型操作:通過腳本(如 Shell、Ansible)在 IaaS 虛擬機上部署 JDK、安裝 Tomcat/Jetty,或通過 Dockerfile 構建 Java 應用鏡像(FROM openjdk:17-jdk-slim),再運行容器。

      二、PaaS(平臺即服務):Java 開發的 “全棧工具鏈”

      核心定位:在 IaaS 之上封裝開發、運行、運維的平臺能力,Java 開發者只需關注代碼邏輯,無需管理基礎設施。Java 專屬架構組件:
      1. 開發與構建平臺:
        • 代碼托管(GitLab/GitHub)+ CI/CD 工具(Jenkins、GitLab CI),自動編譯 Java 代碼(mvn clean package)、運行單元測試(JUnit)、構建鏡像。
        • 在線 IDE(如 AWS Cloud9),支持 Java 代碼實時編寫、調試(集成 JDPA)。
      2. 運行時環境:
        • 容器編排(Kubernetes,如阿里云 ACK):管理 Java 應用容器的生命周期,通過 Deployment 配置副本數,實現彈性擴縮容(應對 Java 應用的流量波動)。
        • 應用服務器托管:PaaS 平臺內置 Tomcat、JBoss 等,開發者直接上傳 WAR 包即可運行(如阿里云 PaaS 的 “應用服務”)。
        • 微服務治理:集成 Spring Cloud Alibaba/Kubernetes 原生服務網格(Istio),提供服務注冊發現(Nacos/Eureka)、配置中心(Apollo)、熔斷降級(Sentinel)。
      3. 數據服務:
        • 托管數據庫:MySQL(RDS)、MongoDB 等,Java 應用通過 JDBC/ODM 框架(MyBatis、Spring Data MongoDB)直接連接,無需關心數據庫運維。
        • 中間件服務:托管 Redis(緩存)、RocketMQ(消息隊列),Java 代碼通過客戶端 SDK(如 Jedis、RocketMQ Client)調用,PaaS 平臺自動維護高可用。
      4. 監控與運維:
        • 日志收集(ELK Stack):Java 應用的日志(Logback/Log4j 輸出)被集中采集,支持按traceId追蹤分布式調用(結合 Spring Cloud Sleuth)。
        • 性能監控:APM 工具(如 Pinpoint、SkyWalking)監控 Java 應用的 JVM 指標(GC、內存)、接口響應時間,自動告警異常。

      三、SaaS(軟件即服務):Java 構建的 “終端應用”

      核心定位:基于 IaaS/PaaS 開發的成熟軟件,通過瀏覽器 / API 供用戶直接使用,Java 是 SaaS 后端開發的主流語言。Java 架構特點:
      1. 多租戶設計:
        • 數據隔離:通過數據庫 schema 隔離(如每個租戶一個 schema)或字段隔離(表中加tenant_id),Java 代碼中用 MyBatis 攔截器自動拼接租戶條件。
        • 配置隔離:基于 Spring Cloud Config 實現不同租戶的配置差異化(如支付方式、權限規則)。
      2. 高并發與可擴展性:
        • 后端架構:采用 Spring Boot + Spring Cloud 微服務拆分(如用戶服務、訂單服務),通過 Kubernetes 水平擴展應對多用戶訪問。
        • 異步處理:Java 異步框架(CompletableFuture)+ 消息隊列(RabbitMQ)處理非實時任務(如 SaaS 系統的報表生成、郵件推送)。
      3. 安全與合規:
        • 認證授權:集成 OAuth2.0/SSO(如 Keycloak),Java 代碼通過 Spring Security 實現用戶登錄、權限校驗。
        • 數據加密:Java 加密庫(如 BouncyCastle)對敏感數據(如用戶手機號)加密存儲,符合 GDPR 等合規要求。
      典型 Java 開發的 SaaS 產品:企業級 CRM(如 Salesforce,部分后端用 Java)、在線協作工具(如飛書,后端大量使用 Java 微服務)。

      四、三者協同架構(以 Java 微服務為例)

      plaintext
       
       
      用戶 → SaaS應用(Java微服務)→ PaaS平臺(K8s/中間件/CI/CD)→ IaaS(虛擬機/容器/存儲)
      
       
      • 開發者在 PaaS 的 IDE 中編寫 Java 代碼,通過 CI/CD 部署到 PaaS 的 K8s 集群(運行在 IaaS 的虛擬機上);
      • 用戶通過瀏覽器訪問 SaaS 應用,請求經 IaaS 的負載均衡轉發到 PaaS 中運行的 Java 微服務;
      • Java 服務調用 PaaS 的托管數據庫 / 緩存,數據最終存儲在 IaaS 的存儲資源中;
      • 運維人員通過 PaaS 的監控工具,查看 Java 應用的運行狀態(依賴 IaaS 的資源指標)。

      總結

      • IaaS:Java 應用的 “硬件抽象層”,解決 “在哪里跑” 的問題;
      • PaaS:Java 開發的 “效率引擎”,解決 “如何快速開發、穩定運行” 的問題;
      • SaaS:Java 價值的 “終端體現”,解決 “用戶直接用什么” 的問題。
      三者的核心目標是:讓 Java 開發者從基礎設施管理中解放,聚焦業務邏輯,加速應用交付。

      ---------------------------------------------------------------------------------------------------------------------------

      在 Spring Boot 應用的云原生架構中,IaaS、PaaS、SaaS 三個層次分別對應 “基礎設施支撐”“開發運行平臺”“終端應用服務”,每個層次都有其特定的技術組件和 Spring Boot 適配方式。以下從 Spring Boot 開發視角,詳解各層次的技術架構:

      一、IaaS 層(基礎設施即服務):Spring Boot 的 “硬件抽象層”

      核心定位:提供虛擬化的計算、網絡、存儲資源,是 Spring Boot 應用運行的物理基礎,開發者需關注 “如何在基礎設施上部署和運行 Spring Boot 應用”。

      技術架構組件

      1. 計算資源
        • 虛擬機(VM):如 AWS EC2、阿里云 ECS,Spring Boot 應用通過 JVM 運行在 VM 中,需配置 JDK 環境(如openjdk:17)、JVM 參數(-Xms512m -Xmx1g),通過java -jar app.jar啟動。
        • 容器(Docker):Spring Boot 官方推薦容器化部署,通過Dockerfile打包應用(基于openjdk鏡像),示例:
          dockerfile
           
           
          FROM openjdk:17-jdk-slim
          COPY target/*.jar app.jar
          ENTRYPOINT ["java", "-jar", "/app.jar"]
          
           
           
        • 裸金屬服務器:高性能場景(如金融核心系統),直接部署 Spring Boot 應用以減少虛擬化開銷。
      2. 網絡資源
        • 負載均衡(LB):如 Nginx、AWS ELB,分發 Spring Boot 應用的 HTTP/HTTPS 請求(配合server.port=8080配置),支持會話保持(針對有狀態應用)。
        • VPC 與安全組:隔離 Spring Boot 應用的網絡環境,限制端口訪問(如只開放 8080 端口),保障微服務通信安全(如 Spring Cloud 服務間調用)。
        • DNS 解析:將域名映射到 Spring Boot 應用的 IP,支持多環境(dev/test/prod)域名隔離。
      3. 存儲資源
        • 塊存儲:如阿里云 ESSD,用于存放 Spring Boot 應用的 JAR 包、配置文件(application.yml)、本地日志(Logback 輸出)。
        • 對象存儲:如 AWS S3、阿里云 OSS,通過 Spring Boot 集成的 SDK(如spring-cloud-starter-alicloud-oss)存儲用戶上傳的文件(圖片、文檔),避免本地存儲瓶頸。
        • 共享存儲:如 NFS,用于多實例 Spring Boot 應用共享靜態資源(如static/目錄下的 JS/CSS)。

      Spring Boot 適配特點

      • 需通過配置文件指定外部存儲路徑(如logging.file.path=/mnt/logs指向塊存儲掛載目錄)。
      • 容器化時需處理端口映射(docker run -p 8080:8080)和環境變量注入(-e SPRING_PROFILES_ACTIVE=prod)。

      二、PaaS 層(平臺即服務):Spring Boot 的 “開發運行中臺”

      核心定位:在 IaaS 之上封裝開發、部署、運維、中間件等平臺能力,Spring Boot 開發者無需關心基礎設施,聚焦代碼邏輯,通過平臺工具鏈快速交付應用。

      技術架構組件

      1. 開發與 CI/CD 平臺
        • 代碼托管:GitLab、GitHub,存儲 Spring Boot 源代碼,支持分支管理(如 GitFlow)。
        • CI/CD 工具:Jenkins、GitLab CI,自動化執行:
          • 編譯:mvn clean package -DskipTests(基于 Maven/Gradle);
          • 測試:運行 JUnit 單元測試、Mockito 接口測試;
          • 構建鏡像:通過 Docker 插件生成 Spring Boot 應用鏡像;
          • 部署:推送鏡像到容器倉庫(如 Harbor),再部署到 PaaS 的容器編排平臺。
      2. 容器編排與運行時
        • Kubernetes(K8s):PaaS 層的核心,管理 Spring Boot 容器的生命周期:
          • 通過Deployment定義副本數(replicas: 3),實現彈性擴縮容(應對流量波動);
          • 通過Service暴露 Spring Boot 應用的 8080 端口,實現內部服務發現;
          • 通過ConfigMap/Secret注入 Spring Boot 配置(替代本地application.yml),示例:
            yaml
             
             
            # ConfigMap配置spring.profiles.active
            apiVersion: v1
            kind: ConfigMap
            data:
              SPRING_PROFILES_ACTIVE: "prod"
            
             
             
        • Serverless 平臺:如 AWS Lambda、阿里云 FC,Spring Boot 應用可打包為函數(通過spring-cloud-function適配),按需執行(適合低頻任務)。
      3. 中間件與數據服務(托管式)
        • 數據庫服務:
          • 關系型:MySQL(RDS)、PostgreSQL,Spring Boot 通過spring-boot-starter-jdbc或 MyBatis 連接,無需關心主從同步、備份;
          • 非關系型:MongoDB Atlas、Redis(托管版),通過spring-boot-starter-data-mongodb/spring-boot-starter-data-redis集成,自動獲取連接信息。
        • 消息隊列:RabbitMQ、RocketMQ(托管版),Spring Boot 通過spring-boot-starter-amqp發送 / 接收消息,PaaS 平臺自動維護隊列高可用。
        • 服務治理:集成 Spring Cloud Alibaba/Nacos,提供服務注冊發現、配置中心(替代本地配置文件),PaaS 平臺托管 Nacos 集群。
      4. 監控與運維工具
        • 日志管理:ELK Stack(托管版),Spring Boot 通過logback.xml配置日志輸出格式(包含traceId),日志被自動收集到 Elasticsearch,通過 Kibana 查詢。
        • APM 監控:SkyWalking、Pinpoint,通過 Java Agent 注入 Spring Boot 應用,監控 JVM 指標(GC、內存)、接口響應時間、分布式調用鏈(結合spring-cloud-starter-sleuth)。
        • 告警系統:如 Prometheus + Grafana,監控 Spring Boot 的/actuator/metrics端點(需依賴spring-boot-starter-actuator),觸發閾值時告警(如 CPU 使用率 > 80%)。

      Spring Boot 適配特點

      • 大量使用 “starters” 簡化 PaaS 服務集成(如spring-boot-starter-cloud-starter-alicloud對接阿里云 PaaS)。
      • 配置外置化:通過 PaaS 平臺的配置中心(如 Nacos)動態刷新配置,無需重啟應用(@RefreshScope注解)。
      • 運維自動化:通過actuator暴露健康檢查(/health)、信息查詢(/info)端點,供 PaaS 平臺做存活檢測和版本管理。

      三、SaaS 層(軟件即服務):Spring Boot 的 “終端應用層”

      核心定位:基于 IaaS/PaaS 開發的多租戶應用,通過瀏覽器 / API 供用戶直接使用,Spring Boot 作為后端核心框架,需解決多租戶隔離、高并發、可擴展性等問題。

      技術架構組件

      1. 多租戶架構
        • 數據隔離:
          • 共享數據庫,獨立 schema:每個租戶一個數據庫 schema,Spring Boot 通過 MyBatis 攔截器自動拼接schema前綴;
          • 共享表,字段隔離:表中加tenant_id字段,通過ThreadLocal存儲租戶上下文,AOP 攔截 SQL 自動添加tenant_id = ?條件(依賴mybatis-plus的多租戶插件)。
        • 配置隔離:基于 Spring Cloud Config 或 Nacos,為不同租戶配置獨立參數(如主題顏色、功能開關),通過@TenantConfig注解動態獲取。
      2. 微服務拆分
        • 基于 Spring Cloud 將 SaaS 應用拆分為多個微服務(如用戶服務、訂單服務、支付服務),通過 Spring Cloud Gateway 作為 API 網關,統一處理認證、路由、限流。
        • 服務間通信:FeignClient(同步)、RocketMQ(異步),確保松耦合。
      3. 高并發與彈性伸縮
        • 緩存策略:多級緩存(本地 Caffeine + 分布式 Redis),緩存租戶配置、高頻訪問數據(如用戶信息),通過@Cacheable注解實現。
        • 異步處理:使用 Spring 的@Async或 CompletableFuture 處理非實時任務(如報表生成、郵件推送),避免阻塞主線程。
        • 彈性伸縮:結合 PaaS 層的 K8s,根據租戶訪問量自動擴縮容(如訂單服務在促銷時擴容至 10 個實例)。
      4. 安全與合規
        • 認證授權:集成 OAuth2.0/SSO(如 Keycloak),Spring Security 處理登錄邏輯,基于租戶角色(ROLE_TENANT_ADMIN)控制權限。
        • 數據加密:敏感字段(如手機號、銀行卡)通過 Java 加密庫(如 BouncyCastle)加密存儲,傳輸層用 HTTPS(配置server.ssl)。
        • 審計日志:通過 AOP 記錄租戶操作日志(誰、何時、做了什么),滿足合規要求(如 GDPR)。

      典型場景

      • 企業級 SaaS:如 CRM 系統(客戶管理)、OA 系統(協同辦公),后端用 Spring Boot 微服務支撐多企業租戶。
      • 互聯網 SaaS:如在線教育平臺、電商 SaaS 工具,通過 Spring Boot 處理高并發用戶請求。

      四、三層協同架構(Spring Boot 應用全鏈路)

      plaintext
       
       
      用戶 → SaaS層(Spring Boot微服務)→ PaaS層(K8s/中間件/CI/CD)→ IaaS層(虛擬機/容器/存儲)
      
       
      • 開發者在 PaaS 的 IDE 中編寫 Spring Boot 代碼,通過 CI/CD pipeline 構建鏡像,部署到 PaaS 的 K8s 集群(運行在 IaaS 的虛擬機上);
      • 用戶訪問 SaaS 應用,請求經 IaaS 的負載均衡→PaaS 的 API 網關→Spring Boot 微服務;
      • 微服務調用 PaaS 的托管數據庫 / 緩存,數據存儲在 IaaS 的塊存儲 / 對象存儲中;
      • PaaS 的監控工具采集 Spring Boot 的日志和指標,基于 IaaS 的資源使用情況觸發告警。

      總結

      • IaaS 層:為 Spring Boot 提供 “運行載體”,解決 “硬件資源虛擬化” 問題;
      • PaaS 層:為 Spring Boot 提供 “開發運維工具鏈”,解決 “快速交付與穩定運行” 問題;
      • SaaS 層:Spring Boot 實現 “多租戶業務邏輯”,解決 “用戶直接使用的軟件服務” 問題。

      ---------------------------------------------------------------------------------------------------------------------------

      datatable 轉java的哪個對象
      在 Java 中,DataTable 通常指的是類似 C# 中 System.Data.DataTable 的數據結構(一種內存中的表格型數據,包含行、列和數據)。在 Java 中沒有內置的 DataTable 類型,但可以根據具體場景選擇對應的等效對象或數據結構來轉換,常見的有以下幾種:

      1. List 集合(最常用)

      用 List 嵌套對象或 Map 來模擬表格結構,適合簡單場景:
      • List<Map<String, Object>>
         
        外層 List 代表行集合,內層 Map 代表一行數據(key 為列名,value 為單元格值)。
         
        示例:
        java
         
        運行
         
         
         
         
        // 模擬 DataTable 轉換
        List<Map<String, Object>> dataTable = new ArrayList<>();
        Map<String, Object> row1 = new HashMap<>();
        row1.put("id", 1);
        row1.put("name", "張三");
        dataTable.add(row1);
        
        Map<String, Object> row2 = new HashMap<>();
        row2.put("id", 2);
        row2.put("name", "李四");
        dataTable.add(row2);
        
         
         
      • List<實體類>
         
        若表格結構固定,可定義一個實體類(如 UserOrder),用 List<實體類> 存儲,更具類型安全性。
         
        示例:
        java
         
        運行
         
         
         
         
        class User {
            private int id;
            private String name;
            // get/set 方法
        }
        
        List<User> userList = new ArrayList<>();
        userList.add(new User(1, "張三"));
        userList.add(new User(2, "李四"));
        
         
         

      2. 第三方庫的表格對象

      某些 Java 框架或庫提供了類似 DataTable 的數據結構,適合復雜場景(如數據處理、報表):
      • Apache Commons DbUtils 的 ResultSetHandler 結果:
         
        通過 BeanListHandler 或 MapListHandler 直接將數據庫查詢結果轉換為 List<實體類> 或 List<Map>,本質上還是 List 集合。
      • Alibaba FastJson 的 JSONArray
         
        用 JSON 數組模擬表格,每個元素是 JSON 對象(代表一行),適合前后端數據傳輸。
         
        示例:
        java
         
        運行
         
         
         
         
        JSONArray dataTable = new JSONArray();
        dataTable.add(new JSONObject().fluentPut("id", 1).fluentPut("name", "張三"));
        dataTable.add(new JSONObject().fluentPut("id", 2).fluentPut("name", "李四"));
        
         
         
      • POI 的 XSSFSheet(Excel 表格):
         
        若 DataTable 來自 Excel,可通過 Apache POI 轉換為 XSSFSheet(對應 Excel 工作表),操作行和單元格。
      • JOOQ 的 Result 或 Record
         
        JOOQ 框架中,Result<Record> 代表查詢結果集,類似 DataTableRecord 對應一行數據。

      3. 自定義 DataTable 類

      若需要完全模擬 C# DataTable 的功能(如動態列、類型定義、行操作等),可自定義類:
      java
       
      運行
       
       
       
       
      class DataTable {
          private List<String> columns; // 列名
          private List<DataRow> rows;   // 行數據
          
          class DataRow {
              private Map<String, Object> values; // 行數據(列名 -> 值)
          }
          // 增刪改查方法
      }
      
       

      總結

      • 簡單場景:優先用 List<Map> 或 List<實體類>(最靈活、無依賴)。
      • 框架集成:根據使用的庫(如 FastJson、JOOQ)選擇對應的數據結構。
      • 復雜需求:自定義 DataTable 類或使用專門的表格處理庫(如 Apache Commons CSV 等)。
       
      List 套map 和map 套list
      List 套 Map 和 Map 套 List 是 Java 中兩種常見的嵌套數據結構,用途和場景有明顯區別,下面分別說明:

      1. List<Map<String, Object>>(List 套 Map)

      結構特點:

      • 外層是 List,代表一組數據的集合(類似表格的 “行”)。
      • 內層是 Map,每個 Map 代表一條具體數據(類似表格的 “一行”),Map 的 key 是字段名(列名),value 是字段值。

      適用場景:

      • 模擬表格型數據(類似數據庫查詢結果、Excel 表格),每條數據結構相同但值不同。
      • 數據需要有序性(List 保證順序),且可能需要按索引訪問(如獲取第 N 條數據)。

      示例:

      java
       
      運行
       
       
       
       
      // 模擬一張用戶表的查詢結果
      List<Map<String, Object>> userList = new ArrayList<>();
      
      // 第一條數據(行)
      Map<String, Object> user1 = new HashMap<>();
      user1.put("id", 1);
      user1.put("name", "張三");
      user1.put("age", 20);
      userList.add(user1);
      
      // 第二條數據(行)
      Map<String, Object> user2 = new HashMap<>();
      user2.put("id", 2);
      user2.put("name", "李四");
      user2.put("age", 25);
      userList.add(user2);
      
       
      • 此時 userList 就像一個包含 2 行 3 列的表格,可按 userList.get(0) 獲取第一行數據。

      2. Map<String, List<Object>>(Map 套 List)

      結構特點:

      • 外層是 Mapkey 通常是分組標識(如類別、ID),value 是 List
      • 內層是 List,代表該分組下的一組數據(類似 “同一類別下的多條記錄”)。

      適用場景:

      • 對數據進行分組歸類(如按 “部門” 分組存儲用戶、按 “日期” 分組存儲訂單)。
      • 需要通過 key 快速定位某一組數據(Map 的 get(key) 效率高),組內數據是無序或無需按索引訪問的。

      示例:

      java
       
      運行
       
       
       
       
      // 按部門分組存儲用戶(部門名稱為 key,用戶列表為 value)
      Map<String, List<String>> deptUsers = new HashMap<>();
      
      // 開發部用戶
      List<String> devUsers = new ArrayList<>();
      devUsers.add("張三");
      devUsers.add("李四");
      deptUsers.put("開發部", devUsers);
      
      // 測試部用戶
      List<String> testUsers = new ArrayList<>();
      testUsers.add("王五");
      testUsers.add("趙六");
      deptUsers.put("測試部", testUsers);
      
       
      • 此時可通過 deptUsers.get("開發部") 快速獲取開發部的所有用戶。

      核心區別與選擇建議

      結構核心用途優勢典型場景
      List<Map> 存儲 “多行同結構數據” 保證順序,可按索引訪問 數據庫結果集、Excel 數據
      Map<List> 存儲 “分組后的多組數據” 按 key 快速查詢分組,適合歸類 數據分組、分類統計
      • 若數據是 “平級的多條記錄”,選 List<Map>
      • 若數據需要 “按某個維度分組”,選 Map<List>

      ---------------------------------------------------------------------------------------------------------------------------

      posted @ 2025-11-05 17:01  hanease  閱讀(6)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产a级三级三级三级| 国产精品久久无中文字幕| 成人亚洲欧美一区二区三区| 九九热在线视频观看这里只有精品| 人妻系列中文字幕精品| 国产日韩精品一区在线不卡| 黑人巨大av无码专区| 欧美国产日韩久久mv| 亚洲一区二区国产av| 免费看欧美日韩一区二区三区| 一卡二卡三卡四卡视频区| 国产精品99久久久久久www| 午夜自产精品一区二区三区| 亚洲国产精品午夜福利| 亚洲精品一区二区在线播| 人妻激情偷一区二区三区| www插插插无码免费视频网站 | 免费午夜无码片在线观看影院| 亚洲成人av在线系列| 天天爽夜夜爽人人爽曰| 国产成人无码AV片在线观看不卡| 精品无码久久久久国产电影| 一 级做人爱全视频在线看| 老色99久久九九爱精品| 久久这里有精品国产电影网| 国产精品老熟女露脸视频| 伊人色综合九久久天天蜜桃| 国产播放91色在线观看| 国产精品乱码一区二区三| 天堂mv在线mv免费mv香蕉| 人人澡人摸人人添| 国产精品乱一区二区三区| 九九综合va免费看| 人成午夜免费视频无码| 连江县| 日韩加勒比一本无码精品| 好吊视频一区二区三区人妖| 久久综合亚洲鲁鲁九月天| 男人用嘴添女人私密视频| 不卡av电影在线| 久久夜色撩人国产综合av|