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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

轻量级分布式 RPC 框架

發布時間:2023/11/27 生活经验 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 轻量级分布式 RPC 框架 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

RPC,即 Remote Procedure Call(遠程過程調用),說得通俗一點就是:調用遠程計算機上的服務,就像調用本地服務一樣。

RPC 可基于 HTTP 或 TCP 協議,Web Service 就是基于 HTTP 協議的 RPC,它具有良好的跨平臺性,但其性能卻不如基于 TCP 協議的 RPC。會兩方面會直接影響 RPC 的性能,一是傳輸方式,二是序列化。

輕量級分布式 RPC 框架的具體過程,該框架基于 TCP 協議

  1. Spring:它是最強大的依賴注入框架,也是業界的權威標準。
  2. Netty:它使 NIO 編程更加容易,屏蔽了 Java 底層的 NIO 細節。
  3. Protostuff:它基于 Protobuf 序列化框架,面向 POJO,無需編寫 .proto 文件。
  4. ZooKeeper:提供服務注冊與發現功能,開發分布式系統的必備選擇,同時它也具備天生的集群能力。

第一步:編寫服務接口

<!-- lang: java -->
public interface HelloService {String hello(String name);
}

第二步:編寫服務接口的實現類

<!-- lang: java -->
@RpcService(HelloService.class) // 指定遠程接口
//使用RpcService注解定義在服務接口的實現類上,需要對該實現類指定遠程接口,因為實現類可能會實現多個接口,一定要告訴框架哪個才是遠程接口。
public class HelloServiceImpl implements HelloService {@Overridepublic String hello(String name) {return "Hello! " + name;} }
<!-- lang: java -->
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Component // 表明可被 Spring 掃描
public @interface RpcService {Class<?> value();
}

第三步:配置服務端

服務端 Spring 配置文件名為spring.xml,內容如下:

<!-- lang: xml -->
<beans ...><context:component-scan base-package="com.xxx.rpc.sample.server"/><context:property-placeholder location="classpath:config.properties"/><!-- 配置服務注冊組件 --><bean id="serviceRegistry" class="com.xxx.rpc.registry.ServiceRegistry"><constructor-arg name="registryAddress" value="${registry.address}"/></bean><!-- 配置 RPC 服務器 --><bean id="rpcServer" class="com.xxx.rpc.server.RpcServer"><constructor-arg name="serverAddress" value="${server.address}"/><constructor-arg name="serviceRegistry" ref="serviceRegistry"/></bean>
</beans>

具體的配置參數在config.properties文件中,連接本地的 ZooKeeper 服務器,并在 8000 端口上發布 RPC 服務。

<!-- lang: java -->
# ZooKeeper 服務器
registry.address=127.0.0.1:2181# RPC 服務器
server.address=127.0.0.1:8000

第四步:啟動服務器并發布服務

為了加載 Spring 配置文件來發布服務,只需編寫一個引導程序即可:

<!-- lang: java -->
public class RpcBootstrap {public static void main(String[] args) {new ClassPathXmlApplicationContext("spring.xml");}
}

運行RpcBootstrap類的main方法即可啟動服務端,但還有兩個重要的組件尚未實現,它們分別是:ServiceRegistryRpcServer

第五步:實現服務注冊

使用 ZooKeeper 客戶端可輕松實現服務注冊功能,ServiceRegistry代碼如下:

public class ServiceRegistry {private static final Logger LOGGER = LoggerFactory.getLogger(ServiceRegistry.class);private CountDownLatch latch = new CountDownLatch(1);private String registryAddress;public ServiceRegistry(String registryAddress) {this.registryAddress = registryAddress;}public void register(String data) {if (data != null) {ZooKeeper zk = connectServer();if (zk != null) {createNode(zk, data);}}}private ZooKeeper connectServer() {ZooKeeper zk = null;try {zk = new ZooKeeper(registryAddress, Constant.ZK_SESSION_TIMEOUT, new Watcher() {@Overridepublic void process(WatchedEvent event) {if (event.getState() == Event.KeeperState.SyncConnected) {latch.countDown();}}});latch.await();} catch (IOException | InterruptedException e) {LOGGER.error("", e);}return zk;}private void createNode(ZooKeeper zk, String data) {try {byte[] bytes = data.getBytes();String path = zk.create(Constant.ZK_DATA_PATH, bytes, ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL_SEQUENTIAL);LOGGER.debug("create zookeeper node ({} => {})", path, data);} catch (KeeperException | InterruptedException e) {LOGGER.error("", e);}}
}

其中,通過Constant配置了所有的常量:

public interface Constant {int ZK_SESSION_TIMEOUT = 5000;String ZK_REGISTRY_PATH = "/registry";String ZK_DATA_PATH = ZK_REGISTRY_PATH + "/data";
}

首先需要使用 ZooKeeper 客戶端命令行創建/registry永久節點,用于存放所有的服務臨時節點

第六步:實現 RPC 服務器

使用 Netty 可實現一個支持 NIO 的 RPC 服務器,需要使用ServiceRegistry注冊服務地址,RpcServer代碼如下:

public class RpcServer implements ApplicationContextAware, InitializingBean {private static final Logger LOGGER = LoggerFactory.getLogger(RpcServer.class);private String serverAddress;private ServiceRegistry serviceRegistry;private Map<String, Object> handlerMap = new HashMap<>(); // 存放接口名與服務對象之間的映射關系public RpcServer(String serverAddress) {this.serverAddress = serverAddress;}public RpcServer(String serverAddress, ServiceRegistry serviceRegistry) {this.serverAddress = serverAddress;this.serviceRegistry = serviceRegistry;}@Overridepublic void setApplicationContext(ApplicationContext ctx) throws BeansException {Map<String, Object> serviceBeanMap = ctx.getBeansWithAnnotation(RpcService.class); // 獲取所有帶有 RpcService 注解的 Spring Beanif (MapUtils.isNotEmpty(serviceBeanMap)) {for (Object serviceBean : serviceBeanMap.values()) {String interfaceName = serviceBean.getClass().getAnnotation(RpcService.class).value().getName();handlerMap.put(interfaceName, serviceBean);}}}@Overridepublic void afterPropertiesSet() throws Exception {EventLoopGroup bossGroup = new NioEventLoopGroup();EventLoopGroup workerGroup = new NioEventLoopGroup();try {ServerBootstrap bootstrap = new ServerBootstrap();bootstrap.group(bossGroup, workerGroup).channel(NioServerSocketChannel.class).childHandler(new ChannelInitializer<SocketChannel>() {@Overridepublic void initChannel(SocketChannel channel) throws Exception {channel.pipeline().addLast(new RpcDecoder(RpcRequest.class)) // 將 RPC 請求進行解碼(為了處理請求).addLast(new RpcEncoder(RpcResponse.class)) // 將 RPC 響應進行編碼(為了返回響應).addLast(new RpcHandler(handlerMap)); // 處理 RPC 請求
                    }}).option(ChannelOption.SO_BACKLOG, 128).childOption(ChannelOption.SO_KEEPALIVE, true);String[] array = serverAddress.split(":");String host = array[0];int port = Integer.parseInt(array[1]);ChannelFuture future = bootstrap.bind(host, port).sync();LOGGER.debug("server started on port {}", port);if (serviceRegistry != null) {serviceRegistry.register(serverAddress); // 注冊服務地址
            }future.channel().closeFuture().sync();} finally {workerGroup.shutdownGracefully();bossGroup.shutdownGracefully();}}
}

