日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Scalable, Distributed Systems Using Akka, Spring Boot, DDD, and Java--转

發布時間:2025/4/5 java 68 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Scalable, Distributed Systems Using Akka, Spring Boot, DDD, and Java--转 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文地址:https://dzone.com/articles/scalable-distributed-systems-using-akka-spring-boot-ddd-and-java

When data that needs to be processed grows large and can’t be contained within a single JVM,?AKKA clusters?provides features to build such highly scalable solution. This is an involved article since it touches many aspects of distributed computing. Please prepare to spend a good amount of time on the article, refer to the external links mentioned for a full understanding of each sub-topic and download and play around with provided AKKA initializer/util library to get a deeper understanding of the topics. The provided initializer library is annotated with good documentation that provides contextual meaning while going through the code.

The actors?are the building block in AKKA. By using the?AKKA cluster sharding technique,?the actors can be created in one of the many available nodes within an AKKA cluster. The messages targeted for the cluster sharded AKKA actor gets routed using a?sharding algorithm?applied on the incoming message. Each cluster sharded actor, in many cases, represents, an Aggregate[root] from?Domain-driven design?(DDD).

AKKA persistence module can be used further to enable developers to create stateful actors, and the actor state gets persisted (event/command sourcing) and can be recovered during an actor or node failure. The above cluster sharded actor can be configured with?AKKA persistence for resiliency.

The Spring framework?is battle tested and comes with wide range of countless libraries. It is beneficial to integrate AKKA with Spring framework to benefit from best of both worlds.

Purpose

The purpose of this article to combine the set of technology listed in the introduction section. The article provides users with a reusable?akka-initializer library?that is built using this technology stack. Putting these libraries to use is not a trivial task; the article aims to simplify this activity. The?akka-initializer library?could be used to implement micro services based software or build large distributed systems.

Later part of the article takes an arbitrary use case example from banking domain. The example falls into the?Complex Event Processing (CEP)?domain. The article demonstrates a reference implementation of how to build a highly scalable and resilient CEP solution using the provided?akka-initializer library?and?ESPER

Akka-initializer library?comes out with a?set of a few additional following features:

  • Make Cluster sharding implementation easier.

  • Make AKKA persistence implementation easier.

  • Make unit testing easier by providing set of utility classes.

  • Makes AKKA and Spring boot integration easier.

  • Provides a feature called time-to-live: When the cluster sharded actor implements this interface, the actor gets removed from the cluster automatically by the library including the clean-up of actors’ state from both persistence store and memory.

  • Provides a feature called Message-Expiry: When the state within a cluster sharded actor implements this interface the messages within the actor state gets expired automatically by the library at the specified interval.

  • AKKA-Initializer Library Explained

    Clone?akka initializer library?in local machine from?here, import it to IDE as a maven project, perform a?git clean install?and run the unit test cases. The following section explains core AKKA features supported by the?AKKA initializer library. This section explains AKKA basics, also explains details of how initializer library.

    AKKA actor basics:?AKKA actor?supports asynchronous message processing at its core. Each processing logic is represented as an actor and actor has a mailbox associated with it. Messages are send to the actor via mailbox and they are delivered in the order its received. These in-memory message boxes are created automatically by AKKA framework. Actors can be local actor, remote actor or in actor running inside an AKKA cluster. See Figure below.

    Multiple actor system nodes can be combined to form an?AKKA cluster?as shown in below Figure. This way actor system scales to multiple machines.

    ?

    The?Akka-initializer library?makes it easy to create?AKKAcluster shard?actors. This section provides a high-level overview of how AKKA cluster sharding works internally and how akka-initializer library eases out to implement cluster sharding. Each sharded[Aggregate] actor needs to be running only on one of the available nodes in the AKKA cluster. Refer to these 3 diagrams below as you read through this section

    ?

    A shard-region extracts the shard and entity id to dispatch the message to the right sharded-entity actor.

    • AKKA uses an internal?shard actor?to manage many sharded-entity actors. The shard actor helps to communicate with the cluster sharded-entity actors and takes care of failover and recovery of these actors.?Shard-id?and?entity-id?from the incoming message is used to determine which sharded actor this message should be sent.?
    • From the above diagram, the message with entity-id john always get routed to entity-actor called John. The shard-id from the message is first used to determine which akka node the message should be send and secondly the entity-id from the message is used to find which entity-actor within that akka node the message should be further routed. Shard-Region & Shard-Coordinator actors provided by AKKA framework helps to facilitate this process.
    • The entity-actors such as John is fronted with a shard actor and shard actor belongs to a Shard Region. Communication with Shard Region is performed via Shard Coordinator. Read?cluster sharding?documentation for complete details.
    • The sharded-entity actor gets created using?shard-id?and an?entity-id?of the incoming message. The?Message?interface in the?akka-initializer library?defines a contract that enforces the messages send through the system has a mandatory?entity-id?field and an optional?shard-Id?
    • If?Shard-Id?is not present, akka-initializer library derives it from the?entity-id?of the message using a stable algorithm. This mechanism is present in?DefaultMessageExtractor?class. This class expects an externally defined property in?YAML?called?akka.initializer.number.of.shards.?Make sure this value is equivalent to the number of nodes in AKKA cluster times 10. For more details refer to java doc on?DefaultMessageExtractor.maxNumberOfShards.?Also, refer to the?Javadoc on?Message?interface and?DefaultMessage?class.
    • Instead of using the provide?DefaultMessageExtractor?in the framework.?Users can plug-in a shard extractor of their choice by providing a spring bean implementation (@Component annotated) class that implements the following AKKA interface?akka.cluster.sharding.ShardRegion.MessageExtractor. Make sure the annotated class is available in the class-path. Refer to Javadoc on class?ShardRegionInitializer?for details
    • Entity-id??is the Aggregate id and is used within the shard to determine the actual Aggregate to which the message needs to be end.
    • The shards should be configured under a shard region and shard regions should be started on application start-up. During the start-up, the sharded actors can be optionally supplied with initialization parameters through a YAML file.?Akka-initializer library?makes these steps easier. To see a sample of how to specify a shard region and initialization parameters for a sharded actor, refer to?src/test/resources/application.yaml?and also refer classes?ShardRegionInitializer,?ClusterShardsConfig,?AkkaManager?and?IncarnationMessage
    • On failure of a node, AKKA restarts the shard region and automatically migrates the sharded-entity actors within that shard region to one of the available nodes.
    • AKKA clustering can suffer from split brain issues. Refer to Additional notes section for resources to deal with this scenario.

    Akka-initializer?makes it easy to create?AKKA persistence?actors. This section provides a high-level overview of how AKKA persistence works and how framework makes it easy to use AKKA persistence. The framework also comes with few other features such as aggregate time-to-live and aggregate state’s message expiry. This section explains provides details on such features. Refer to these diagrams below as you read through this section.

    • AKKA persistence module makes it easy to implement?event/command sourcing. So, when a node fails the state of the actor gets automatically recreated on one of the available nodes.
    • The?akka-initializer library?makes all the above setup easier. Refer to Javadoc on?akka.initializer.PersistenceActor?for details:?this is the base class?Aggregate need to extend.
    • Akka-initializer library?makes it easy to use in-memory persistence store to make unit testing easier. For production scenario, a durable distrusted persistence storage such as Cassandra should be used.
    • As the time progress, the cluster sharded persistence actor might itself needs to be terminated. The?akka-initializer library?comes with such features and can be achieved by implementing an interface called?TimeToLive. For a detailed example on how to use this feature refer to?Note2?at the end under?Additional Notes section.
    • As the time progresses, the older messages/data in the cluster sharded persistence actor instance state should be expired. From the user's point of view, they need to implement two interfaces. The cluster sharded persistence actor should implement?MessageExpiry?interface and the class that holds the state for the actor should implement?MessageExpiryListener?interface. The details of how framework uses these interfaces and inner working are explained below.?
      • MessageExpiry:?This interface returns two objects:?Message-expiry-time?and?MessageExpiryListener.?Message-expiry-time?(usually configured in a?YAMLfile as part of cluster sharded actor start-up parameter, for e.g. refer?src/test/resources/application.yaml) is the time frequency at which framework calls?methods?on?the?MessageExpiryListener?to expire the older messages.
      • MessageExpiryListener?interface has further two methods?expirySequenceNumber(timeWindow)?and this should return the highest sequence number in the state objects for the provided time window, all the messages beyond this highest sequence number will be automatically expired by the? akka-initializer library as explained here: Once akka-initializer library gets the highest sequence number, it will transparently delete the message from the persistence store (such as Cassandra) up to this sequence number asynchronously and once that is?done it then calls?cleanUp(…)?? method on?MessageExpiryListener?and pass the sequence number. At this point, it is the responsibility of the MessageExpiryListener implementing class to clean-up the message from its in-memory state.?MessageExpiryListener?provides a list of JDK 1.8 style?default?interface methods that help to clean-up data from a List, Set or Map type data-store.?For a detailed example how this can be done refer to?Note1?at the end under?Additional Notes?section. Also, refer to classes in the test package??MessageExpiryDetector?and?MessageExpiryState.

    During unit testing, there are needs to assert the messages in a predictable way. The akka-initializer library provides?ResponseHandlerActor?class that makes the unit and integration testing easier. Akka-initializer library also comes with an in-memory persistence storage to make the unit testing easier.

    As stated, the later part of the article showcase how to implement a banking domain CEP use case by using the akka-initializer library.?AnomalyPublisher?interface and the associated classes inside these classes make the implementation of CEP use case easier.?ObservableAnomalyPublisher?is another class that makes writing CEP test cases easier. For an example on how to use this class visit?SampleAnomalyCancelTest?under src/test

    Spring support: The library integrates well with spring framework 4.X+ so that logic can be implemented using spring framework. Refer to?SpringActorProducer?&?SpringExtension

    Banking Domain Complex Event Processing (CEP) Use Case

    Let us take a look at the below sample CEP use case from a banking domain, the complete code is?here. The use-case monitors the credit card & banking transactions for each customer. The anomaly detector checks for the following anomaly condition: For a customer, when there is Security risk event (represented using GenericEvent) followed by 2 credit-card transaction events of “Credit” type followed by 3 banking “Withdraw” transaction event type in the last 10 seconds, then a fraud anomaly should be generated.

    We want to make use of the features from the akka-initializer library and implement a highly scalable, resilient CEP solution for this use-case that can scale to millions of users and runs on several JVM (AKKA cluster nodes). This section showcases how all the heavy lifting is taken care by the akka-initializer library and developer can focus on to business functionality. Below is a high-level design.

    • The first step is to apply domain driven design principles and identify the Aggregate root. These Aggregate roots will be represented as a cluster-sharded persistence actor using the akka-initializer library. Let us choose the Customer Account actor as the aggregate root and account name acts as the actor id. (In real life use case customer account number or a GUID are better keys for an aggregate.?https://vaughnvernon.co/?p=838?)
    • Identify the expected stream of events for the alert: The events in our case are (a) Banking transaction events, (b) Credit card transaction events and (c) Security (Generic) events. The stream of events would be JSON messages.
    • The next step is to configure set of business rules that should be applied against the stream of events. These rules will be configured inside the above Aggregate root actor.?Esper?is an excellent open source framework that works well to implement CEP use cases. More on Esper later
    • Attach a listener within the Aggregate actor that gets fired when rule conditions are met.
    • For this sample scenario the listener prints out the alerts on the console.
    • Once all this is setup, then data can be streamed into the engine and watch for anomalies. We will showcase a spring based REST end-point to fire of events. Kafka would be a great choice to stream real-time events.
    • For resiliency needs, the data streamed into the Aggregate needs to be command or event sources into a highly durable distributed storage.?Cassandra?(more on this later) is an excellent distributed storage for this purpose. Akka-initializer library comes with an in-memory persistence storage and that is only good for unit testing.
    • For every unique customer, the framework would create a new instance of the Aggregate root to represent that customer and all the events related to that customer are streamed to that instance.

    Esper Explained

    Esper is an open source engine and can be directly embedded in JVM or can be used within the .NET runtime. Esper can be used to perform complex decision making on a single stream or multiple streams of data. Esper is a lightweight Java-based engine; it can be configured from java or Junit test code directly. Esper comes with a sophisticated EPL (Esper processing language) that can be used to configure the rules. It supports: sophisticated?time/batch/length/accumulating/tumbling/sliding windowing?functionalities over the stream of data, allows merging desperate streams, allows merging with an external data source, sub-queries, joins, splitting of streams, auditing, allows you to detect the absence of events and many more rich functionalities. Refer to Esper’s?excellent documentation?for details.

    DataStax Cassandra Installation

    • Download and install?DataStax Cassandra.
      • The version used or?windows?is 64-bit community version?v3.0.9
      • The version used for?Mac?is?3.9.0
    • Start DataStax Cassandra service. The default port is 9042.
      • On?Mac?go to the data-stax download folder and run the following command ~ /datastax-ddc-3.9.0$?./bin/Cassandra
      • On?windows, it can be installed as a service and stopped and restart the service as needed. When installing make sure you don’t alter the installation path, if you do so there are possibilities that if you stop Cassandra service and restart it might not come up correctly. The reason being sometimes the log files Cassandra writes gets written under the standard path and it looks for such log during restart and if not present it does not start. One way to check if Cassandra is coming up ok and the reason for failure is by running, for Windows: C:\Program Files\DataStax Community\apache-cassandra\bin\cassandra.bat on command prompt and look for any errors.
    • Access CQL prompt to make sure can connect to the Cassandra server.
      • On Mac go to the data-stax download folder and run the following command ~ /datastax-ddc-3.9.0$?./bin/cqlsh
      • On windows run the bin\cqlsh.bat ?from a command prompt.

    Banking CEP Use Case Implementation Using Akka-initializer

    This project provides an anomaly/problem detector implementation example that makes use of the core library. The example is built for a fictitious banking domain use case explained earlier. The project makes use of Esper library for anomaly detection logic. The project is called?cep-banking-use-case?and it can be found to clone at?https://github.com/ajmalbabu/distributed-computing/tree/master/cep-banking-master

    Interface Definition

    All the below interface is available as a Postman collection under the above GitHub root, The examples can be imported as postman verion1 or 2 and the examples are tried out using version2.

    Customer credit card transaction event submitted via Http post as shown below is the first type of event. Customer first name is chosen as the identifier for the message (In practice customer id could be a better key).?CustomerTransactionEvent.java?is the corresponding POJO for this JSON

    URL:?
    http://127.0.0.1:8082/cep-api/v1/customerTransactionEvent

    HTTP POST JSON Payload:

    { "customerName": "Peter", "transactionType": "CreditCard", "transactionSubType": "Credit", "transactionTime": "2017-01-01T00:00:00-06:00", "transactionAmount": 50.50, "transactionCurrency": "$" }

    ?

    The customer bank withdraw transaction event submitted via Http post as shown below is the second type of event. Customer first name is the identifier for the message.?CustomerTransactionEvent.java?is the corresponding POJO for this JSON

    URL:

    http://127.0.0.1:8082/cep-api/v1/customerTransactionEvent

    HTTP POST JSON Payload:

    { "customerName": "Peter", "transactionType": "Bank", "transactionSubType": "Withdraw", "transactionTime": "2017-01-01T00:00:00-06:00", "transactionAmount": 100, "transactionCurrency": "$" }

    ?

    Another event of interest is Global security event as shown below posted to the URL, note that the URL has a url-parameter that specifies to which aggregate (Peter) this event is targeted.?GenericEvent.java?is the corresponding POJO for this JSON.?Note:?Consider to use AKKA distributed data?http://doc.akka.io/docs/akka/2.4.17/scala/distributed-data.html?if you want to target global events to all aggregates.

    URL:

    http://127.0.0.1:8082/cep-api/v1/genericEvent?

    HTTP POST JSON Payload:

    { "eventType": "Global", "eventSubType": "Security", "eventTime": "2017-01-01T00:00:00-06:00" }

    ?

    When these events occur in the following fashion a global security event followed by 2 credit-card transaction events of credit subtype followed by three banking withdrawal transaction event sub type in the last 10 seconds. The system should generate an anomaly.

    System Detailed Design

    The rest end-points that accepts the incoming events are:?BankTransactionRestApi.java

    The anomaly detector (Aggregate) that detects anomaly for bank and credit card transaction is named?BankAndCreditCardAnomalyDetector.java

    • This is a cluster-sharded-persistence actor, a unique instance of an actor gets created for each unique customer (customer name is the id in this example and we are using Peter as the customer in this example throughout).
    • The Aggregate actor accepts all the incoming events for a specific customer. Note: If a new customer (e.g. a new event for customer name Jon) event occurs then a new actor in one of the available nodes in the cluster gets created to manage that customer’s event.
    • Command sourcing is good enough in this scenario to store the incoming events for a failover scenario.?Note: This example does not need any enriched data from the incoming events or collected from other external sources. So the incoming command does not get enriched and converted to an event, hence event sourcing is not needed. In some other cases, event sourcing may be needed.
    • BankAndCreditCardAnomalyDetector.java?should be configured with Esper engine and register the type of events that this actor expects. This is done inside the?BankAndCreditCardExpectedEventDefinition.java?class. There are three events that this actor configured (a) credit card transaction event, (b) bank withdraw transaction, and (c) Global security event. These events are sent directly to the instance of this actor from the REST endpoint. The actor stores all these events in its local internal state in a class called?BankAndCreditCardTransactionState.java.?Note:?Instead of sending global events to each instance of the customer actor (such as “Peter”, “Jon” etc.) a better approach is to make such global events available to all actors via AKKA distributed data?http://doc.akka.io/docs/akka/2.4.17/scala/distributed-data.html
    • BankAndCreditCardRuleAuthor.java?is the class where the esper specific rules are defined, this class applied the rule across the incoming events and trigger anomaly when conditions are met
    • BankAndCreditCardRuleListener.java?gets notified when a rule condition is met and this class can notify other external systems etc.
    • BankAndCreditCardAnomalyDetector?actor command sources the messages appear into it, store them in its internal state object and passes over the events to Esper engine to check for anomalies.
    • BankAndCreditCardAnomalyDetector?should be configured under a shard region. It is done in the?cep-banking-configuration/application.yaml?file under element?akka.initializer.cluster.shards.config.clusterShardList
    • The above shard automatically gets started by the system (refer to akka-initializer library behavior) and the REST endpoint accesses the?BankAndCreditCardAnomalyDetector?via the shard region.
    • The?shard-Id?of the message should be carefully created (Refer for section?3.1?earlier for details)
    • Let us say an Esper rule got fired and listener notifies the external system of the events. At this point say if the node on which rule gets fired fails, then the system automatically restarts the actor on another node and replays all the events. This failover can trigger a duplicate rule condition match scenario and can lead to the firing of a?duplicate anomaly. To avoid any such duplicate, each time an anomaly is generated add the anomaly to the internal state?BankAndCreditCardTransactionState?as well. And check for the presence of the anomaly on a replay of events to avoid sending of duplicate anomalies. This feature is not implemented in the example.

    Local Development Testing

    • Start the Cassandra data-stax service on default port 9042.
    • Export akka-initializer-master and perform a?mvn clean install to install the akka-initializer library into maven local repository.
    • Export the maven project from cep-banking-master
    • Start the spring boot Application.java by providing the following JVM arguments (adjust according to the local)
      • On?Windows:?-Xbootclasspath/p:C:\workspace\distributed-computing\cep-banking-master\cep-banking-configuration?-Dspring.profiles.active=local??
      • On?Mac:?-Xbootclasspath/p:/software/workspace/distributed-computing/cep-banking-master/cep-banking-configuration?? -Dspring.profiles.active=local
    • The sample file?Cep-bank-messages.postman_collection-v2.json?has the sample messages, import this collection into postman.
    • Open postman and within 10 seconds POST a Generic event first and then send 2 Credit event followed by 3 Bank withdraw events the log should show anomaly is being generated. The HTTP POST URL and JSON content is listed in the early part of the documentation.
    • Refer to The?cep-banking-master/README.md?file for tips on how to clean-up the event sourced data from Cassandra key-space in between running.

    Unit Testing

    • The default spring boot behavior is to look for a Cassandra instance up and running since it sees the Cassandra driver in the class-path and tries to eagerly bring up Cassandra session class. This is not good for unit testing, so for unit testing classes in this package?com.cep.bank.service.common?helps to bring up a fake Cassandra session when Cassandra is not running. To make this fake session active a spring profile called isolate should be active and it is set to active in the test/application.yaml. Basically, all this will make the unit testing working without having a Cassandra instance running transparently for the user.
    • The framework comes with features and classes to make a unit test of the end-to-end CEP detection logic easier.
    • Unit test code can fire of a spring container and can create Aggregate cluster shard persistence actors. These actors live in the unit test JVM instance.? The event sourced messages are stored in the JVM memory.
    • Refer to?BankAnomalyServiceTest?that show-case the previous anomaly detection scenario completely tested within junit test code and asserts the response.
    • There is a class in the akka-initializer library called?ResponseMessage?that help to tap the response message send back by the Aggregates.
    • There is a class in the akka-initializer library called?ObservableAnomalyPublisher??that can be injected into the Aggregate so that any anomaly published by the Aggregate goes into the above?ObservableAnomalyPublisher. And the anomalies can be captured and asserted in the test case.

    Final Thoughts

    The provided akka-initializer library eases out the implementation of large scale highly scalable solutions. The akka-initializer library can be used to build microservices, and other complex distributed systems. The later part of article showcases how to use the akka-initializer library to implement a high scale CEP use-case.

    Additional Notes

    Note 1:?There is a message expiry feature to expire the message within Aggregates, refer to akka-initializer library class?MessageExpiryTest?for a detailed example on how to implement this feature.

    Note 2:?There is ab TimeToLive interface that helps to remove an Aggregate automatically when it reaches a specified time. Refer to akka-initializer library class?ActorTimeToLiveTest?&?ActorRecoveryTest?for?a detailed example on how to implement this feature

    Note 3:?Esper has a concept called Context Partition that can be used to partition the data and it works well to partition the data within a single JVM.

    Note 4:?Use split brain resolver when using AKKA clustering to avoid split brains and to have a predictable cluster partitioning behavior. Few useful links

    • http://doc.akka.io/docs/akka/rp-15v09p01/scala/split-brain-resolver.html

    Note 5:?Consider Zipkin and Spring sleuth for distributed tracing.

    Note 6:?Currently objects are made serializable using java Serializable; change it to use proto-buf

    Note 7:?The above core akka-initializer library can be used for other micro service development needs. CEP is one of the implementations that fits nicely into the framework.

    Note 8:?BankAndCreditCardRuleAuthor?class creates EPL statement and each entity actor creates such statement. There are opportunities to optimize the creation of statement so that there is only single statement per JVM, follow Esper documentation for best practices on this.

    Note 9:?To run the banking example as an AKKA cluster: For each cluster node, update the hostname and port number in the cep-banking-configration/cep.akka.conf file cluster accordingly.

    Note 10:?The complete source code used for the the article can be found?here

    轉載于:https://www.cnblogs.com/davidwang456/p/7357158.html

    總結

    以上是生活随笔為你收集整理的Scalable, Distributed Systems Using Akka, Spring Boot, DDD, and Java--转的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    www麻豆视频 | 深爱激情五月综合 | 伊人婷婷激情 | 国产精品免费人成网站 | 少妇超碰在线 | 久久国产精品二国产精品中国洋人 | 麻花天美星空视频 | 日日爽夜夜操 | 国产黄色片免费观看 | 久草视频在线播放 | 亚洲国产精品小视频 | 91在线在线观看 | 久久视频一区 | 中文字幕亚洲在线观看 | 天天鲁天天干天天射 | 免费看国产视频 | 国产 日韩 欧美 中文 在线播放 | 免费成人黄色 | 女人高潮一级片 | 久久精品国产一区二区 | 97超碰总站 | 亚洲午夜精品一区二区三区电影院 | 国产精品资源 | 99久久精品国产亚洲 | 99草视频| 欧美激情亚洲综合 | 中文av网站| 日韩高清免费无专码区 | 日韩在线网 | 欧美精品久久久久久久久久久 | 精品欧美一区二区精品久久 | 日韩在线 | 四虎国产视频 | 中文字幕在线看视频国产中文版 | 91丨九色丨国产丨porny精品 | 欧美日韩免费一区 | 免费看av片网站 | 亚洲影视资源 | 99精品视频在线观看免费 | 黄色网免费| 97超碰在线视| 欧美激情第一区 | 国产福利av在线 | 午夜精品久久久久久久99婷婷 | 国产精品久久9 | 最新av网址大全 | 国产精品美女久久久久久2018 | 激情视频免费在线观看 | 日韩欧美电影在线 | 免费视频黄| 天天舔天天射天天操 | 国产精品女同一区二区三区久久夜 | 国产婷婷一区二区 | 久久久久久久久久久久久9999 | 日日爱视频 | 日本99热 | 日韩一区二区免费视频 | 精品久久久久久久久久久院品网 | 狠狠色丁香久久婷婷综 | 日日摸日日 | 久久久九色精品国产一区二区三区 | 欧美日韩另类在线 | 少妇高潮冒白浆 | 日韩av看片| 波多野结衣在线视频免费观看 | 成人av资源 | 国产成人精品免费在线观看 | 亚洲精区二区三区四区麻豆 | 1区2区3区在线观看 三级动图 | 97色狠狠 | 国产精品爽爽久久久久久蜜臀 | 91精品第一页 | 日日爽夜夜操 | 99精品视频精品精品视频 | 一区二区三区在线观看免费 | 成人免费网站在线观看 | 男女拍拍免费视频 | 黄色在线网站噜噜噜 | 91超碰在线播放 | 亚洲综合日韩在线 | 婷婷视频在线 | 成年人电影免费在线观看 | 中文字幕二区三区 | 久久久免费视频播放 | 欧美淫视频 | 日韩精品久久久免费观看夜色 | 色综合久久久 | 国产精品1000 | 天天拍天天操 | 人人爽人人爽人人爽人人爽 | 超碰在线人人爱 | 欧美一区二区三区四区夜夜大片 | 日韩欧美有码在线 | 亚洲精品 在线视频 | 国产精品手机在线观看 | 亚洲精品小视频在线观看 | 亚洲精品欧美专区 | 久久99亚洲网美利坚合众国 | 婷婷色网址 | 国产一区二区久久久 | av一区在线 | 中文在线免费视频 | 久久久久久久久久久国产精品 | 久久不射影院 | 午夜影视剧场 | 国产在线精品观看 | 99久热在线精品视频成人一区 | 99精品国自产在线 | 激情网综合| 国产精品初高中精品久久 | 成人av免费看 | 国精产品999国精产品视频 | 丝袜美腿在线播放 | 成人av电影免费 | 福利一区二区在线 | 久久久久久久亚洲精品 | 国产精品成人在线 | 奇米四色影狠狠爱7777 | 久草在线免费在线观看 | 亚洲经典中文字幕 | 色婷婷免费 | 国产成人在线免费观看 | 91九色性视频 | 国产精品99久久久 | 国产亚洲高清视频 | 最近2019好看的中文字幕免费 | 日韩二区三区 | 午夜精品久久久久久久久久久久久久 | 美女黄视频免费看 | 久久激情视频免费观看 | 久久国产精品色av免费看 | 久久精品视频在线看 | av片中文字幕 | 在线免费黄色av | 国产欧美最新羞羞视频在线观看 | 在线免费成人 | 97av超碰| 国产日韩在线一区 | 精品久久久一区二区 | 久久久男人的天堂 | 国外av在线| 国产精品久久久久三级 | 日韩欧美视频免费在线观看 | 国产精品美女久久久久久久久 | 黄色综合 | 日韩在线电影 | 狠狠操狠狠插 | 久久精品欧美一 | 综合天天久久 | 特级黄色一级 | 天天操天天色天天射 | 国产视频资源 | 精品影院 | 三级av免费| 亚洲在线视频免费 | 亚洲国产一区av | 日韩欧美一区二区三区视频 | 天天搞天天 | 亚州精品在线视频 | 中文字幕电影在线 | 国产高清不卡一区二区三区 | 久久免费毛片 | 国产又黄又硬又爽 | 97超级碰碰碰碰久久久久 | 99热免费在线 | 国产免费久久av | 波多野结衣电影久久 | 日本免费一二三区 | 精产嫩模国品一二三区 | 国产亚洲欧洲 | 国产免费大片 | 久久久久久久久久电影 | 久久艹艹 | 丁香婷婷成人 | 国产精品亚洲片夜色在线 | 亚洲 成人 一区 | a爱爱视频 | 亚洲国产精品999 | 日韩精品久久久久久久电影竹菊 | 99精品视频在线观看免费 | 96av麻豆蜜桃一区二区 | 日日综合 | 国内精品久久久久久 | 欧美韩国日本在线 | 伊人亚洲综合 | 成人精品福利 | 99久久99久久精品国产片果冰 | 在线免费黄色 | 天天干天天操天天 | 在线不卡视频 | aaawww| 中文理论片 | 在线观看视频一区二区 | 日本免费久久高清视频 | 日韩大片在线 | 久久影视网| 成人丝袜 | 激情综合久久 | 色偷偷av男人天堂 | 91麻豆精品 | 九九热国产| 美女久久网站 | 天天操,夜夜操 | 国产99久久久国产 | 国产又粗又猛又黄视频 | 亚洲国产黄色 | 人人视频网站 | 久久精品视频网站 | 免费看的黄色小视频 | 激情欧美丁香 | 欧美国产在线看 | 国产精品国产三级国产aⅴ无密码 | 中文字幕在线视频网站 | 久久人人爽人人人人片 | 日本中文字幕在线 | 亚洲美女视频网 | 久久国产精品精品国产色婷婷 | 在线视频 区 | 国产成人在线精品 | 国产综合在线视频 | 久草www | 狠狠色丁香婷综合久久 | 日本精品免费看 | 在线成人一区 | 97在线观看免费视频 | 久久久影片| 精品视频免费看 | 国内精品视频一区二区三区八戒 | 久久久久欠精品国产毛片国产毛生 | 日日干av | 久久精品成人热国产成 | 免费精品在线视频 | 国内精品视频一区二区三区八戒 | 久久精品视频18 | 国内外成人免费在线视频 | 最近最新最好看中文视频 | 日本最新高清不卡中文字幕 | 在线观看中文字幕第一页 | 808电影免费观看三年 | 亚洲高清91| 美女网站在线播放 | 免费麻豆视频 | 国产精品欧美久久久久天天影视 | 91在线精品视频 | 国产黄在线| 色国产视频 | 日韩av男人的天堂 | 欧美精品在线观看一区 | 美国三级黄色大片 | 最新国产精品视频 | 久久人人看 | av免费观看网站 | 国产精品久久久久9999 | 美州a亚洲一视本频v色道 | 中文字幕av免费在线观看 | 精品亚洲免费 | 园产精品久久久久久久7电影 | freejavvideo日本免费 | 国产破处精品 | 在线播放 亚洲 | 在线看成人 | 国产又黄又猛又粗 | 日韩91在线 | 中文字幕一区av | 中文字幕在线观 | 中文字幕永久免费 | 日韩一区二区三区视频在线 | 黄色网大全 | 亚洲国产精品视频在线观看 | 精品视频中文字幕 | 午夜影院一级片 | 天天射天天搞 | 久久免费在线观看视频 | 久久精品牌麻豆国产大山 | 中文字幕在线看视频 | 视频在线观看91 | 久久久国产精品亚洲一区 | 激情综合六月 | 欧美日韩一区二区久久 | 黄色三级免费片 | 久久九九影院 | 久草视频在线资源站 | 日韩av中文在线观看 | 天天射天天爽 | 久操视频在线播放 | 免费黄色在线网址 | 成人片在线播放 | 97品白浆高清久久久久久 | 久久久久亚洲精品男人的天堂 | 成人在线电影观看 | 国产免费精彩视频 | 特级黄色一级 | 狠日日 | 美女网站色在线观看 | 亚洲综合最新在线 | 国产一级片免费视频 | 天海冀一区二区三区 | 免费观看的黄色片 | 国产视 | 91精品啪在线观看国产81旧版 | 久久躁日日躁aaaaxxxx | 黄色片软件网站 | 成人资源站 | 二区中文字幕 | 精品久久一 | 免费日韩 精品中文字幕视频在线 | 国色天香在线 | 在线观看国产亚洲 | 国产在线更新 | 久久久国产毛片 | 国产精品欧美 | 能在线看的av | h网站免费在线观看 | 香蕉精品在线观看 | 国内精品视频免费 | 色综合天天天天做夜夜夜夜做 | 国产中文 | 免费观看午夜视频 | 欧美久久成人 | 亚洲免费精彩视频 | 国偷自产中文字幕亚洲手机在线 | 18国产精品白浆在线观看免费 | 激情久久综合网 | 国产高清成人av | 久久久亚洲电影 | 天天操偷偷干 | 免费看黄在线 | 国产精品毛片久久久久久久久久99999999 | 日韩一级电影在线 | 国产第一页在线观看 | 成人精品国产免费网站 | 一二三区视频在线 | 久久男人免费视频 | 久久精品一区二区三区中文字幕 | 国产免费亚洲 | 综合激情婷婷 | 国产精品入口a级 | 又色又爽又黄高潮的免费视频 | 久久99精品热在线观看 | 天天干天天操天天拍 | 亚洲久草在线 | 天天久久综合 | 黄色片亚洲 | av一级在线观看 | 天天爱天天操天天射 | 色姑娘综合天天 | 中文字幕免费一区二区 | 国产午夜亚洲精品 | 三级黄色免费 | 一区二区日韩av | 精品亚洲国产视频 | 伊人影院在线观看 | 欧美色伊人 | 99视频精品 | 欧美日韩国内在线 | 久久图 | 亚洲一级电影在线观看 | 欧美成人一区二区 | 美女视频黄频大全免费 | 亚洲天堂在线观看完整版 | 亚洲精品高清一区二区三区四区 | 日韩免费精品 | 欧美精品久久久久久久亚洲调教 | 国产视频精选在线 | 国产理伦在线 | 毛片区 | 中文一区在线 | 九月婷婷色 | 国产男男gay做爰 | 国产视频首页 | 人人澡人人草 | www.久久久精品 | 国产精品久久久久久a | 日日夜夜天天操 | 国产精品久久久久久久久久久久午夜 | 婷婷亚洲五月色综合 | 99久热在线精品视频成人一区 | 免费在线观看国产黄 | 99热这里有精品 | 天天爱天天舔 | av在线免费观看黄 | 日本一区二区高清不卡 | 国产黄色精品视频 | 欧美日韩国产欧美 | 五月婷婷影院 | 国产主播大尺度精品福利免费 | 亚州国产精品久久久 | www.亚洲黄色| 黄色三几片 | 国产精品电影一区二区 | 亚洲国产日韩精品 | 热99在线视频| 成人a v视频 | 中文字幕在线播放第一页 | 日韩视频一区二区在线 | 久久99深爱久久99精品 | 亚洲精品婷婷 | 美国av片在线观看 | 在线免费国产 | 色噜噜在线观看 | 99精品免费在线 | 国产高清精 | 成人精品一区二区三区中文字幕 | 婷婷在线视频 | 成人综合婷婷国产精品久久免费 | 视频二区在线 | 高清av中文在线字幕观看1 | av一级网站 | 碰超人人 | 久久精品99久久久久久 | 麻豆免费看片 | 成人免费在线观看电影 | 免费99精品国产自在在线 | 亚洲精品www | 蜜臀久久99静品久久久久久 | 丁香婷婷激情国产高清秒播 | 日韩在线播放欧美字幕 | 麻豆一精品传二传媒短视频 | 欧美成人视 | 国产精品手机在线 | 欧美一区二区三区在线观看 | 亚洲春色成人 | 九色免费视频 | 日韩久久一区 | 欧美日韩精品免费观看 | 97视频入口免费观看 | 国产精品av免费在线观看 | 色网av| 国产精品入口久久 | 久久手机在线视频 | 欧美日韩三区二区 | 91免费的视频在线播放 | 97国产大学生情侣白嫩酒店 | 亚洲另类视频在线 | 免费看高清毛片 | www狠狠 | 久久精品视频在线免费观看 | 久久国产精品99久久久久久进口 | 午夜精品视频在线 | 日黄网站 | 最近中文字幕免费大全 | 日日干美女 | 91精选在线观看 | 亚洲精选视频在线 | 成人日批视频 | 色婷婷综合久久久 | 一区二区三区日韩在线观看 | 日韩激情久久 | 久久黄色小说视频 | 亚洲国产精品电影 | 深爱开心激情 | 国产97在线看 | 美国三级黄色大片 | 久久久久久高潮国产精品视 | avlulu久久精品 | 国产精品久久久久久久久岛 | 免费亚洲视频 | 成人黄色免费观看 | 欧美日韩视频观看 | 日韩精品一区在线播放 | 色婷婷综合久久久 | 91av在线免费 | 区一区二区三区中文字幕 | 91大神dom调教在线观看 | 丁香六月天婷婷 | 亚洲精品成人av在线 | 国产黄色av影视 | 99视频在线免费播放 | 国产精品免费视频久久久 | 黄色福利| 一区二区三区三区在线 | 国产日韩在线播放 | 欧美另类xxx | 99久久999久久久精玫瑰 | 91av在线免费播放 | 色狠狠狠| 国产99一区视频免费 | 久久理论电影网 | 久久色亚洲 | 黄色大全免费观看 | 日韩高清成人 | 国产97在线视频 | 国产成人精品一二三区 | 91爱爱视频| 日本丰满少妇免费一区 | 日韩在线观看视频免费 | 精品久久久久国产 | 国产你懂的在线 | 色综合久久久久久中文网 | 人人草在线视频 | 日韩电影精品一区 | 91丨九色丨国产丨porny精品 | 超碰在线色 | 精品免费久久久久久 | 91自拍视频在线观看 | 九九日九九操 | 久久免费视频8 | 亚洲一区二区视频 | 97精品国产一二三产区 | 国产精品久久久久高潮 | 国产美女免费视频 | 超碰在线公开 | 日韩av一区二区在线影视 | 97成人资源 | 超碰在线免费福利 | 在线精品在线 | 日韩精品一区二区三区高清免费 | 精品久久久久久久久久久久久久久久久久 | 日韩91在线| 色多多污污 | 亚洲一区日韩在线 | 免费人成在线观看网站 | 国产韩国精品一区二区三区 | 中文字幕中文字幕 | 成人精品99 | av中文字幕在线免费观看 | 麻豆视频免费在线观看 | 美女免费视频一区 | 亚洲国产字幕 | 久久免费视频网站 | 狠狠色狠狠色 | 永久免费毛片 | 日韩有码网站 | 天天射网 | 91九色成人蝌蚪首页 | 国产1区2 | 亚洲一区二区三区毛片 | 特及黄色片 | 国产伦精品一区二区三区在线 | 日本电影黄色 | 久久免费公开视频 | 色婷婷国产精品一区在线观看 | 国产成人高清 | 国产自在线 | 99爱精品视频 | 日韩av中文在线观看 | 六月天综合网 | 免费在线观看国产精品 | 午夜视频免费 | 欧美一区二区三区在线看 | 久久久久久久久影视 | 久久久久色 | 国产精品国产亚洲精品看不卡15 | 日韩免费在线视频观看 | 成人av电影在线观看 | 激情综合网五月激情 | 超碰在线1| 久久99亚洲网美利坚合众国 | 中文字幕永久在线 | 久久成人一区二区 | 成人av片免费看 | 久久精品国产免费观看 | 久久综合九色综合欧美就去吻 | 五月婷婷网站 | 成人黄色小说网 | 正在播放国产一区 | 久久成人高清 | 美女黄色网在线播放 | 国产资源网站 | 日韩高清三区 | 日韩欧美国产成人 | www.com.黄 | 人人澡人人添人人爽一区二区 | 五月婷在线 | 久久亚洲精品电影 | 国产日韩精品在线 | 成人在线免费看 | 涩涩色亚洲一区 | 91香蕉视频色版 | 亚洲亚洲精品在线观看 | www.色爱| a午夜在线| 国产裸体bbb视频 | 丁香激情婷婷 | 亚洲精品国产欧美在线观看 | 亚洲精品免费播放 | 亚洲午夜精品久久久久久久久 | 午夜精品一区二区三区四区 | 久久综合久久综合久久 | 午夜丰满寂寞少妇精品 | 日本精品一区二区三区在线观看 | 91麻豆精品| 欧洲成人av | 国产在线超碰 | 西西大胆免费视频 | 91超级碰碰 | 蜜臀av性久久久久蜜臀av | 超碰在线日本 | 精品免费在线视频 | 亚洲精品在线播放视频 | 亚洲精品乱码久久久久久按摩 | 免费黄色在线网址 | 韩日三级av | 美女亚洲精品 | 色99视频| 国产日韩精品一区二区三区 | 天天干天天操天天爱 | 婷婷伊人网 | 欧美综合色在线图区 | 国产婷婷精品 | 亚洲一二区视频 | 五月婷婷开心中文字幕 | 久久资源在线 | 日本99热 | 久草剧场 | x99av成人免费 | 国产一级免费在线观看 | 97国产超碰 | 国内精品久久久久影院日本资源 | 色婷婷亚洲精品 | 天天干天天操天天做 | 国产精品欧美久久久久天天影视 | 精品久久久久久久久久久院品网 | 国产成人一区二区三区在线观看 | 韩国av免费在线 | 操久久网 | 欧美久久久久久久久中文字幕 | 有码中文字幕 | 日韩色综合 | 探花视频网站 | 国产精品视频久久久 | 最新av网址在线观看 | 欧美精品一区在线 | 亚洲综合射 | 久久精品久久精品久久 | 精品国产区| 国产在线国偷精品产拍 | 国内久久看 | 中文字幕在线一二 | 91爱爱视频 | 国产精品久久久久久久久软件 | 天天操天天干天天干 | 久久在线免费观看 | 肉色欧美久久久久久久免费看 | 精品国产99| 精品国产一区二区三区在线观看 | 午夜影院一级片 | 狠狠色2019综合网 | 怡红院av| 丝袜美女视频网站 | 久久精视频 | 国产一区免费观看 | 国产精品免费在线播放 | 91大神在线看 | 丁香六月在线观看 | 亚洲精品国产综合99久久夜夜嗨 | 99亚洲精品在线 | 毛片网站在线观看 | 国产啊v在线观看 | 欧美在线观看视频一区二区 | 欧美日本啪啪无遮挡网站 | 在线播放精品一区二区三区 | 色婷婷六月 | 国产精品大全 | 国产成人福利在线 | 超碰人人av | 成人久久 | 国产精品嫩草55av | 最新超碰在线 | 国产成人三级在线播放 | 在线观看日本高清mv视频 | 香蕉视频啪啪 | 久久精品欧美一 | www.香蕉视频 | 麻豆国产精品va在线观看不卡 | 伊人六月 | 中文字幕最新精品 | 天天射天天操天天色 | 男女激情网址 | 69国产盗摄一区二区三区五区 | 成人黄色小说在线观看 | 色午夜| 在线国产不卡 | 日韩免费二区 | 亚洲va欧美 | 久久tv视频 | 久久久久久久久久久电影 | 久草免费色站 | 五月天久久精品 | 伊人久久电影网 | 日韩欧美69 | 国产麻豆精品久久一二三 | 高清有码中文字幕 | 97久久精品午夜一区二区 | 亚洲日b视频 | 久久久精品一区二区 | 国内精品一区二区 | 91香蕉国产在线观看软件 | 国产在线播放不卡 | 欧美日韩视频在线播放 | 国际精品久久 | 在线影院av | 97日日碰人人模人人澡分享吧 | 美女网站色 | 欧美性生爱 | 国产精品久久久久久久久久久免费看 | 国产流白浆高潮在线观看 | 久久草av | 奇米网444 | 国产小视频在线看 | а中文在线天堂 | 一级精品视频在线观看宜春院 | 啪啪小视频网站 | 国产精品精品 | 日本护士三级少妇三级999 | 99精品热视频只有精品10 | 久久久精品电影 | 婷婷九月丁香 | 国产日本高清 | 国产色女| 伊人日日干 | 亚洲人成在线观看 | 日本久久99| 日韩av中文字幕在线 | 久久国产精彩视频 | 午夜电影中文字幕 | 亚洲综合色视频 | 91综合视频在线观看 | 亚洲精品2区 | 国产成人亚洲在线观看 | 射久久 | 精品在线视频一区 | 久久免费黄色大片 | 91精品无人成人www | 在线视频电影 | 日日夜夜狠狠干 | 视频福利在线观看 | 日韩精品一区不卡 | 亚洲小视频在线观看 | 久久久久成 | 久久精品精品电影网 | av中文字幕av | 婷婷在线精品视频 | 色99之美女主播在线视频 | 国产日产精品一区二区三区四区 | 亚洲精品视频免费看 | 一区二区三区免费在线观看 | 欧美日韩视频免费 | 国产精品白虎 | 中文字幕在线免费看线人 | 欧美在线视频日韩 | 91精品国自产在线 | www.av中文字幕.com | 国产精品久久久久久久久久白浆 | 视频在线一区二区三区 | 一区在线观看 | 日韩免费在线网站 | 日韩一区在线播放 | 久久视频网址 | 91超在线 | 97天堂网| 九九导航 | 婷婷av色综合 | 亚洲激情 欧美激情 | 五月婷婷丁香激情 | 久久久久久久久久久久亚洲 | 日韩超碰 | 亚洲日本va午夜在线影院 | 国产激情免费 | 欧美成人精品欧美一级乱 | 精品国产成人在线影院 | av软件在线观看 | 手机看片 | 91看片淫黄大片一级在线观看 | 播五月综合 | 欧美视频www | 免费日韩一区二区 | 色美女在线| 97综合在线| 在线观看小视频 | 99九九免费视频 | 亚洲国产中文字幕在线观看 | 99re久久资源最新地址 | 免费黄色av. | 欧美91成人网 | 精品99在线 | 久久最新 | 国产成人精品一区二区在线 | 九9热这里真品2 | 日产乱码一二三区别免费 | 成人av高清在线观看 | 超级碰99 | v片在线看| 中文字幕av播放 | 欧美日韩高清不卡 | 中文字幕.av.在线 | 成人中文字幕在线观看 | 日韩视频一区二区三区在线播放免费观看 | 欧美日韩亚洲在线观看 | 久久99精品久久久久久秒播蜜臀 | 国产精品免费观看在线 | 99r在线精品 | 免费日韩电影 | 五月婷婷在线观看视频 | 国产精品正在播放 | 五月黄色 | 999视频网站 | 国产97av| 一级精品视频在线观看宜春院 | 国产在线观看a | 欧美日韩国产欧美 | 国产一区免费在线观看 | 欧美亚洲成人免费 | 开心激情五月网 | 主播av在线 | 97成人精品区在线播放 | 992tv人人网tv亚洲精品 | 国产精品久久久 | 伊人五月综合 | 偷拍福利视频一区二区三区 | 一级c片 | 日韩字幕 | 欧美日韩中文在线观看 | 久久精品三| 欧美精品一区二区三区四区在线 | 国产视频久久久久 | 欧美日韩在线免费视频 | 99色免费视频 | 国产高清无线码2021 | 激情久久久久久久久久久久久久久久 | 久草在线免费播放 | 国产生活一级片 | 日韩在线三级 | 九草视频在线 | 日本中文在线 | 成人av影视观看 | 国产精品美女视频 | 国产亚洲一区二区在线观看 | 国产又粗又长的视频 | 国产精品欧美久久久久无广告 | 久产久精国产品 | 一二三区高清 | 91人人爽久久涩噜噜噜 | 国产亚洲精品美女 | 日韩有码欧美 | 亚洲日本欧美 | 97视频中文字幕 | 人人草在线视频 | 亚洲aⅴ在线观看 | 九九精品视频在线观看 | 国产伦精品一区二区三区四区视频 | 黄色av电影免费观看 | 久久久久高清 | 日韩欧美黄色网址 | 在线有码中文 | 久久免费国产精品1 | 欧美最新大片在线看 | 日本在线成人 | 免费看麻豆 | 91麻豆精品国产自产 | 日韩免费视频一区二区 | 天天天天色综合 | 亚洲日韩精品欧美一区二区 | 国产专区精品 | 综合色站导航 | 伊人婷婷久久 | 日韩激情视频 | 麻豆传媒一区二区 | 国产特级毛片aaaaaaa高清 | 久草视频精品 | 久久视频这里有精品 | 91免费网站在线观看 | 伊人狠狠 | 在线观看v片 | 97视频在线免费播放 | 久久久国产精品亚洲一区 | 欧美另类性 | 日韩色视频在线观看 | 五月天婷婷狠狠 | 精品久久一 | 亚洲小视频在线观看 | 91在线91 | 丁香婷婷射 | 成人在线小视频 | 国产成a人亚洲精v品在线观看 | 深爱五月激情五月 | 国产免费作爱视频 | 天天干天天操天天搞 | 欧美人交a欧美精品 | 成人一区二区在线观看 | 日韩一区二区三区在线看 | 精品免费视频. | 91精品91| 美女视频国产 | 欧美视频99 | 国产一区在线播放 | 97电影网站 | 免费看三级黄色片 | 911久久 | 免费观看不卡av | 99精品久久只有精品 | 亚洲成人av一区二区 | 免费观看9x视频网站在线观看 | 国内精品久久久久久久久久久 | 99综合视频 | 四虎成人精品永久免费av | 成人黄色电影免费观看 | 国产一区二区影院 | 国产一级片免费播放 | 三三级黄色片之日韩 | 中文字幕.av.在线 | 免费观看国产精品视频 | 玖玖在线视频观看 | 亚洲精品国产综合久久 | 超碰97在线看 | 精品国产成人在线影院 | 欧美国产精品久久久久久免费 | 久久久久久久久久久免费视频 | 国产精品6 | 国产高清在线精品 | av黄在线播放 | 午夜精品久久久久久久99 | 蜜臀久久99精品久久久无需会员 | 精品国产乱码久久久久久1区二区 | 欧美国产视频在线 | 欧美成人按摩 | 亚洲国产电影在线观看 | 国产小视频国产精品 | 最新成人av | 在线观看自拍 | 在线免费色视频 | 久久久麻豆精品一区二区 | 1024手机看片国产 | 视频福利在线 | av中文字幕亚洲 | 国产精品去看片 | 叶爱av在线 | 欧美极品少妇xbxb性爽爽视频 | 999久久a精品合区久久久 | 国产视频不卡 | 贫乳av女优大全 | 国产超碰97| 国产精品久久久久久五月尺 | 国产一级大片在线观看 | 欧美在线观看视频一区二区 | 中文字幕免费在线看 | 国产黄色一级片 | 久色婷婷 | 五月婷婷综合激情网 | 午夜精品一区二区三区在线视频 | 亚洲va韩国va欧美va精四季 | 狠狠色伊人亚洲综合成人 | 97超碰在线资源 | 国产精品99久久久久久久久 | 亚洲精品乱码久久久久久9色 | 欧美在线视频第一页 | 国产在线播放一区 | 色婷婷综合五月 | 亚洲日韩欧美视频 | 天天躁天天躁天天躁婷 | 看片一区二区三区 | 丁香久久五月 | 伊人狠狠操 | 一区二区三区av在线 | 日韩亚洲在线 | 久久精品国产免费 | 欧洲在线免费视频 | 丁香五月亚洲综合在线 | 亚色视频在线观看 | 国产资源在线免费观看 | 天天综合网 天天综合色 | 日韩午夜视频在线观看 | 综合色站导航 | 亚洲精品网址在线观看 | 精品在线视频一区二区三区 | 亚洲性少妇性猛交wwww乱大交 | 久久久91精品国产 | 精品免费观看 | 亚洲精品啊啊啊 | 狠狠躁夜夜a产精品视频 | 国产欧美综合视频 | 五月天丁香 | 国产一线天在线观看 | 国产精品久久久久久欧美 | 92精品国产成人观看免费 | 久久中文网 | 久久99精品久久久久久秒播蜜臀 | 国产一级片直播 | 麻豆视频免费在线播放 | 中文字幕在线观看第三页 | 中文字幕在线视频一区二区 | 五月婷婷视频在线 | 国产一级特黄电影 | 亚欧洲精品视频在线观看 | 99精品热视频只有精品10 | 免费黄色网止 | 99精品热视频只有精品10 | 玖玖玖在线观看 | 911在线| 日韩欧美在线观看一区二区三区 | 欧美特一级 | 久久久久久国产精品久久 | 一区二区三区在线视频111 | 成人久久久精品国产乱码一区二区 | 亚洲电影一区二区 | av三区在线| 97人人模人人爽人人少妇 | 国产精品一区免费看8c0m |