以上代碼中,有兩個重要的 POJO 需要描述一下,它們分別是RpcRequestRpcResponse。

使用RpcRequest封裝 RPC 請求,代碼如下:

public class RpcRequest {private String requestId;private String className;private String methodName;private Class<?>[] parameterTypes;private Object[] parameters;// getter/setter...
}

使用RpcResponse封裝 RPC 響應,代碼如下:

public class RpcResponse {private String requestId;private Throwable error;private Object result;// getter/setter...
}

使用RpcDecoder提供 RPC 解碼,只需擴展 Netty 的ByteToMessageDecoder抽象類的decode方法即可,代碼如下:

public class RpcDecoder extends ByteToMessageDecoder {private Class<?> genericClass;public RpcDecoder(Class<?> genericClass) {this.genericClass = genericClass;}@Overridepublic void decode(ChannelHandlerContext ctx, ByteBuf in, List<Object> out) throws Exception {if (in.readableBytes() < 4) {return;}in.markReaderIndex();int dataLength = in.readInt();if (dataLength < 0) {ctx.close();}if (in.readableBytes() < dataLength) {in.resetReaderIndex();return;}byte[] data = new byte[dataLength];in.readBytes(data);Object obj = SerializationUtil.deserialize(data, genericClass);out.add(obj);}
}

使用RpcEncoder提供 RPC 編碼,只需擴展 Netty 的MessageToByteEncoder抽象類的encode方法即可,代碼如下:

public class RpcEncoder extends MessageToByteEncoder {private Class<?> genericClass;public RpcEncoder(Class<?> genericClass) {this.genericClass = genericClass;}@Overridepublic void encode(ChannelHandlerContext ctx, Object in, ByteBuf out) throws Exception {if (genericClass.isInstance(in)) {byte[] data = SerializationUtil.serialize(in);out.writeInt(data.length);out.writeBytes(data);}}
}

編寫一個SerializationUtil工具類,使用Protostuff實現序列化:

public class SerializationUtil {private static Map<Class<?>, Schema<?>> cachedSchema = new ConcurrentHashMap<>();private static Objenesis objenesis = new ObjenesisStd(true);private SerializationUtil() {}@SuppressWarnings("unchecked")private static <T> Schema<T> getSchema(Class<T> cls) {Schema<T> schema = (Schema<T>) cachedSchema.get(cls);if (schema == null) {schema = RuntimeSchema.createFrom(cls);if (schema != null) {cachedSchema.put(cls, schema);}}return schema;}@SuppressWarnings("unchecked")public static <T> byte[] serialize(T obj) {Class<T> cls = (Class<T>) obj.getClass();LinkedBuffer buffer = LinkedBuffer.allocate(LinkedBuffer.DEFAULT_BUFFER_SIZE);try {Schema<T> schema = getSchema(cls);return ProtostuffIOUtil.toByteArray(obj, schema, buffer);} catch (Exception e) {throw new IllegalStateException(e.getMessage(), e);} finally {buffer.clear();}}public static <T> T deserialize(byte[] data, Class<T> cls) {try {T message = (T) objenesis.newInstance(cls);Schema<T> schema = getSchema(cls);ProtostuffIOUtil.mergeFrom(data, message, schema);return message;} catch (Exception e) {throw new IllegalStateException(e.getMessage(), e);}}
}

以上了使用 Objenesis 來實例化對象,它是比 Java 反射更加強大。

注意:如需要替換其它序列化框架,只需修改SerializationUtil即可。當然,更好的實現方式是提供配置項來決定使用哪種序列化方式。

使用RpcHandler中處理 RPC 請求,只需擴展 Netty 的SimpleChannelInboundHandler抽象類即可,代碼如下:

public class RpcHandler extends SimpleChannelInboundHandler<RpcRequest> {private static final Logger LOGGER = LoggerFactory.getLogger(RpcHandler.class);private final Map<String, Object> handlerMap;public RpcHandler(Map<String, Object> handlerMap) {this.handlerMap = handlerMap;}@Overridepublic void channelRead0(final ChannelHandlerContext ctx, RpcRequest request) throws Exception {RpcResponse response = new RpcResponse();response.setRequestId(request.getRequestId());try {Object result = handle(request);response.setResult(result);} catch (Throwable t) {response.setError(t);}ctx.writeAndFlush(response).addListener(ChannelFutureListener.CLOSE);}private Object handle(RpcRequest request) throws Throwable {String className = request.getClassName();Object serviceBean = handlerMap.get(className);Class<?> serviceClass = serviceBean.getClass();String methodName = request.getMethodName();Class<?>[] parameterTypes = request.getParameterTypes();Object[] parameters = request.getParameters();/*Method method = serviceClass.getMethod(methodName, parameterTypes);method.setAccessible(true);return method.invoke(serviceBean, parameters);*/FastClass serviceFastClass = FastClass.create(serviceClass);FastMethod serviceFastMethod = serviceFastClass.getMethod(methodName, parameterTypes);return serviceFastMethod.invoke(serviceBean, parameters);}@Overridepublic void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) {LOGGER.error("server caught exception", cause);ctx.close();}
}

為了避免使用 Java 反射帶來的性能問題,我們可以使用 CGLib 提供的反射 API,如上面用到的FastClassFastMethod。

第七步:配置客戶端

同樣使用 Spring 配置文件來配置 RPC 客戶端,spring.xml代碼如下:

<!-- lang: java -->
<beans ...><context:property-placeholder location="classpath:config.properties"/><!-- 配置服務發現組件 --><bean id="serviceDiscovery" class="com.xxx.rpc.registry.ServiceDiscovery"><constructor-arg name="registryAddress" value="${registry.address}"/></bean><!-- 配置 RPC 代理 --><bean id="rpcProxy" class="com.xxx.rpc.client.RpcProxy"><constructor-arg name="serviceDiscovery" ref="serviceDiscovery"/></bean>
</beans>
<!-- lang: java -->
# ZooKeeper 服務器
registry.address=127.0.0.1:2181

第八步:實現服務發現

同樣使用 ZooKeeper 實現服務發現功能,見如下代碼:

public class ServiceDiscovery {private static final Logger LOGGER = LoggerFactory.getLogger(ServiceDiscovery.class);private CountDownLatch latch = new CountDownLatch(1);private volatile List<String> dataList = new ArrayList<>();private String registryAddress;public ServiceDiscovery(String registryAddress) {this.registryAddress = registryAddress;ZooKeeper zk = connectServer();if (zk != null) {watchNode(zk);}}public String discover() {String data = null;int size = dataList.size();if (size > 0) {if (size == 1) {data = dataList.get(0);LOGGER.debug("using only data: {}", data);} else {data = dataList.get(ThreadLocalRandom.current().nextInt(size));LOGGER.debug("using random data: {}", data);}}return data;}private ZooKeeper connectServer() {ZooKeeper zk = null;try {zk = new ZooKeeper(registryAddress, Constant.ZK_SESSION_TIMEOUT, new Watcher() {@Overridepublic void process(WatchedEvent event) {if (event.getState() == Event.KeeperState.SyncConnected) {latch.countDown();}}});latch.await();} catch (IOException | InterruptedException e) {LOGGER.error("", e);}return zk;}private void watchNode(final ZooKeeper zk) {try {List<String> nodeList = zk.getChildren(Constant.ZK_REGISTRY_PATH, new Watcher() {@Overridepublic void process(WatchedEvent event) {if (event.getType() == Event.EventType.NodeChildrenChanged) {watchNode(zk);}}});List<String> dataList = new ArrayList<>();for (String node : nodeList) {byte[] bytes = zk.getData(Constant.ZK_REGISTRY_PATH + "/" + node, false, null);dataList.add(new String(bytes));}LOGGER.debug("node data: {}", dataList);this.dataList = dataList;} catch (KeeperException | InterruptedException e) {LOGGER.error("", e);}}
}

第九步:實現 RPC 代理

這里使用 Java 提供的動態代理技術實現 RPC 代理(當然也可以使用 CGLib 來實現),具體代碼如下:

public class RpcProxy {private String serverAddress;private ServiceDiscovery serviceDiscovery;public RpcProxy(String serverAddress) {this.serverAddress = serverAddress;}public RpcProxy(ServiceDiscovery serviceDiscovery) {this.serviceDiscovery = serviceDiscovery;}@SuppressWarnings("unchecked")public <T> T create(Class<?> interfaceClass) {return (T) Proxy.newProxyInstance(interfaceClass.getClassLoader(),new Class<?>[]{interfaceClass},new InvocationHandler() {@Overridepublic Object invoke(Object proxy, Method method, Object[] args) throws Throwable {RpcRequest request = new RpcRequest(); // 創建并初始化 RPC 請求
                    request.setRequestId(UUID.randomUUID().toString());request.setClassName(method.getDeclaringClass().getName());request.setMethodName(method.getName());request.setParameterTypes(method.getParameterTypes());request.setParameters(args);if (serviceDiscovery != null) {serverAddress = serviceDiscovery.discover(); // 發現服務
                    }String[] array = serverAddress.split(":");String host = array[0];int port = Integer.parseInt(array[1]);RpcClient client = new RpcClient(host, port); // 初始化 RPC 客戶端RpcResponse response = client.send(request); // 通過 RPC 客戶端發送 RPC 請求并獲取 RPC 響應if (response.isError()) {throw response.getError();} else {return response.getResult();}}});}
}

使用RpcClient類實現 RPC 客戶端,只需擴展 Netty 提供的SimpleChannelInboundHandler抽象類即可,代碼如下:

public class RpcClient extends SimpleChannelInboundHandler<RpcResponse> {private static final Logger LOGGER = LoggerFactory.getLogger(RpcClient.class);private String host;private int port;private RpcResponse response;private final Object obj = new Object();public RpcClient(String host, int port) {this.host = host;this.port = port;}@Overridepublic void channelRead0(ChannelHandlerContext ctx, RpcResponse response) throws Exception {this.response = response;synchronized (obj) {obj.notifyAll(); // 收到響應,喚醒線程
        }}@Overridepublic void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception {LOGGER.error("client caught exception", cause);ctx.close();}public RpcResponse send(RpcRequest request) throws Exception {EventLoopGroup group = new NioEventLoopGroup();try {Bootstrap bootstrap = new Bootstrap();bootstrap.group(group).channel(NioSocketChannel.class).handler(new ChannelInitializer<SocketChannel>() {@Overridepublic void initChannel(SocketChannel channel) throws Exception {channel.pipeline().addLast(new RpcEncoder(RpcRequest.class)) // 將 RPC 請求進行編碼(為了發送請求).addLast(new RpcDecoder(RpcResponse.class)) // 將 RPC 響應進行解碼(為了處理響應).addLast(RpcClient.this); // 使用 RpcClient 發送 RPC 請求
                    }}).option(ChannelOption.SO_KEEPALIVE, true);ChannelFuture future = bootstrap.connect(host, port).sync();future.channel().writeAndFlush(request).sync();synchronized (obj) {obj.wait(); // 未收到響應,使線程等待
            }if (response != null) {future.channel().closeFuture().sync();}return response;} finally {group.shutdownGracefully();}}
}

第十步:發送 RPC 請求

使用 JUnit 結合 Spring 編寫一個單元測試,代碼如下:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:spring.xml")
public class HelloServiceTest {@Autowiredprivate RpcProxy rpcProxy;@Testpublic void helloTest() {HelloService helloService = rpcProxy.create(HelloService.class);String result = helloService.hello("World");Assert.assertEquals("Hello! World", result);}
}

本文通過 Spring + Netty + Protostuff + ZooKeeper 實現了一個輕量級 RPC 框架,使用 Spring 提供依賴注入與參數配置,使用 Netty 實現 NIO 方式的數據傳輸,使用 Protostuff 實現對象序列化,使用 ZooKeeper 實現服務注冊與發現。使用該框架,可將服務部署到分布式環境中的任意節點上,客戶端通過遠程接口來調用服務端的具體實現,讓服務端與客戶端的開發完全分離,為實現大規模分布式應用提供了基礎支持。

附錄:Maven 依賴

<!-- lang: xml -->
<!-- JUnit -->
<dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope>
</dependency><!-- SLF4J -->
<dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.7.7</version>
</dependency><!-- Spring -->
<dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>3.2.12.RELEASE</version>
</dependency>
<dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>3.2.12.RELEASE</version><scope>test</scope>
</dependency><!-- Netty -->
<dependency><groupId>io.netty</groupId><artifactId>netty-all</artifactId><version>4.0.24.Final</version>
</dependency><!-- Protostuff -->
<dependency><groupId>com.dyuproject.protostuff</groupId><artifactId>protostuff-core</artifactId><version>1.0.8</version>
</dependency>
<dependency><groupId>com.dyuproject.protostuff</groupId><artifactId>protostuff-runtime</artifactId><version>1.0.8</version>
</dependency><!-- ZooKeeper -->
<dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId><version>3.4.6</version>
</dependency><!-- Apache Commons Collections -->
<dependency><groupId>org.apache.commons</groupId><artifactId>commons-collections4</artifactId><version>4.0</version>
</dependency><!-- Objenesis -->
<dependency><groupId>org.objenesis</groupId><artifactId>objenesis</artifactId><version>2.1</version>
</dependency><!-- CGLib -->
<dependency><groupId>cglib</groupId><artifactId>cglib</artifactId><version>3.1</version>
</dependency>

http://javatar.iteye.com/blog/1123915

 
 
 

轉載于:https://www.cnblogs.com/mxz1994/p/8435917.html

總結

以上是生活随笔為你收集整理的轻量级分布式 RPC 框架的全部內容,希望文章能夠幫你解決所遇到的問題。

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

国产精品网站一区二区三区 | 99精品久久精品一区二区 | 夜夜摸夜夜爽 | 欧美电影在线观看 | 国产精品久久久久久久久久白浆 | 国产成人免费精品 | 蜜臀av夜夜澡人人爽人人 | 黄色成人av | 免费在线看v | 日本在线观看中文字幕 | 毛片美女网站 | 天天躁日日躁狠狠躁av中文 | 不卡视频在线 | 欧美精品一区二区三区四区在线 | 91香蕉视频在线下载 | 91热这里只有精品 | 99久久久国产精品 | 国产涩涩在线观看 | 日韩专区av | 亚洲婷婷综合色高清在线 | 久久久性 | 国产亚洲成av片在线观看 | 中文字幕在线观看日本 | 中国精品一区二区 | 日韩中文字幕91 | 欧美日高清视频 | 99精品久久99久久久久 | 韩国精品视频在线观看 | 顶级欧美色妇4khd | 99国产精品免费网站 | 最近在线中文字幕 | 国产在线不卡视频 | 国产日产亚洲精华av | 精品久久影院 | 在线观看视频福利 | 亚洲精品乱码久久久久久久久久 | www.人人干| 91成人天堂久久成人 | 久久精品久久综合 | 中文字幕第 | www五月天 | 在线免费观看成人 | 成人a级大片 | 成人午夜在线观看 | 日韩精品一区二区三区在线视频 | 97在线免费视频观看 | 久久综合狠狠综合久久综合88 | 日韩精品不卡 | 中文字幕视频在线播放 | 国产精品成人自拍 | 成人av电影免费观看 | 免费在线观看av的网站 | 98久久| 18国产精品白浆在线观看免费 | 九九久久影视 | 国产一级h | 亚洲人成网站精品片在线观看 | 久久综合精品国产一区二区三区 | 天天天色 | 久久99亚洲网美利坚合众国 | 欧美视频在线二区 | 蜜臀av免费一区二区三区 | 黄色网免费 | 最新日韩在线观看视频 | 91av九色| 亚洲国产日韩av | 亚洲四虎 | 精品久久久久久亚洲 | 久久精品免费看 | 免费a级毛片在线看 | 中文字幕中文字幕在线中文字幕三区 | 免费网站黄 | 日韩欧美一区二区在线 | 一级免费看 | 国产成人一区二区三区免费看 | 麻豆影视网 | 午夜国产在线观看 | 在线一二区 | 久久草精品 | a黄在线观看 | 国产精品9999久久久久仙踪林 | 亚一亚二国产专区 | 久久免费黄色大片 | 97视频免费看 | 久久综合干 | 国产经典av | 二区三区毛片 | 国产精品com| 九九九免费视频 | 蜜桃视频日本 | 激情五月***国产精品 | 亚洲精品视频国产 | 免费看片网址 | 91丨九色丨丝袜 | 99久久婷婷国产综合亚洲 | 色国产精品 | 国产免费大片 | 亚洲成人动漫在线观看 | 精品久久久久久久久久久久 | 一区二区三区在线观看中文字幕 | 久久96国产精品久久99漫画 | 911久久香蕉国产线看观看 | 亚洲综合视频在线 | 91九色视频在线 | 成 人 a v天堂 | 精品亚洲欧美一区 | www.av在线.com | 在线成人免费电影 | 国产精品一区二区久久精品爱微奶 | 婷婷在线网 | 9999免费视频| 欧美精品二 | 久久婷亚洲五月一区天天躁 | 日韩高清免费在线 | www.福利视频 | 国产 成人 久久 | 国产精品99久久久久久久久久久久 | 欧美成人精品三级在线观看播放 | 99这里有精品 | 久久精品一区二区三区四区 | 大荫蒂欧美视频另类xxxx | 免费在线观看国产精品 | 狠狠色丁香婷婷综合久小说久 | 国产成人精品综合久久久 | 久久99精品国产麻豆宅宅 | 日日夜夜天天干 | 欧美老女人xx| 免费观看成人网 | 久久久国产影视 | 久久在线影院 | 人人射人人爽 | 天天干天天操天天爱 | 久草电影在线 | 亚洲免费av观看 | 欧美另类xxx | 精品综合久久 | 国产精品资源在线 | 国产精品久久久久久久久久东京 | 一区二区三区在线观看免费 | 国产精品毛片一区二区 | 国产一区二区在线播放 | 中文字幕在线播放一区二区 | 精品女同一区二区三区在线观看 | 天堂视频中文在线 | 久99久中文字幕在线 | 中文字幕在线观看完整版电影 | 九九热精品视频在线观看 | 四虎影视精品永久在线观看 | 欧美-第1页-屁屁影院 | 国产精品久久久久久久久久东京 | 黄色在线免费观看网站 | 成人黄色在线电影 | 日韩激情综合 | 亚洲综合国产精品 | 色五丁香 | 看片在线亚洲 | 五月天免费网站 | www.夜夜骑.com | 亚洲精品高清视频在线观看 | www.av中文字幕.com | 97超在线| 91在线精品秘密一区二区 | 久久99热精品 | 黄色国产高清 | 久久成人人人人精品欧 | 国产在线看一区 | 亚洲视频精品在线 | 国产精品不卡在线 | 久久天天躁夜夜躁狠狠躁2022 | 97色在线观看 | 成人黄大片视频在线观看 | 国产五月色婷婷六月丁香视频 | 日韩精品无码一区二区三区 | 亚洲精品一区二区三区在线观看 | 91亚州| 不卡电影免费在线播放一区 | 色婷婷婷 | av网站播放| 毛片久久久 | av中文资源在线 | 99精品国产成人一区二区 | 在线欧美小视频 | 成人午夜黄色影院 | 狠狠色丁香婷婷综合基地 | 成人午夜毛片 | 精品国产人成亚洲区 | 中文字幕精品一区久久久久 | 99视频+国产日韩欧美 | 国产 日韩 欧美 中文 在线播放 | 午夜视频一区二区三区 | 美女精品久久久 | 人人看人人爱 | 欧美日韩在线视频免费 | 高清在线观看av | 在线观看日韩中文字幕 | 久久国产精品99国产 | 久久99国产综合精品 | 麻豆免费在线视频 | 99久久国产免费,99久久国产免费大片 | 免费看一及片 | 久久色在线播放 | 久久久亚洲麻豆日韩精品一区三区 | 国产一级片不卡 | 国产精品九九久久99视频 | 97电院网手机版 | 91精品秘密在线观看 | 国内精品久久天天躁人人爽 | 99热高清 | 日韩欧美一区二区三区黑寡妇 | 久久九九九九 | av电影中文| 久久精品国产精品 | 日本午夜在线观看 | 五月天av在线| 久久精品福利 | 婷婷六月天在线 | 亚洲午夜久久久久久久久电影网 | 国内精品久久久久久 | 国产男女无遮挡猛进猛出在线观看 | 国产中文在线观看 | 亚洲国产午夜视频 | 日韩va欧美va亚洲va久久 | 最近中文字幕 | 国内精品小视频 | 国产精品系列在线播放 | 久久久精品高清 | 久久久免费在线观看 | 国产欧美精品在线观看 | 99久久日韩精品视频免费在线观看 | 不卡的av在线 | 日日爱999 | 六月婷婷色 | 欧美天堂久久 | 91在线视频导航 | 99热超碰在线 | 中文字幕视频 | 天堂在线一区二区三区 | 免费在线观看一级片 | 亚洲天堂毛片 | 国产精品久久久久婷婷二区次 | 久草视频在线播放 | 精品国产aⅴ一区二区三区 在线直播av | 激情五月色播五月 | 91重口视频 | 婷婷视频导航 | 久久黄色小说 | 久久在线视频在线 | 久久久久亚洲国产精品 | 成人午夜网址 | 91最新网址| 日韩黄色在线电影 | 国产亚洲在线 | 黄色小说免费观看 | 欧美一二三区在线观看 | 国产免费视频一区二区裸体 | 日韩av资源站 | 国产精品久久中文字幕 | 最新国产精品拍自在线播放 | 日韩爱爱网站 | 日韩精品视频第一页 | 欧美日韩亚洲在线观看 | 欧美日韩亚洲第一 | 中文字幕亚洲精品日韩 | 久草视频视频在线播放 | 免费亚洲片 | 中文字幕日韩一区二区三区不卡 | 99热99| 亚洲人成人天堂h久久 | 天天操天天操天天操天天操天天操 | 日韩黄色免费看 | 日本黄色免费在线观看 | 国产精品久久久久久影院 | 黄a网| 91欧美日韩国产 | 91av在| 婷婷丁香激情综合 | 成人午夜剧场在线观看 | 日韩精品视频一二三 | 国产精品露脸在线 | 成av在线 | 色九九在线 | 国产精品毛片久久 | 亚洲精品在线观看视频 | 欧美 亚洲 另类 激情 另类 | 亚洲精品国内 | 亚洲综合色激情五月 | 99热亚洲精品 | 2023天天干 | 中文字幕视频在线播放 | 手机在线观看国产精品 | 国产原厂视频在线观看 | 亚洲欧美日本A∨在线观看 青青河边草观看完整版高清 | 国产.精品.日韩.另类.中文.在线.播放 | 国产精品不卡在线观看 | 欧美日韩国产页 | 四虎最新域名 | 日韩免费一区二区三区 | 亚洲精品av中文字幕在线在线 | 免费看的黄色的网站 | 国产欧美中文字幕 | 亚洲精品乱码久久久久久按摩 | 亚洲一区尤物 | 97理论片| 97免费视频在线播放 | 欧美高清视频不卡网 | 亚洲精品小视频 | 免费网址在线播放 | 国产精品成人免费一区久久羞羞 | 久久草视频 | 久久福利剧场 | 成人av免费在线看 | 日韩在线观看网站 | 成人a在线观看高清电影 | 久久只精品99品免费久23小说 | 日本精品中文字幕在线观看 | 久久艹精品| 日批视频在线播放 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 久久99精品国产 | 日本丰满少妇免费一区 | 国产专区在线视频 | 成人av一区二区三区 | 97国产精品久久 | 久久久久免费网站 | 黄色一级在线免费观看 | 超级碰碰碰免费视频 | 亚洲精品综合久久 | 青青网视频 | 在线免费视| 久久视频国产 | 婷婷丁香色综合狠狠色 | 国产中文字幕视频 | 天天干夜夜夜操天 | 久久激情小视频 | 992tv在线观看网站 | 成人91免费视频 | 五月综合| 亚洲黑丝少妇 | 人人爽久久涩噜噜噜网站 | 久久久久久久久久伊人 | 97视频在线免费播放 | 国产视频精品免费 | 夜色在线资源 | 一区二区三区在线免费观看 | 国产精品18久久久久vr手机版特色 | 国产精品久久久久久久久久久久午 | 精品国产成人在线 | 黄色福利视频网站 | 日韩天天干 | 久久99精品久久久久久清纯直播 | 永久免费精品视频网站 | 久久久黄色av| 在线有码中文 | 在线观看免费中文字幕 | 欧美激情视频久久 | 国产精品成人免费 | 天天激情天天干 | 久久综合狠狠综合久久综合88 | 国产精品一区在线观看 | 亚洲精品视频大全 | 国产一二三区av | 久久精品99久久久久久 | 区一区二区三区中文字幕 | 成人丝袜| 国产高清无av久久 | 黄色小网站在线观看 | 日韩av高清在线观看 | 国产美腿白丝袜足在线av | 亚洲激情一区二区三区 | 亚洲综合涩 | 色婷婷激婷婷情综天天 | av超碰免费在线 | 午夜视频二区 | 免费成人在线电影 | 欧美乱熟臀69xxxxxx | 在线观看免费视频 | 亚洲天堂网视频 | 国产免费中文字幕 | av再线观看 | 一区二区三区免费在线观看视频 | 日本在线观看一区二区三区 | 91伊人久久大香线蕉蜜芽人口 | 激情视频一区二区 | 99色在线视频| 国产精品高 | 国产视频一二三 | 国产在线精品二区 | 狠狠狠色狠狠色综合 | 91久久丝袜国产露脸动漫 | 91在线麻豆 | 国产香蕉久久精品综合网 | 精品亚洲va在线va天堂资源站 | 亚洲黄色免费观看 | 伊人日日干 | 久久久天堂 | 国产视频一区二区在线播放 | 99色网站| 日韩av片无码一区二区不卡电影 | 亚洲精品视频在线观看视频 | 亚洲免费在线观看视频 | 涩涩爱夜夜爱 | 亚洲欧美日韩精品一区二区 | 亚洲精品男女 | 亚洲成人资源 | 亚洲激情| 久久黄色精品视频 | 日韩91精品 | 又黄又爽又色无遮挡免费 | 免费国产一区二区视频 | 欧美老女人xx | 久久婷综合 | 亚洲激情视频在线 | 少妇高潮流白浆在线观看 | 天天操人人要 | 日韩av片在线 | 久久精品视频网 | 天天色天天射综合网 | 国产成人精品a | 在线免费视频 你懂得 | 日韩精品欧美精品 | 国产精品一区二区免费在线观看 | 一级免费看 | 欧洲一区二区在线观看 | 国内精品久久久久久久 | 五月婷婷激情综合 | 国产精品永久免费在线 | 欧美极品xxxx | av网站免费在线 | 欧美aa在线观看 | 日韩国产精品久久 | 国产成人三级三级三级97 | 日韩试看 | 久久久久欠精品国产毛片国产毛生 | 国产精品一区二区久久久久 | 高清一区二区 | 在线中文视频 | 一级片免费视频 | 夜色资源站国产www在线视频 | 91精品国产自产在线观看永久 | 91麻豆看国产在线紧急地址 | 欧美成人a在线 | 中文字幕高清视频 | 久久 精品一区 | 久久久久久欧美二区电影网 | 欧美综合国产 | 国产精品一区免费看8c0m | 在线免费高清 | 嫩草91影院 | 久久夜色精品国产欧美乱极品 | 免费在线观看午夜视频 | 麻豆国产精品永久免费视频 | 成人在线观看你懂的 | 91中文字幕在线视频 | 天天操天天干天天 | 69久久久 | 日本一区二区三区免费看 | 国产成人香蕉 | 久草在线免费在线观看 | 国产一区二区三区 在线 | 久久精品99精品国产香蕉 | 日韩av偷拍| 91福利在线导航 | 国产一区自拍视频 | 成 人 黄 色 片 在线播放 | 午夜视频二区 | 成人国产精品 | 国产精品视频最多的网站 | 六月激情久久 | 久久久久久久久电影 | 成人网在线免费视频 | 国产精品免费成人 | 欧美在线1区 | 高清中文字幕av | 黄av资源 | 国产在线精品播放 | 亚洲精品国产精品久久99 | 1024手机看片国产 | 久久av高清 | 精品福利在线视频 | 一区二区三区日韩在线观看 | 精品中文字幕在线播放 | 在线亚州 | 欧美乱淫视频 | 国产成人精品a | 超薄丝袜一二三区 | 久久久久久久影院 | 国产精品高潮呻吟久久av无 | 亚洲视频精选 | 国产欧美日韩视频 | 久久久久免费精品视频 | 最新中文字幕在线观看视频 | 久久精品一二三区 | 成人国产精品久久久久久亚洲 | 伊人伊成久久人综合网小说 | 久久a热6| 亚洲欧洲国产视频 | 五月天综合色激情 | 天天爱天天草 | 日韩在线观看视频中文字幕 | 久久不卡国产精品一区二区 | 亚洲做受高潮欧美裸体 | 五月宗合网| 婷婷九月丁香 | 亚洲精品福利在线观看 | 亚洲第二色 | 国产精品18久久久久久不卡孕妇 | 成人高清在线观看 | 国产免费亚洲高清 | 日韩午夜在线 | av成人资源 | 黄色a在线 | 欧美色综合天天久久综合精品 | 亚洲亚洲精品在线观看 | 黄色在线网站噜噜噜 | se视频网址| 日韩一区二区三 | 国产精品永久免费视频 | 国产精品 亚洲精品 | 久久永久免费 | 久久视频精品在线观看 | 人人草天天草 | 成年人在线观看网站 | 国产成人精品一区二区在线观看 | 中文字幕一区二区三区四区在线视频 | 婷婷精品视频 | 最近日韩免费视频 | 国产理论免费 | 青青久草在线 | 啪啪肉肉污av国网站 | 97日日| 不卡在线一区 | 久久九九免费 | 国产精品久久久久婷婷 | 91色蜜桃 | 激情网第四色 | 国产精品久久99综合免费观看尤物 | 欧美一区三区四区 | 麻豆视频免费在线播放 | 白丝av在线| 激情欧美xxxx | 在线国产福利 | 丝袜制服综合网 | 热久久国产 | 天天艹天天 | 伊人欧美 | 国产香蕉视频在线观看 | 久久免费国产精品 | 99精品乱码国产在线观看 | 成人免费观看网站 | 国产黄色精品在线 | 美女免费网站 | www.99在线观看 | 久久国产精品免费观看 | 91中文字幕在线观看 | 亚洲成人免费在线观看 | 美国三级黄色大片 | 麻豆91网站 | 精品国产精品久久一区免费式 | 中文字幕在线观看完整版 | 色婷婷中文 | 人人超碰免费 | 国产 日韩 在线 亚洲 字幕 中文 | 91在线视频免费观看 | 久久久久久久久久久久久久电影 | 日本九九视频 | 99久久精品免费看国产一区二区三区 | 久久香蕉国产精品麻豆粉嫩av | 成人午夜片av在线看 | 在线看一区 | 久久午夜免费观看 | 黄色av网站在线观看免费 | 欧美精品久久久久久久久久久 | 亚洲黄色区 | 热久久免费视频精品 | 友田真希av | 亚洲精品免费在线观看 | 亚洲精品久久久久中文字幕二区 | 99久久99久久免费精品蜜臀 | 欧美日韩精品在线一区二区 | 狠狠的干狠狠的操 | 国产xxxx性hd极品 | 91久久国产综合精品女同国语 | 日韩毛片在线免费观看 | 精品久久久久久一区二区里番 | 激情网五月天 | 91精品久久久久久久91蜜桃 | 九九久久久久99精品 | 91麻豆国产福利在线观看 | 久久久久久久久福利 | 亚洲精品在线观看免费 | 在线播放 日韩专区 | 99精品视频免费观看视频 | 中文字幕区 | 中文字幕观看在线 | 日韩有码专区 | 叶爱av在线 | 一区二区三区电影在线播 | 免费三及片 | 久久伦理电影 | 黄色av一级片 | 久久看毛片 | 久久久久久久久久伊人 | 久艹在线免费观看 | 激情综合色图 | 日韩欧美国产激情在线播放 | 国产一区二区网址 | 久草视频资源 | 在线 高清 中文字幕 | 欧美作爱视频 | 日韩av资源站 | 国产精品久久久久久欧美 | 中文字幕在线观 | 91精品视频免费 | 亚洲精品大片www | 国产精品自产拍在线观看蜜 | 射久久久 | 国产精品一区二区三区视频免费 | www.五月天激情 | 一级电影免费在线观看 | 黄色视屏免费在线观看 | 人人草人 | 中文字幕视频 | 91亚洲在线| 国产精品久久久久久久久久久久久久 | 精品美女久久久久久免费 | 91在线文字幕 | 成年人免费在线看 | 国产手机视频 | 激情欧美丁香 | 激情av在线资源 | 国内精品久久久久久久久久久久 | 国产精品久久久久久久久久妇女 | 成人日批视频 | 一二三区高清 | 97碰在线视频 | 日本中文不卡 | 一区二区免费不卡在线 | 欧美日韩xxx| 久久久午夜精品理论片中文字幕 | 麻豆视频免费在线观看 | 91麻豆精品国产91久久久无需广告 | 日韩毛片在线免费观看 | 精品女同一区二区三区在线观看 | 久久久精品综合 | 亚洲欧美国产视频 | 国产高清精品在线观看 | 国产日韩精品一区二区 | 色综合久久88色综合天天免费 | 久久久综合精品 | 中文字幕av播放 | 日韩av线观看| 天天操欧美| 日韩视频中文 | 国产一级黄色免费看 | 欧美一级特黄aaaaaa大片在线观看 | 国产在线第三页 | 亚洲精品久久久久久国 | 又紧又大又爽精品一区二区 | 国产香蕉视频 | 免费成人在线视频网站 | 69亚洲视频| 国产成人综合在线观看 | 国产美女精品久久久 | 国产手机视频精品 | 久久激情小视频 | 国产理伦在线 | 在线精品视频免费观看 | 91中文字幕在线 | 中文成人字幕 | 国产成人精品综合久久久 | 日韩视频三区 | 2023av在线 | av电影免费看 | 最近中文字幕第一页 | 国产精品久久亚洲 | 天天玩天天干天天操 | 99久久99久久免费精品蜜臀 | 国产精品女人网站 | 色五月成人 | 六月丁香色婷婷 | 亚洲电影在线看 | 精品伦理一区二区三区 | 开心激情五月婷婷 | 欧美日韩国产精品爽爽 | 超碰97人人射妻 | 视频在线观看入口黄最新永久免费国产 | 999视频精品 | 黄色成人免费电影 | 婷婷电影网| 一级久久久 | www.亚洲在线 | avhd高清在线谜片 | 黄色aaa级片 | 人人狠狠综合久久亚洲 | 在线激情影院一区 | 亚洲区视频在线观看 | 9在线观看免费高清完整 | 五月婷婷综合久久 | 91免费在线视频 | 久久精品国产99国产 | 精品毛片久久久久久 | 色黄www小说 | 久久久国产影视 | 免费a v在线| 久国产在线播放 | 欧美午夜性| 久久婷亚洲五月一区天天躁 | 国产精品videossex国产高清 | 国产精品久久久久亚洲影视 | 91在线视频网址 | 人人爽人人爽人人片av免 | 色妞久久福利网 | 久久综合久久久 | 天天草天天操 | 免费久久精品视频 | 91最新视频在线观看 | 在线播放日韩av | 香蕉精品在线观看 | 天天插天天狠 | 日韩av片无码一区二区不卡电影 | 亚洲精品午夜国产va久久成人 | 日日碰夜夜爽 | 美女福利视频一区二区 | 久久综合九色综合欧美就去吻 | 91九色porny蝌蚪主页 | 天天操天天爱天天爽 | 国产视频每日更新 | 日韩电影中文字幕在线 | 色在线免费观看 | 国产美女在线精品免费观看 | 亚洲自拍av在线 | 免费观看性生活大片3 | 国产伦精品一区二区三区… | 高清视频一区 | 亚洲 欧美 另类人妖 | 日韩精品一区二区三区水蜜桃 | 丁香九月激情综合 | 亚洲成色777777在线观看影院 | 久久字幕 | 成人久久影院 | 国产精品美女久久久 | 中文字幕2021 | 在线免费黄色av | 色婷婷播放| 香蕉免费在线 | 久久一及片 | 激情开心网站 | 日韩v欧美v日本v亚洲v国产v | 97免费| 久久免费播放视频 | 97在线视频免费看 | 激情久久五月 | 日韩精品三区四区 | 国产精品日韩高清 | 欧美乱大交 | 91免费网址| 99精品国产兔费观看久久99 | 激情五月网站 | 久草国产在线观看 | 国产精品一区二区白浆 | 国产精品麻豆果冻传媒在线播放 | 一区二区三区四区五区在线视频 | 黄色小网站免费看 | 久久99热久久99精品 | 午夜精品久久久久久中宇69 | 999亚洲国产996395 | 美女免费电影 | 日韩久久久 | 亚洲91网站 | 免费黄色在线网址 | 在线中文字幕av观看 | 亚洲黄网址 | 国产污视频在线观看 | 精品视频区 | 亚洲精品一区二区网址 | 中文字幕第 | 一级电影免费在线观看 | 91av免费看 | 丁香六月激情婷婷 | 久久少妇免费视频 | 国产99久久 | 在线成人欧美 | 91九色视频导航 | 免费观看一级特黄欧美大片 | 国产高清视频在线播放 | 色97在线 | 精品一区二区三区久久久 | 日韩一级理论片 | 亚洲成人二区 | 国产色一区 | 国产在线中文字幕 | 天天综合入口 | 精品亚洲在线 | 中文字幕在线观看你懂的 | 精品亚洲免a | 国产精品系列在线 | www.久久精品视频 | 韩日视频在线 | 久久久久一区二区三区 | 国产一区二区免费 | 在线久热| 欧美天天干| 色综合久久网 | 中文成人字幕 | 亚洲在线免费视频 | 欧美一级性生活视频 | 波多野结衣理论片 | 久久视频免费看 | 97精品国产手机 | 日韩欧美有码在线 | 91精品视频免费在线观看 | 激情视频免费观看 | 一本大道久久精品懂色aⅴ 五月婷社区 | 久久婷亚洲五月一区天天躁 | 亚洲精品视频在线观看网站 | 国产精品成久久久久三级 | 精品在线视频一区二区三区 | 久久免费观看少妇a级毛片 久久久久成人免费 | 国产不卡在线播放 | 肉色欧美久久久久久久免费看 | 天天干天天操av | 亚洲精品在线免费 | 久久狠狠婷婷 | 国产麻豆精品一区 | 97狠狠干 | 波多野结衣在线播放视频 | 欧美最新大片在线看 | 日韩av一区在线观看 | 国产精品麻豆欧美日韩ww | 久久99国产精品免费 | 国产精品视频地址 | 天天操偷偷干 | 久久全国免费视频 | 日韩精品久久一区二区三区 | 欧美精品网站 | 成人av在线影院 | 草久热| 美女久久久久久久 | 久久高清免费视频 | 国产精品日韩久久久久 | 国产精品欧美日韩 | 日韩欧美在线第一页 | 日本在线精品视频 | 日韩和的一区二在线 | 色在线观看网站 | 久久国产精品偷 | 久久免费视频在线观看30 | 久久久久久久精 | 播五月综合 | 国产福利中文字幕 | 久久精品电影院 | 欧美日韩国产色综合一二三四 | 婷婷激情综合网 | 人人爱天天操 | 亚洲精品网页 | 亚洲天天做 | 精品亚洲免a | 国产成人三级在线播放 | 欧美日韩精品电影 | 中文字幕在线视频一区 | 色就色,综合激情 | 成年人app网址 | 精品久久久久久国产 | 国产免费黄视频在线观看 | 一区二区三区在线看 | 欧美日韩国产免费视频 | 天天干天天射天天插 | 91丨九色丨丝袜 | 中文字幕美女免费在线 | 久草久热 | 欧美网站黄色 | 伊人婷婷综合 | wwwwwww色| 亚洲精品影视在线观看 | 欧美日韩国产高清视频 | 丁香六月久久综合狠狠色 | 精品在线亚洲视频 | 成人午夜黄色影院 | 亚洲国产午夜视频 | 九九久久久久久久久激情 | 日韩黄色中文字幕 | 精品免费一区 | 97色se| 蜜臀av.com | 天天做天天爽 | 欧美日韩精品区 | 亚洲欧洲精品一区二区 | 激情综合色播五月 | 亚洲首页 | 日韩理论片 | 国产成人av在线 | 五月婷婷在线观看 | 久久国产精品久久精品 | 日韩在线视频精品 | 亚洲乱码精品久久久久 | 91精品夜夜 | 亚洲人视频在线 | 亚洲欧美视频在线观看 | 2024国产在线 | 日韩av男人的天堂 | 亚洲乱亚洲乱亚洲 | 国产一区二区精品在线 | 在线小视频国产 | 亚洲2019精品 | 夜夜操网站 | 西西4444www大胆艺术 | 特级黄色片免费看 | 免费看精品久久片 | 日韩欧美精品一区二区三区经典 | 91中文字幕在线观看 | 国产成人精品亚洲a | 国内精品久久久久影院男同志 | 久久综合网色—综合色88 | 国产精品免费人成网站 | 天海翼一区二区三区免费 | 国产69精品久久久久99尤 | www免费网站在线观看 | 久久人网 | 成人免费一区二区三区在线观看 | 免费看片成人 | 欧美在线一二 | 96看片 | 亚洲成av | 久草在线观 | 美女久久久久久 | 中文av在线天堂 | 久久99精品国产99久久 | 精品国产免费观看 | 国产精品乱码在线 | 91探花系列在线播放 | 国产亚洲精品久久网站 | 最近中文字幕mv | 中文网丁香综合网 | 国产精品毛片久久久久久久久久99999999 | 国产在线观看高清视频 | 国产精品淫 | 亚洲不卡av一区二区三区 | 国产粉嫩在线 | 欧美色综合天天久久综合精品 | 久久精品成人欧美大片古装 | 国产不卡精品 | 精品久久一 | 美女黄网站视频免费 | 丁香在线视频 | 日韩二区三区在线 | 综合色站导航 | 五月天激情视频在线观看 | 麻豆精品传媒视频 | 国产高清绿奴videos | 伊人影院av| 久久综合影音 | 日韩精品不卡在线观看 | 亚洲成人高清在线 | 手机在线看永久av片免费 | 波多野结衣视频一区 | 成人av影院在线观看 | 国产不卡高清 | 久久久久99精品成人片三人毛片 | 亚洲精品视频免费观看 | 在线看成人 | 亚洲精品婷婷 | 亚洲在线网址 | 亚洲国产欧美一区二区三区丁香婷 | 天天草综合 | 一区二区三区四区精品 | 最新婷婷色 | 毛片视频电影 | 毛片二区 | 欧美 日韩 成人 | 在线看黄色av | av中文字幕免费在线观看 | 美女视频又黄又免费 | 精品久久久久久久久久久久久 | 99 久久久久 | 精品伦理一区二区三区 | 日韩av福利在线 | 蜜桃麻豆www久久囤产精品 | 天无日天天操天天干 | 亚洲作爱视频 | 亚洲精品在线资源 | 江苏妇搡bbbb搡bbbb | 日本中文字幕观看 | 999国产 | 国产亚洲精品日韩在线tv黄 | 久久精品专区 | 91久久国产露脸精品国产闺蜜 | 激情丁香5月 | 国产精品久久久久久久av大片 | 丰满少妇在线观看资源站 | 福利视频第一页 | 国产成人av一区二区三区在线观看 | 三上悠亚一区二区在线观看 | 日韩精品在线一区 | 亚洲精品国精品久久99热一 | 免费亚洲黄色 | 国产啊v在线| 97超碰在线久草超碰在线观看 | 中文字幕在线播放一区二区 |