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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

Windows下搭建Tomcat集群的配置详解

發(fā)布時(shí)間:2024/3/26 windows 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Windows下搭建Tomcat集群的配置详解 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.



《 Windows下搭建Tomcat集群基礎(chǔ)入門詳解?》




前言
在搭建 《 Apache + Tomcat 實(shí)現(xiàn)Web服務(wù)器集群 》 前我們還需要實(shí)現(xiàn) Tomcat集群實(shí)現(xiàn)Session復(fù)制 ,這樣用戶只需要登錄一次即可,就不用每次請(qǐng)求都需要登錄了,這兒使用的是兩個(gè) Tomcat 節(jié)點(diǎn)實(shí)現(xiàn)集群及節(jié)點(diǎn)間 Session 的復(fù)制。


首先我們需要找到 Tomcat 的配置文件 “ server.xml ?” ,在其中找到 <Engine> 節(jié)點(diǎn),在該節(jié)點(diǎn)下添加一個(gè) <Cluster className =“org.apache.catalina.ha.tcp.SimpleTcpCluster”/> 節(jié)點(diǎn),


關(guān)于 Tomcat 集群的默認(rèn)配置如下:


<!-- Cluster-(集群) 節(jié)點(diǎn),在配置 Tomcat 集群時(shí),必須添加此節(jié)點(diǎn)用以啟動(dòng) 集群 --> <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8"><!-- Manager-節(jié)點(diǎn)決定如何管理集群的 Session 信息 --><Manager className="org.apache.catalina.ha.session.DeltaManager"expireSessionsOnShutdown="false"notifyListenersOnReplication="true"/><!-- Channel-是 Tomcat 節(jié)點(diǎn)之間進(jìn)行通訊的工具 --><!-- Channel 共包括5個(gè)組件:Membership、Receiver、Sender、Transport、Interceptor --><Channel className="org.apache.catalina.tribes.group.GroupChannel"><!-- Membership-用于維護(hù)集群中可用的節(jié)點(diǎn)列表 --><Membership className="org.apache.catalina.tribes.membership.McastService"address="228.0.0.4"port="45564"frequency="500"dropTime="3000"/><!-- Receiver-接收器,負(fù)責(zé)接收消息 --><!-- 兩種接收器: BioReceiver(阻塞式)、NioReceiver(非阻塞式) --><Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"address="auto"port="4000"autoBind="100"selectorTimeout="5000"maxThreads="6"/><!-- Sender-發(fā)送器,使用 Sender 中內(nèi)嵌的 Transport 組件實(shí)現(xiàn)消息的返送 --><Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter"><!-- 消息發(fā)送也分為兩種:bio.PooledMultiSender(阻塞式)、nio.PooledParallelSender(非阻塞式) --><Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/></Sender><!-- Interceptor-Cluster的攔截器,當(dāng)攔截到某個(gè)節(jié)點(diǎn)的關(guān)閉信息時(shí),自身節(jié)點(diǎn)會(huì)通過 TCP 方式連接到此(異常節(jié)點(diǎn))節(jié)點(diǎn),確保此節(jié)點(diǎn)真正關(guān)閉,從而更新集群的中可用節(jié)點(diǎn)列表--><Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/><!-- Interceptor-Cluster的攔截器,MessageDispatch15Interceptor 會(huì)先將等待發(fā)送的消息進(jìn)行排隊(duì),然后將排好隊(duì)的消息轉(zhuǎn)給 Sender ,再由 Sender 進(jìn)行消息的發(fā)送 --><Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/></Channel><!-- ReplicationValve-在處理請(qǐng)求前后打日志 --><Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/><!-- JvmRouteBinderValve-當(dāng) Apache 的 mod_jk 發(fā)生錯(cuò)誤時(shí),確保同一客戶端的請(qǐng)求發(fā)送到集群的同一個(gè)節(jié)點(diǎn) --><Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/><!-- Deployer-確保所有 Tomcat 集群中所有節(jié)點(diǎn)的一致性 --><Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"tempDir="/tmp/war-temp/"deployDir="/tmp/war-deploy/"watchDir="/tmp/war-listen/"watchEnabled="false"/><!-- ClusterListener-監(jiān)聽器,監(jiān)聽 Cluster 組件接收的消息,如果在集群中配置了 DeltaManager ,則 ClusterSessionListener 會(huì)將攔截到的消息床底給 DeltaManager --><ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/> </Cluster>



配置簡(jiǎn)述:
1、組播地址為 228.0.0.4 。
2、組播端口為 45564(端口和地址共同決定了集群成員 status)。
3、廣播的 IP 是 java.net.InetAddress.getLocalHost().getHostAddress()(請(qǐng)確保沒有廣播127.0.0.1,這是一個(gè)常見錯(cuò)誤,如果廣播為 127.0.0.1,集群會(huì)創(chuàng)建失敗喲!)。
4、該 TCP 端口監(jiān)聽復(fù)制消息是在第一個(gè)可用的 socket 服務(wù)器 4000-4100 范圍中。
5、兩個(gè)偵聽配置 ClusterSessionListener 和 JvmRouteSessionIDBinderListener ,在這兒我只使用了 ClusterSessionListener 即可。
6、兩個(gè)攔截器配置為 TcpFailureDetector 和 MessageDispatch15Interceptor。


注意事項(xiàng):
使用上述配置將使用 DeltaManager 復(fù)制 DeltaSession 來啟用 Tomcat 節(jié)點(diǎn)間全部會(huì)話的復(fù)制。也就是將會(huì)話復(fù)制到集群中的所有其他 Tomcat 節(jié)點(diǎn)。
關(guān)于這個(gè) Tomcat 集群配置只使用于較小的群集非常適用,但我們不建議將它用于較大的群集(多個(gè) Tomcat 節(jié)點(diǎn))。
另外,在使用 DeltaManager 時(shí),它將復(fù)制到所有節(jié)點(diǎn),只要在集群的 Tomcat 節(jié)點(diǎn)中配置了集群即使沒有部署應(yīng)用程序的節(jié)點(diǎn)也是復(fù)制/廣播到該節(jié)點(diǎn)。
為了解決這個(gè)問題,需要使用備份管理器。此管理器僅將會(huì)話數(shù)據(jù)復(fù)制到一個(gè)備份節(jié)點(diǎn),并且僅復(fù)制到已部署應(yīng)用程序的節(jié)點(diǎn)。使用備份管理器的缺點(diǎn):和 DeltaManager 的測(cè)試不一樣。?



實(shí)現(xiàn) Tomcat 集群需要滿足基本要求
1、所有的會(huì)話屬性都必須實(shí)現(xiàn) java.io.Serializable 接口。
2、取消 server.xml中 Cluster 元素注釋。
3、如果在集群中自定了 Valve,則請(qǐng)確保該在 server.xml 中定義了 ReplicationValve 元素。
4、如果一個(gè)集群中所有的 Tomcat 實(shí)例在同一臺(tái)服務(wù)器上運(yùn)行,??請(qǐng)確保 server.xml 中 TcpListenPort 屬性對(duì)于每個(gè)實(shí)例都是唯一的,但是在大多數(shù)情況下,Tomcat 可通過自動(dòng)檢測(cè) 4000-4100 范圍內(nèi)的可用端口來解決此問題。
5、必須確保在應(yīng)用程序 web.xml 配置文件中存在 <distributable/> 元素。
6、如果您使用的是 mod_jk 連接器,請(qǐng)確保在引擎中設(shè)置了 jvmRoute 屬性 ( <Engine name="Catalina" jvmRoute="node01" > ),并且 jvmRoute 屬性值與 workers.properties 中所配置 workers 的名稱相同。
7、確保所有節(jié)點(diǎn)具有相同的時(shí)間(如果時(shí)間不一致,這兒有個(gè)代名詞叫時(shí)間戳問題)并與NTP服務(wù)同步。
8、確保您的負(fù)載均衡器配置為具有粘性的會(huì)話模式。




在 Tomcat 中啟用會(huì)話復(fù)制,三種方法實(shí)現(xiàn)會(huì)話相同
1、使用會(huì)話持久性,并將會(huì)話保存到共享文件系統(tǒng)(PersistenceManager + FileStore)
2、使用會(huì)話持久性,并將會(huì)話保存到共享數(shù)據(jù)庫(PersistenceManager + JDBCStore)
3、使用內(nèi)存復(fù)制,使用 Tomcat 附帶的 SimpleTcpCluster(lib / catalina-tribes.jar + lib / catalina-ha.jar)




集群描述
Membership 是使用組播心跳建立的。因此,如果希望細(xì)分 Tomcat 群集,可以通過修改 <Membership> 元素中的多播IP地址或端口來實(shí)現(xiàn)。
心跳包含 Tomcat節(jié)點(diǎn)的IP地址和 Tomcat 監(jiān)聽復(fù)制流量的 TCP 端口。所有數(shù)據(jù)通信都通過 TCP 進(jìn)行的。
ReplicationValve 主要被用來找出當(dāng)請(qǐng)求已經(jīng)完成并開始復(fù)制的會(huì)話,如果有,則只有在會(huì)話發(fā)生改變時(shí)才會(huì)復(fù)制 session 數(shù)據(jù)(主要通過在會(huì)話上調(diào)用 setAttribute 或 removeAttribute 實(shí)現(xiàn))。
關(guān)于 Tomcat 中 session 數(shù)據(jù)復(fù)制分為同步復(fù)制和異步復(fù)制,這個(gè)會(huì)直接影響集群性能。
在同步復(fù)制模式下,請(qǐng)求不會(huì)返回,直到復(fù)制的會(huì)話通過線路發(fā)送并重新實(shí)例化所有其他群集節(jié)點(diǎn)。
同步與異步配置使用該 channelSendOptions 標(biāo)志并且是一個(gè)整數(shù)值。SimpleTcpCluster/DeltaManager 組合的默認(rèn)值是 “ 8 ”,這個(gè)是異步的。
為了更加方便,channelSendOptions 還可以通過別名來設(shè)置,然后在啟動(dòng)時(shí)將其轉(zhuǎn)換為整數(shù)值。
別名包括:“異步”(別名為“async”),“byte_message”(別名為“字節(jié)”),“多播”,“安全”,“synchronized_ack”(別名為“同步”),“udp” ”。
使用逗號(hào)分隔多個(gè)名稱,例如通過選項(xiàng)的“異步,多播” SEND_OPTIONS_ASYNCHRONOUS | SEND_OPTIONS_MULTICAST。




將崩潰后的會(huì)話綁定到故障轉(zhuǎn)移節(jié)點(diǎn)
如果在集群中使用的是 mod_jk 而不是使用 “ 粘性會(huì)話 ”,或者由于某些原因,粘性會(huì)話不起作用,或者您只是簡(jiǎn)單地進(jìn)行故障轉(zhuǎn)移,則需要修改會(huì)話標(biāo)識(shí)即可,因?yàn)樗鞍弦粋€(gè) Tomcat 的 ?worker ?標(biāo)識(shí)(由 jvmRoute 在 <Engine/> 元素中定義)。
為了解決故障轉(zhuǎn)移的問題,需要使用 JvmRouteBinderValve。


使用 JvmRouteBinderValve 重會(huì)話 ID 以確保在故障切換后下一個(gè)請(qǐng)求將保持粘滯狀態(tài)(并且不會(huì)退回到隨機(jī)節(jié)點(diǎn),因?yàn)樵?worker 不再可用)。Valve 重寫同名的 cookie 中的 JSESSIONID 值。如果沒有這個(gè) Valve,在 mod_jk 模塊發(fā)生故障時(shí)將難以確保粘性。


注意:
需要注意的是如果要在 server.xml 中添加自己的 Valve,那么缺省的值不再有效,請(qǐng)確保添加默認(rèn)定義的所有適當(dāng)?shù)?Valve。


提示:
通過屬性 sessionIdAttribute,可以更改包含舊會(huì)話標(biāo)識(shí)的請(qǐng)求屬性名稱。
默認(rèn)屬性名稱是 org.apache.catalina.ha.session.JvmRouteOrignalSessionID。


技巧:
在將節(jié)點(diǎn)終止時(shí),您可以通過 JMX 啟用 mod_jk 轉(zhuǎn)換模式!在所有 JvmRouteBinderValve 備份上設(shè)置為 true,在 mod_jk 上禁用 worker,然后終止該節(jié)點(diǎn)并重新啟動(dòng)它!然后啟用 mod_jk Worker 并再次禁用 JvmRouteBinderValves。這個(gè)用例意味著只有被請(qǐng)求的會(huì)話被遷移。


配置實(shí)例


<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"channelSendOptions="6"><Manager className="org.apache.catalina.ha.session.BackupManager"expireSessionsOnShutdown="false"notifyListenersOnReplication="true"mapSendOptions="6"/><!--<Manager className="org.apache.catalina.ha.session.DeltaManager"expireSessionsOnShutdown="false"notifyListenersOnReplication="true"/>--><Channel className="org.apache.catalina.tribes.group.GroupChannel"><Membership className="org.apache.catalina.tribes.membership.McastService"address="228.0.0.4"port="45564"frequency="500"dropTime="3000"/><Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"address="auto"port="5000"selectorTimeout="100"maxThreads="6"/><Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter"><Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/></Sender><Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/><Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor"/><Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/></Channel><Valve className="org.apache.catalina.ha.tcp.ReplicationValve"filter=".*\.gif|.*\.js|.*\.jpeg|.*\.jpg|.*\.png|.*\.htm|.*\.html|.*\.css|.*\.txt"/><Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"tempDir="/tmp/war-temp/"deployDir="/tmp/war-deploy/"watchDir="/tmp/war-listen/"watchEnabled="false"/><ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/> </Cluster>



將其進(jìn)行分解:


主元素:

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"channelSendOptions="6">

在這個(gè)元素中所有的集群細(xì)節(jié)都可以配置。其中 channelSendOptions 是連接到 SimpleTcpCluster 類或調(diào)用 SimpleTcpCluster 的任何對(duì)象所發(fā)送的每個(gè)消息的標(biāo)志。
在 java 文檔中可以查看到發(fā)送標(biāo)志的具體描述,DeltaManager 使用 SimpleTcpCluster 發(fā)送信息。而備份管理器則直接通過通道發(fā)送消息。


管理器配置模板:
<Manager className="org.apache.catalina.ha.session.BackupManager"expireSessionsOnShutdown="false"notifyListenersOnReplication="true"mapSendOptions="6"/> <!-- <Manager className="org.apache.catalina.ha.session.DeltaManager"expireSessionsOnShutdown="false"notifyListenersOnReplication="true"/> -->


如果 <Context/> 元素中沒有定義管理器,將使用該管理器模板。在 Tomcat 5.x 中,每個(gè) webapp 的標(biāo)記分布必須使用相同的管理器,因?yàn)樵?Tomcat 中可以為每個(gè) webapp 定義一個(gè)管理器類,
所以可以在一個(gè)集群中使用混合管理器。很顯然,一個(gè)節(jié)點(diǎn)上的應(yīng)用程序的管理器與另一個(gè)節(jié)點(diǎn)上的同一個(gè)應(yīng)用程序的的管理器相對(duì)應(yīng)。
如果沒有為 webapp 指定管理器,并且 webapp 被標(biāo)記為 <distributable /> Tomcat將采用此管理器配置并創(chuàng)建克隆此配置的管理器實(shí)例。?


通信:

<Channel className="org.apache.catalina.tribes.group.GroupChannel">



在 Tomcat 中使用的組通信框架。該元素封裝了與通信和成員邏輯相關(guān)的所有內(nèi)容。


節(jié)點(diǎn)間的組播:

<Membership className="org.apache.catalina.tribes.membership.McastService"address="228.0.0.4"port="45564"frequency="500"dropTime="3000"/>


集群中節(jié)點(diǎn)通過多播的方式完成的。在節(jié)點(diǎn)中還支持靜態(tài)成員使用 StaticMembershipInterceptor,如果想延長(zhǎng)加入的節(jié)點(diǎn)超出多播,
那么必須地址屬性是使用的組播地址,端口是組播端口。這兩者一起創(chuàng)建集群分離。如果想要保證群集和生產(chǎn)群集的高性能,最簡(jiǎn)單的配置是使群集位于與生產(chǎn)群集不同的多播地址/端口組合之上。
成員組通過廣播其自身的 TCP地址/端口 到其他節(jié)點(diǎn),以便節(jié)點(diǎn)之間的通信可以通過TCP完成。




消息接收:
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"address="auto"port="5000"selectorTimeout="100"maxThreads="6"/>


在一個(gè)節(jié)點(diǎn)中,發(fā)送和接收數(shù)據(jù)的邏輯已被分解為兩個(gè)功能組件。

該 Receiver 顧名思義就是負(fù)責(zé)接消息的接收。由于節(jié)點(diǎn)的堆棧線程少(其他框架也采用了一種流行的改進(jìn)方法),此組件中只有一個(gè)線程池,它具有 maxThreads 和 minThreads 設(shè)置。
其中 address 屬性是由成員組件向其他節(jié)點(diǎn)廣播的主機(jī)地址。


消息發(fā)送:

<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter"><Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/> </Sender>

該 Sender 顧名思義就是負(fù)責(zé)接消息的發(fā)送,Sender 有一個(gè)shell組件ReplicationTransmitter,但是在子組件 Transport 中完成工作的。一個(gè)節(jié)點(diǎn)中支持 Sender pool,以便消息的并行發(fā)送,使用 NioSender ,也可以實(shí)現(xiàn)消息的濱興發(fā)送。
同時(shí):同時(shí)向多個(gè) Sender 發(fā)送一條消息。
并行:并行向多個(gè) Sender 同時(shí)發(fā)送多條消息。


攔截器:

<Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/> <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor"/> <Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/>


在節(jié)點(diǎn)中使用堆棧進(jìn)行消息的發(fā)送。在堆棧中的每個(gè)元素都稱為攔截器,其工作方式與 Tomcat servlet 容器中的 Valve 非常相似。
使用攔截器后,其業(yè)務(wù)邏輯可以分解為更易于管理的代碼片斷。常用的三種攔截器:
1、TcpFailureDetector - 通過 TCP 驗(yàn)證集群中的節(jié)點(diǎn)是否掛掉,如果組播中的數(shù)據(jù)包被丟棄,這個(gè)攔截器作用是防止被誤報(bào)(即使該節(jié)點(diǎn)仍然活著并且正在運(yùn)行,但是被誤標(biāo)記為崩潰的節(jié)點(diǎn))。
2、MessageDispatchInterceptor - 將消息分派給線程(thread pool)以便異步消息發(fā)送。
3、ThroughputInterceptor - 輸出簡(jiǎn)單消息流量統(tǒng)計(jì)信息。
注意:攔截器的順序很重要。在 server.xml 中是以堆棧表示的方式。把它們想象成一個(gè)鏈表的形式,頭部是第一個(gè)攔截器,尾部是最后一個(gè)。


集群請(qǐng)求跟蹤:
<Valve className="org.apache.catalina.ha.tcp.ReplicationValve"filter=".*\.gif|.*\.js|.*\.jpeg|.*\.jpg|.*\.png|.*\.htm|.*\.html|.*\.css|.*\.txt"/>


在集群中配置 Valve 來跟蹤對(duì) Web 應(yīng)用程序的請(qǐng)求,在上面已經(jīng)提到了 ReplicationValve 和 JvmRouteBinderValve。
<Cluster> 元素本身不是 Tomcat 中管道的一部分,而是集群將 Valve 添加到其父容器。如果在 <Engine> 元素中配置了 <Cluster> 元素,則需要將 Valve 添加到 Engine 下。?


支持遠(yuǎn)程部署:
<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"tempDir="/tmp/war-temp/"deployDir="/tmp/war-deploy/"watchDir="/tmp/war-listen/"watchEnabled="false"/>


Tomcat集群默認(rèn)支持遠(yuǎn)程部署,即可以在其他集群節(jié)點(diǎn)上部署和取消部署應(yīng)用程序。
這個(gè)組件的狀態(tài)處于不斷變化之中,但很快就解決了。Tomcat 5.0 和 5.5 之間的部署方法發(fā)生了變化,此時(shí)該組件的邏輯已更改為部署目錄必須與 webapps 目錄匹配的位置。?


監(jiān)聽器:

<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>


由于 SimpleTcpCluster 本身是 Channel 對(duì)象的“ 發(fā)送者 ” 和 “ 接收者 ”,因此組件可以將自己注冊(cè)為 SimpleTcpCluster 的監(jiān)聽器。

上面的 ClusterSessionListener 監(jiān)聽器監(jiān)聽 DeltaManager 復(fù)制消息,并將 Delta 應(yīng)用于 Manager,然后將其應(yīng)用于 Session。



理解 Tomcat 集群如何運(yùn)行的
為了便于理解群集如何工作的,這兒使用兩個(gè) Tomcat 實(shí)例 ,即 TomcatA 和 TomcatB 。操作內(nèi)容如下:
1、TomcatA 啟動(dòng)
2、TomcatB 啟動(dòng)(等待 TomcatA 啟動(dòng)完成)
3、TomcatA 收到一個(gè)請(qǐng)求,會(huì)話 S1 被創(chuàng)建
4、TomcatA 崩潰
5、TomcatB 收到會(huì)話請(qǐng)求 S1
6、TomcatA 啟動(dòng)
7、TomcatA 接收到一個(gè)請(qǐng)求,在會(huì)話(S1)上調(diào)用 invalidate
8、TomcatB 接收請(qǐng)求,進(jìn)行新會(huì)話(S2)
9、TomcatA 會(huì)話 S2 由于不活動(dòng)而過期(這兒就需要重新登錄了)


有了一個(gè)大致的提綱后,下面我們進(jìn)行詳細(xì)的介紹:


1、TomcatA 啟動(dòng)
Tomcat 使用標(biāo)準(zhǔn)啟動(dòng)序列啟動(dòng)。當(dāng)創(chuàng)建 Host 對(duì)象時(shí),將與它關(guān)聯(lián)一個(gè)集群對(duì)象。在解析上下文時(shí),如果 web.xml 中定義了 distributable 元素,Tomcat 會(huì)詢問 Cluster 類(在本例中 SimpleTcpCluster )為復(fù)制的 <Context/> 中創(chuàng)建 Manager。
因此,啟用集群后,可以在 web.xml 中設(shè)置可分發(fā)的數(shù)據(jù)集, Tomcat 將為該 <Context/> 創(chuàng)建一個(gè)DeltaManager,而不是一個(gè) StandardManager。群集還將啟動(dòng) Membership ?服務(wù)(多播)和 Replication 服務(wù)(tcp單播)。




2、TomcatB 啟動(dòng)
當(dāng) TomcatB 啟動(dòng)時(shí),它遵循與TomcatA相同的序列。該集群已啟動(dòng)并將建立 membership(TomcatA,TomcatB)。
TomcatB 現(xiàn)在將從群集中已存在的服務(wù)器(在本例中 為TomcatA )請(qǐng)求會(huì)話狀態(tài)。TomcatA 響應(yīng)請(qǐng)求,并且在 TomcatB 開始監(jiān)聽 HTTP 請(qǐng)求之前,status 已從 TomcatA 轉(zhuǎn)移到 TomcatB。
如果 TomcatA 沒有響應(yīng),TomcatB 將在60秒后超時(shí),并發(fā)出日志通知。每個(gè) web 應(yīng)用程序的會(huì)話狀態(tài)都被轉(zhuǎn)移到它的 web.xml 中。
注意:為了使會(huì)話有效的復(fù)制,所有的 Tomcat實(shí)例都應(yīng)該配置相同。


3、TomcatA 收到一個(gè)請(qǐng)求,會(huì)話 S1 被創(chuàng)建
對(duì) TomcatA 的請(qǐng)求與沒有會(huì)話復(fù)制的處理方式完全相同。當(dāng)請(qǐng)求完成時(shí),ReplicationValve 會(huì)在將響應(yīng)返回給用戶之前攔截請(qǐng)求。
此時(shí) TomcatA 發(fā)現(xiàn)會(huì)話已被修改,并且它使用 TCP 將會(huì)話復(fù)制到 TomcatB。一旦序列化的數(shù)據(jù)被傳遞到 TCP 邏輯,請(qǐng)求就會(huì)通過 Valve 管道返回給用戶。
對(duì)于每個(gè)請(qǐng)求,整個(gè)會(huì)話都被復(fù)制,這允許在會(huì)話中修改屬性的代碼,而不需要復(fù)制 setAttribute 或 removeAttribute。可以使用 useDirtyFlag 配置參數(shù)來優(yōu)化會(huì)話復(fù)制的次數(shù)。


4、TomcatA 崩潰
當(dāng)TomcatA崩潰時(shí),TomcatB 收到一個(gè)通知,TomcatA 已經(jīng)退出集群。TomcatB 從其成員列表中刪除 TomcatA,TomcatA 將不再收到 TomcatB 發(fā)生的任何更改通知。
負(fù)載均衡器會(huì)將來自 TomcatA 的請(qǐng)求重定向到 TomcatB,并且所有會(huì)話都是最新的。


5、TomcatB 收到會(huì)話請(qǐng)求 S1
TomcatB 將處理請(qǐng)求作為任何其他請(qǐng)求。


6、TomcatA 啟動(dòng)
在 TomcatA 啟動(dòng)之后,在 TomcatA 開始接受新請(qǐng)求并使其可用之前,將遵循上述1)2)所述的啟動(dòng)順序。
TomcatA 將加入集群,并與 TomcatB 聯(lián)系以獲取當(dāng)前所有會(huì)話的狀態(tài)。一旦它收到會(huì)話狀態(tài),它就完成加載并打開它的HTTP / mod_jk端口。
因此,在 TomcatB 接收到會(huì)話狀態(tài)之前,沒有任何請(qǐng)求會(huì)到達(dá) TomcatA。


7、TomcatA 接收到一個(gè)請(qǐng)求,在會(huì)話(S1)上調(diào)用 invalidate
無效的調(diào)用被攔截,并且會(huì)話在無效會(huì)話中排隊(duì)。當(dāng)請(qǐng)求完成時(shí),不再發(fā)送已更改的會(huì)話,而是向 TomcatB 發(fā)送一條 “ 過期 ” 的消息,并且 TomcatB 也會(huì)使該會(huì)話失效。


8、TomcatB 接收請(qǐng)求,進(jìn)行新會(huì)話(S2)
與步驟3中相同的場(chǎng)景)


9、TomcatA會(huì)話S2由于不活動(dòng)而過期
無效的調(diào)用被攔截,就像用戶會(huì)話無效時(shí)一樣,會(huì)話被無效會(huì)話排隊(duì)。此時(shí),無效會(huì)話將不會(huì)被復(fù)制,直到另一個(gè)請(qǐng)求通過系統(tǒng)并檢查無效隊(duì)列為止。


Membership : 群集 Membership 使用非常簡(jiǎn)單的組播 ping 建立。每個(gè) Tomcat 實(shí)例將定期發(fā)送一個(gè)多播 ping,在 ping 消息中,實(shí)例將廣泛地將其 IP 和 TCP 監(jiān)聽端口進(jìn)行復(fù)制。
如果在集群中一個(gè)實(shí)例在給定的時(shí)間范圍內(nèi)沒有收到這樣的 ping,則該成員被認(rèn)為是死的。非常簡(jiǎn)單,而且非常有效!當(dāng)然,只需要在系統(tǒng)上啟用多播。


TCP Replication : 一旦接收到組播 ping,member 就會(huì)被添加到集群。
在下一個(gè)請(qǐng)求時(shí)復(fù)制,發(fā)送實(shí)例將使用 Host 和 Port 信息并建立一個(gè)TCP Socket。使用這個(gè) Socket,它將發(fā)送序列化后的數(shù)據(jù)。


分布式鎖定和使用框架頁面 : Tomcat 不會(huì)保持會(huì)話實(shí)例在群集中同步。這種邏輯的實(shí)現(xiàn)會(huì)花費(fèi)很多開銷并導(dǎo)致各種問題。
如果在客戶端使用多個(gè)請(qǐng)求同時(shí)訪問同一會(huì)話,則最后一個(gè)請(qǐng)求將覆蓋集群中的其他會(huì)話。






















Apache Tomcat 官網(wǎng): https://tomcat.apache.org/tomcat-9.0-doc/cluster-howto.html

總結(jié)

以上是生活随笔為你收集整理的Windows下搭建Tomcat集群的配置详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

国产中文在线观看 | 精品一区二区三区在线播放 | 98精品国产自产在线观看 | 91精品国产自产在线观看 | japanesexxxhd奶水 国产一区二区在线免费观看 | 毛片精品免费在线观看 | 美女精品在线 | 91精品国产99久久久久久久 | 狠狠网 | 搡bbbb搡bbb视频 | 激情在线网 | 久久视频在线 | 91av在线精品 | 日韩精品一区在线播放 | 美女在线黄| 中文字幕视频网站 | 亚洲激情一区二区三区 | av免费在线网站 | 97在线观看免费高清完整版在线观看 | 五月婷婷视频在线 | 久久久五月天 | 国产午夜精品一区二区三区欧美 | 狠狠色伊人亚洲综合网站野外 | 国产精品久久久久久久久久久久午夜 | 99re久久精品国产 | av片免费播放 | avhd高清在线谜片 | 黄色网大全 | 91热爆在线观看 | 九草视频在线 | 黄网站免费大全入口 | 91精品少妇偷拍99 | 免费亚洲黄色 | 日韩精品1区2区 | 高潮毛片无遮挡高清免费 | 国产不卡免费视频 | 园产精品久久久久久久7电影 | 日韩免费网址 | 欧美日韩视频在线一区 | 日韩大片在线免费观看 | 一区精品久久 | 精品福利视频在线 | 一区二区三区高清不卡 | www.久久久com| 亚洲精品乱码久久久久久高潮 | 国产精品乱码久久久久久1区2区 | 国产精品一区二区三区视频免费 | 国产亚洲综合性久久久影院 | 热99在线 | 色com网 | 精品免费在线视频 | 久久精品日产第一区二区三区乱码 | 精品专区一区二区 | 亚洲精品乱码久久久久久蜜桃动漫 | 在线观看av的网站 | 精品国产免费一区二区三区五区 | 色综合人人 | 国产精品一区二区在线观看 | 欧美黄色成人 | 亚洲天堂在线观看完整版 | 国产精品久久亚洲 | av在线com| 五月婷婷视频在线 | 久久爱992xxoo | 中日韩三级视频 | 91在线一区 | 日韩有色| 亚洲日本va午夜在线电影 | 91麻豆免费视频 | 国产精品毛片久久久久久 | 四虎国产精品成人免费4hu | 成在人线av | 婷婷激情综合 | 欧美亚洲一区二区在线 | 日韩精品三区四区 | 国产精品91一区 | 久热电影| 午夜体验区 | 国产精品网址在线观看 | www日韩精品 | 久久女同性恋中文字幕 | 在线视频app | av在线精品 | 中文字字幕在线 | 91精品国产乱码久久桃 | 成人毛片一区 | www.五月婷婷.com | 久久兔费看a级 | 高清免费在线视频 | 国产一级做a爱片久久毛片a | 亚洲天堂网在线视频观看 | 天天天天射| a级黄色片视频 | 人人看人人爱 | 国产超碰在线观看 | 国产99久久久国产精品成人免费 | 在线亚洲欧美视频 | 久久精品综合网 | 激情狠狠干 | 四虎成人精品永久免费av | 人人玩人人添人人 | 91免费版在线观看 | 精品久久久久久久久久久院品网 | 99日精品 | 日韩一区正在播放 | 天天操天天干天天玩 | 丁香久久激情 | 中文 一区二区 | 中文字幕日韩一区二区三区不卡 | 麻豆国产电影 | 精品久久久国产 | 婷婷丁香狠狠爱 | 中文字幕高清免费日韩视频在线 | 国产黄色免费 | 亚洲精品白浆高清久久久久久 | 国产精品色在线 | 成人毛片一区二区三区 | 日韩高清www | 麻豆国产视频 | 国产精品黑丝在线观看 | 久草精品免费 | 韩国一区二区三区在线观看 | 日韩理论电影在线 | 在线 影视 一区 | 一区二区三区在线免费观看 | 亚洲人在线视频 | 欧美a在线免费观看 | 天天草天天摸 | 中文字幕乱码视频 | 久操视频在线观看 | 天天草天天色 | 久久黄色免费观看 | 三级视频日韩 | 99热这里只有精品在线观看 | 日韩毛片在线一区二区毛片 | 国产亚洲片| 九色视频网站 | 国产啊v在线| 久久久精品久久 | 亚洲欧洲精品一区二区精品久久久 | 国产日韩视频在线观看 | a在线免费| 国产成人av网站 | 国产高清小视频 | 精品国产1区2区3区 国产欧美精品在线观看 | 久久国产精品99久久人人澡 | 国产一级视频在线免费观看 | 成人黄色大片在线免费观看 | 黄色毛片视频免费 | 久久国产免费看 | 91av视频观看| 日本性视频| 中文永久字幕 | 日韩免费一区二区三区 | 精品久久免费看 | 毛片一二区| 日韩在线观看免费 | 欧美日韩视频网站 | 91chinese在线 | 操久 | 少妇bbw搡bbbb搡bbbb | 成人午夜电影在线观看 | 99色免费 | 欧美一区视频 | 欧美精品一区二区在线播放 | 天天操夜夜拍 | 中文字幕乱码日本亚洲一区二区 | 日韩中文字幕在线不卡 | 超碰97中文 | 亚洲手机av | 欧美一级日韩三级 | 99 色| 国产毛片久久久 | 中文字幕中文字幕在线一区 | 国产精品久久久久久久午夜片 | 91精品啪在线观看国产 | 深爱激情av | 成人黄色国产 | 一区二区三区电影在线播 | 午夜免费在线观看 | 久久综合一本 | 亚洲天天看 | 色婷婷在线播放 | 久久综合狠狠综合久久激情 | 日韩免费一区二区 | 久久久久久久久久网站 | av福利超碰网站 | 天天操天天添天天吹 | 国产精品一区二区白浆 | 久久精品视频一 | 亚洲精品永久免费视频 | 中文字幕亚洲精品在线观看 | 夜添久久精品亚洲国产精品 | av一区二区三区在线观看 | 97在线看| 91高清免费看 | 久久草草热国产精品直播 | 黄色天堂在线观看 | 91亚洲精品乱码久久久久久蜜桃 | 国产精品午夜免费福利视频 | 米奇四色影视 | 精品中文字幕视频 | 黄色一级大片在线免费看国产一 | 亚洲第一成网站 | 国产激情电影综合在线看 | 久久一本综合 | 三上悠亚一区二区在线观看 | 亚洲欧美日韩一区二区三区在线观看 | www.五月天婷婷.com | 欧美色图一区 | 欧美一级电影 | 一级成人免费视频 | 免费网站黄色 | 夜夜摸夜夜爽 | 欧美亚洲国产精品久久高清浪潮 | 久久久久免费网 | 中文字幕在线免费97 | 在线色视频小说 | 久草9视频 | 久久8精品 | 午夜在线免费观看 | 一区二区三区www | 欧美久久久久久久 | 亚洲精品女人 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 综合天堂av久久久久久久 | 九色视频自拍 | 国产18精品乱码免费看 | 国产精品久久久网站 | 国产高清在线免费 | 国产综合精品一区二区三区 | 成人在线观看网址 | 精品国产免费av | 久久在线观看 | 500部大龄熟乱视频使用方法 | 日韩.com | 日韩亚洲在线观看 | 欧美91视频 | 久久不卡国产精品一区二区 | 综合色久 | 六月丁香综合网 | 最近日本中文字幕 | 亚洲精品国产视频 | 视频二区在线视频 | 国产精品久久久久久一区二区 | 97视频免费在线观看 | 伊人资源视频在线 | www激情网 | 特级毛片aaa| 久久久资源| 毛片二区 | 韩国一区二区三区视频 | 精品免费| 国产一区麻豆 | 国产精品色婷婷视频 | 国产成人精品在线 | 天堂在线一区二区 | 日韩欧美高清一区二区三区 | 黄色视屏在线免费观看 | 免费看色的网站 | 天天综合精品 | 美女精品 | 国产激情小视频在线观看 | 免费看的黄网站软件 | 综合国产视频 | 狠狠躁日日躁狂躁夜夜躁 | 一区二区三区在线免费观看视频 | 久久国产精品免费 | 免费观看91视频 | 欧美一级片免费在线观看 | 瑞典xxxx性hd极品 | 国产日韩欧美视频 | 中文字幕av在线不卡 | 国产v亚洲v | 精品国产_亚洲人成在线 | 成人黄色片免费看 | 精品国产伦一区二区三区观看方式 | 成人中文字幕在线观看 | 免费在线国产 | 国产露脸91国语对白 | 伊人狠狠 | 黄色a一级片 | 国产精品一区二区久久 | 免费日韩 精品中文字幕视频在线 | 亚洲国产av精品毛片鲁大师 | 亚洲精品乱码久久久久久蜜桃91 | 亚洲天堂在线观看完整版 | 美女视频黄免费 | 国产精品国产毛片 | 国产精品欧美久久久久无广告 | 成年人视频在线观看免费 | 98久久| 国内精品一区二区 | 亚洲国产wwwccc36天堂 | 国产在线成人 | 天天爽天天射 | 亚洲视频999 | 国产亚洲精品无 | 免费高清影视 | 激情网综合 | 欧美一级特黄aaaaaa大片在线观看 | 国产专区第一页 | 韩国一区二区三区视频 | 97超碰中文字幕 | 蜜臀av一区| 亚洲第一香蕉视频 | 国产视频在线观看一区 | 日韩欧美一二三 | 成人h在线观看 | se视频网址 | 超碰97中文 | 91一区二区三区久久久久国产乱 | 国产精品免费久久久久影院仙踪林 | 欧美亚洲免费在线一区 | 日韩欧美高清在线观看 | 精品成人在线 | 久草免费在线观看 | 黄色在线观看www | 亚洲精品午夜视频 | 亚洲一区网站 | 国产成人免费观看 | 国产无遮挡又黄又爽馒头漫画 | 伊人夜夜 | 午夜精品导航 | 久久久精品综合 | 国产在线观看h | 亚洲午夜久久久久 | 久久精品99精品国产香蕉 | 国产福利电影网址 | 99久精品视频 | 亚洲国产成人av网 | 一级c片 | 欧美亚洲久久 | 在线综合 亚洲 欧美在线视频 | 日韩精品一区不卡 | 国产中文字幕网 | 精品国产一区二区三区久久久蜜月 | 色美女在线 | 99久久精品久久亚洲精品 | 亚洲第一中文网 | 人人狠狠综合久久亚洲婷 | 久久综合中文色婷婷 | 黄色aa久久| 中文字幕在线观看日本 | 有码中文字幕在线观看 | 亚洲综合激情 | 久久精品电影 | 免费黄色av. | 国产尤物在线视频 | 视频二区在线 | 日韩精品一卡 | 天天av在线播放 | 免费视频久久久 | 特级毛片爽www免费版 | 亚洲欧美在线视频免费 | 欧美日韩国产高清视频 | 天天艹天天 | 2022国产精品视频 | 国产精品视频大全 | 国产免费成人 | 樱空桃av | 久草在线最新 | 在线观看中文字幕2021 | 精品99在线视频 | 国模一二三区 | 亚洲精品理论片 | 美女久久一区 | 99热只有精品在线观看 | 激情综合网五月婷婷 | 97精品国产97久久久久久 | 国产精品一区电影 | 国产视频一区在线 | 亚洲 综合 激情 | 亚洲精品乱码久久久久久高潮 | 西西444www | 国产成人精品免高潮在线观看 | 探花视频在线版播放免费观看 | 成人在线免费视频观看 | 精品亚洲男同gayvideo网站 | 波多野结衣资源 | 99爱爱 | 国产精品日韩在线播放 | 中文字幕在线看片 | 99精品热视频只有精品10 | 日韩精品在线视频免费观看 | 亚洲女人天堂成人av在线 | 日韩在线看片 | 久久午夜精品 | 午夜精品久久久久久久99水蜜桃 | 国产在线小视频 | 青草视频在线免费 | 色资源二区在线视频 | 91精品视屏 | www.五月天婷婷 | 99精品视频在线看 | 精品国产伦一区二区三区观看方式 | 成年人免费在线播放 | 成人a免费看| 中文在线天堂资源 | 色综合激情久久 | 欧美日韩综合在线观看 | 国产视频 亚洲精品 | 天天操网址 | 九色激情网 | av播放在线 | 在线国产视频观看 | 天天草天天操 | 成人免费亚洲 | 久久综合久久伊人 | 国产成人精品免高潮在线观看 | 九九免费在线看完整版 | 亚洲精品乱码久久久久久按摩 | 午夜视频免费播放 | 日本最新一区二区三区 | 色停停五月天 | 九九热免费精品视频 | 青青草视频精品 | 久久涩涩网站 | 伊人午夜视频 | 免费高清在线一区 | 亚洲精品在线免费 | 日韩色视频在线观看 | 一本一道久久a久久精品蜜桃 | 玖玖玖在线观看 | 日韩激情免费视频 | 麻豆视频国产在线观看 | 江苏妇搡bbbb搡bbbb | 国产日产精品一区二区三区四区的观看方式 | 人人模人人爽 | 日韩电影精品 | 97精品视频在线播放 | av免费在线网 | 日韩高清不卡在线 | 色综合天天爱 | 97精品国产97久久久久久免费 | 狠狠操电影网 | 国外成人在线视频网站 | 国产在线小视频 | 国产精品久久久久久久久久久久 | 欧美日韩在线观看一区 | 精品美女久久久久久免费 | 伊人色综合久久天天 | 麻豆视频免费在线播放 | 综合久久五月天 | 欧美一区免费观看 | 97超碰精品| 在线免费精品视频 | 97超级碰碰碰视频在线观看 | 最新av网址在线观看 | 国产精品刺激对白麻豆99 | 国产精品美女久久久久久网站 | 国产在线观看二区 | 色婷婷天天干 | 四虎影视成人永久免费观看视频 | 日韩最新中文字幕 | 四虎国产永久在线精品 | av中文字幕剧情 | 日韩电影在线观看一区二区三区 | 午夜123 | 福利av影院| 又黄又爽又湿又无遮挡的在线视频 | 久久免费在线观看 | 中国一级特黄毛片大片久久 | 六月激情久久 | 2019中文最近的2019中文在线 | 91cn国产在线 | 欧美日韩免费在线观看视频 | 高清一区二区三区av | 麻豆91在线观看 | 欧美激情第一页xxx 午夜性福利 | 久久黄色片 | 久久久久国产精品午夜一区 | 丁香在线观看完整电影视频 | 中文字幕欲求不满 | 91激情小视频 | 在线精品亚洲一区二区 | 国产精品123| 国产三级在线播放 | 69亚洲乱 | 亚洲无吗av | 亚洲欧美国内爽妇网 | 三级黄色网址 | 婷婷丁香国产 | 久久久久久久网站 | 一区二区三区精品在线视频 | 中文字幕在线播放视频 | 在线日韩中文 | 日韩天堂在线观看 | 国产成人精品999 | 激情久久综合 | 欧美成人理伦片 | 亚洲春色奇米影视 | 日韩精品免费在线播放 | av性网站| 国产自产高清不卡 | 中文字幕免费高清av | 中文字幕电影在线 | 人人爽人人爽人人片 | 九九热免费在线视频 | 色偷偷网站视频 | 中文字幕综合在线 | 久免费视频 | 欧美激情精品久久久 | 91插插插免费视频 | 国产精品第一 | 免费色av | 国产亚洲小视频 | 日韩最新av | 中文字幕a∨在线乱码免费看 | 日韩精品你懂的 | 国产欧美日韩精品一区二区免费 | 日韩精品欧美专区 | 久久久久久久久福利 | 不卡的一区二区三区 | 成人在线视频免费观看 | 久久久久久久国产精品 | 日韩欧美xxx | 成人免费视频在线观看 | 国产视频精选在线 | 国产精品久久久久久久免费大片 | 热久久99这里有精品 | 久久免费在线观看 | 狠色在线| 亚洲伊人网在线观看 | 亚洲欧美国产日韩在线观看 | 久久久久综合精品福利啪啪 | 久久久久久免费毛片精品 | 激情av资源网| 久久久久免费精品国产 | 日韩一级成人av | 91字幕| 国产精品美女久久久久久久久 | 久久蜜臀av | 伊人五月综合 | 久操视频在线播放 | 久久精品美女视频网站 | 能在线看的av | 公与妇乱理三级xxx 在线观看视频在线观看 | 日韩av成人在线 | 久久毛片高清国产 | 97在线观看免费高清 | 久久se视频 | 欧洲视频一区 | 久久久久久久久久久黄色 | 亚洲一区网| 国产一级电影 | 超碰在线观看av | 国产精品尤物视频 | 99热这里有 | 亚洲精品视频在线免费播放 | 婷婷久久精品 | 亚洲第一香蕉视频 | 亚洲精品久久久久www | 国产精品一区二区 91 | 亚洲高清视频在线观看 | 全久久久久久久久久久电影 | 亚洲日本中文字幕在线观看 | 免费v片| 在线免费视频你懂的 | 在线国产能看的 | 制服丝袜成人在线 | 韩国av免费观看 | 久久成人免费电影 | 97超碰人人模人人人爽人人爱 | 久久艹在线 | 偷拍精品一区二区三区 | 一区二区丝袜 | 91免费看黄 | 久久久国产精品电影 | 三级黄在线 | 久久首页| 亚洲欧洲国产精品 | 欧美另类一二三四区 | 国产尤物视频在线 | 国产精品aⅴ | 好看的国产精品视频 | 久久久噜噜噜久久久 | 天天射网站| 69国产成人综合久久精品欧美 | 狠狠伊人 | 婷婷伊人综合 | 免费视频一区二区 | 99r在线精品 | 国产精品嫩草影视久久久 | 日日夜夜狠狠操 | 日韩天堂网 | 色噜噜日韩精品欧美一区二区 | 区一区二在线 | 91在线最新 | 国产区网址 | 久草免费在线观看 | 久久久久久久久久久久av | 久久综合九色综合网站 | 亚洲精品中文字幕在线观看 | 国产精品videossex国产高清 | 欧美一级淫片videoshd | 日韩免费不卡视频 | 色婷婷综合五月 | 色综合天天综合 | 亚洲人成免费网站 | 99久久影视 | 一区久久久 | 日韩激情av在线 | 日韩久久精品一区二区三区下载 | 国产成人精品一区二三区 | 久草香蕉在线 | 色在线视频网 | 中文字幕资源在线观看 | 精品资源在线 | 天天色天天草天天射 | 91传媒在线播放 | 国产亚洲午夜高清国产拍精品 | 久久精品国产99国产 | 欧美日韩国产精品久久 | 国产小视频国产精品 | 日韩啪视频 | 亚洲毛片在线观看. | 久久看片| www.伊人网| 成人av电影免费观看 | 91色吧 | 97在线精品国自产拍中文 | 在线视频第一页 | 国产一区电影在线观看 | 91精品国产92久久久久 | 人人草在线观看 | 天天摸日日摸人人看 | 四虎国产精品免费观看视频优播 | 黄色免费在线视频 | 天天激情综合网 | 久久免费播放视频 | 在线视频日韩精品 | 国产一区在线观看视频 | 二区三区在线视频 | 亚洲一区二区精品3399 | 欧美一二区视频 | 天天做天天干 | 日韩乱色精品一区二区 | 国产伦精品一区二区三区四区视频 | 波多野结衣在线播放视频 | 亚洲成人av一区 | 国产婷婷vvvv激情久 | 成年人网站免费在线观看 | 在线观看亚洲免费视频 | 国产91精品一区二区麻豆亚洲 | 国产精品美女网站 | 福利av在线 | 日韩精品中字 | 国产精品视频区 | 天堂资源在线观看视频 | 亚州欧美视频 | 成人午夜影院 | 欧美日bb| 久草网视频在线观看 | 亚洲乱亚洲乱妇 | 亚洲综合成人婷婷小说 | 欧美日韩视频网站 | 91av在线不卡 | 亚洲黄色一级电影 | 日韩一区二区三区高清免费看看 | 国产成人精品一区二区 | 日韩久久一区 | 免费久久久久久 | 在线免费观看国产精品 | 久久黄色免费视频 | 久久久久国产a免费观看rela | 99久久精品电影 | 亚州av免费 | 日本黄色免费观看 | 超碰免费观看 | 久久情侣偷拍 | 欧美午夜激情网 | 国产超碰97 | 99热999 | 欧美激情视频一二三区 | 天天综合网久久 | 天天干,夜夜操 | 99久久www免费 | 天天操福利视频 | 精品国内自产拍在线观看视频 | 久久视| 久久综合9988久久爱 | 91麻豆精品国产自产在线游戏 | 国产精品嫩草影视久久久 | 日韩欧美xxxx | 91在线视频精品 | 91精品伦理 | 又色又爽又黄高潮的免费视频 | 国产免费片 | www.伊人网.com | 国产成人精品一区二 | 久久理伦片 | av中文字幕不卡 | 在线成人小视频 | 男女拍拍免费视频 | 又黄又爽的免费高潮视频 | 国产精品黄色 | 日韩专区在线 | 久久精品视频在线播放 | 激情xxxx | 波多野结衣精品 | 国产精品午夜在线 | 国产精品2020| 蜜臀av网址 | 成人一级免费视频 | 特级西西www44高清大胆图片 | 国产剧情一区二区 | 日韩午夜视频在线观看 | 91热在线| 国产一二三四在线观看视频 | 久久综合色一综合色88 | 99人久久精品视频最新地址 | 91亚洲精品久久久久图片蜜桃 | 免费视频a | 久久综合色8888 | 日韩三级视频在线观看 | 97视频亚洲 | 久久视频免费观看 | 国产在线探花 | 久久国产精品99久久久久 | 婷婷久草 | 中文字幕在线观看视频一区 | 手机看片福利 | 国产99精品| 5月丁香婷婷综合 | 国产精品一区二区在线播放 | 美女中文字幕 | 欧美性生活一级片 | 久久综合网色—综合色88 | 九九综合九九综合 | 色综合天天天天做夜夜夜夜做 | 国产精品网红直播 | 国产在线不卡视频 | 亚洲国产成人在线观看 | 色网站在线观看 | 国产精品婷婷午夜在线观看 | 亚洲精品久久久久久中文传媒 | 色综合天天在线 | 免费观看完整版无人区 | 午夜美女福利直播 | 日韩欧美一区二区三区在线观看 | 99久久99视频只有精品 | 91色亚洲| 美女福利视频网 | 97色涩| 国产群p | 免费在线黄 | 亚洲精品xxx| 免费av在线网站 | 精品一区二区三区香蕉蜜桃 | 欧美日本不卡视频 | 香蕉在线观看视频 | 国产美女视频一区 | 日韩中文字幕免费电影 | 久久精品专区 | 成人免费观看大片 | 免费看片成人 | 天天激情在线 | 日色在线视频 | 日韩精品中文字幕在线观看 | 久久不见久久见免费影院 | 午夜18视频在线观看 | 天天久久综合 | 成人午夜性影院 | 99视频在线观看一区三区 | 中文字幕一区在线观看视频 | 视频二区| 日韩精品中文字幕av | 人人揉人人揉人人揉人人揉97 | 激情综合网五月激情 | 天天插天天射 | 精品国产_亚洲人成在线 | 日本视频久久久 | 亚洲欧美日韩国产一区二区三区 | 最近高清中文在线字幕在线观看 | 成人免费在线网 | 欧美一级艳片视频免费观看 | 91传媒免费在线观看 | 欧美激情视频一二三区 | 日韩欧美在线国产 | 亚洲精品www久久久久久 | 色94色欧美 | 日日躁你夜夜躁你av蜜 | 成年人在线 | 黄色福利视频网站 | 丁香激情综合久久伊人久久 | 久久久久久久久久亚洲精品 | 最新av免费在线 | 午夜精品一区二区三区免费 | 亚洲最新毛片 | 国产小视频在线看 | 亚洲区另类春色综合小说校园片 | 黄污网站在线观看 | 色婷婷免费视频 | 三级性生活视频 | 免费午夜视频在线观看 | 最近中文字幕免费av | 亚洲一区欧美激情 | 亚洲国产成人在线观看 | 精品国产欧美一区二区 | 国产麻豆传媒 | 色开心| 免费a一级| 特级西西444www大胆高清无视频 | 8x成人免费视频 | 午夜国产福利在线观看 | 国产视频第二页 | 五月婷婷黄色网 | 久久久久久草 | 欧美一区三区四区 | 日本精品一区二区三区在线观看 | 亚洲欧美国产精品18p | 天天干天天爽 | 日本99久久 | 国产精品成人a免费观看 | 天天躁日日 | 99热 精品在线 | 在线观看久久 | 亚洲精品国产高清 | av一二三区| 国产五码一区 | 欧美性网站| 91在线精品秘密一区二区 | 国产综合香蕉五月婷在线 | 玖玖在线看 | a久久久久 | 久久久亚洲精华液 | 亚洲国产中文字幕 | 国内精品久久久久影院日本资源 | 天天夜夜狠狠操 | 91九色蝌蚪视频 | av免费在线观看网站 | 久久久久久久福利 | 国产精品视屏 | 午夜黄色影院 | 五月天天色 | 波多野结衣视频在线 | 国产精品亚洲精品 | 亚洲国产中文字幕在线视频综合 | 六月久久婷婷 | 在线中文字幕一区二区 | 亚洲国产精品久久久久婷婷884 | 91在线公开视频 | 欧美在线视频一区二区 | 国产色就色 | 国产色拍拍拍拍在线精品 | 欧美日韩亚洲在线观看 | 欧美夫妻性生活电影 | 日本特黄特色aaa大片免费 | 国产流白浆高潮在线观看 | 欧美伦理一区二区 | 97免费公开视频 | 国产精品18久久久久久不卡孕妇 | 亚洲成色777777在线观看影院 | 911久久香蕉国产线看观看 | 国产小视频福利在线 | 很黄很色很污的网站 | 免费福利片2019潦草影视午夜 | 成人影音av | 成片视频免费观看 | 天天干天天拍天天操天天拍 | bbb搡bbb爽爽爽 | 国产精品久久久久免费观看 | 精品久久久久久综合日本 | 最新日韩电影 | 久久久久五月 | 蜜臀av性久久久久av蜜臀三区 | www久久99 | 天天色天天射综合网 | 999国产精品视频 | 国产精品初高中精品久久 | 中文免费在线观看 | 2019免费中文字幕 | 日韩国产精品久久久久久亚洲 | 国产高清视频在线播放一区 | 久久99精品国产99久久 | 国产精品乱码一区二三区 | 免费av在线| av+在线播放在线播放 | 中文字幕a∨在线乱码免费看 | 中文字幕123区 | www.av在线.com| 色偷偷88888欧美精品久久 | 九九综合久久 | 日韩av一区二区在线 | 99色在线视频 | 免费高清男女打扑克视频 | 成人试看120秒| 一级性视频 | av黄色免费网站 | 日韩理论电影网 | 久久视频一区二区 | 欧美久久成人 | 免费又黄又爽视频 | 日韩久久视频 | 玖玖玖在线观看 | 91自拍成人| 狠狠操欧美 | www色婷婷com | 日本久久不卡视频 | 久久精品国亚洲 | 深爱婷婷网 | 精品久久中文 | 天天摸天天操天天舔 | 亚洲成av人电影 | 中文字幕精品三区 | 91精彩在线视频 | 久精品视频免费观看2 | 成人一区影院 | 日本中文一区二区 | 99精品视频在线观看免费 | 探花视频免费在线观看 | 视频三区 | 国产成人精品一区二区三区免费 | 欧美另类一二三四区 | a特级毛片 | 欧美一区免费观看 | 日本爽妇网 | 久久精品久久久久久久 | 国产精品区一区 | 激情五月看片 | 久久精品99国产精品亚洲最刺激 | 99 久久久久| 97香蕉久久国产在线观看 | 96国产在线 | 久久99国产精品视频 | 欧美一性一交一乱 | av 一区二区三区 | 国内免费久久久久久久久久久 | www91在线| 爱爱av网| 免费看一级特黄a大片 | 国产精品毛片一区二区 | 99久久日韩精品免费热麻豆美女 | 久久新| 91久久国产露脸精品国产闺蜜 | 91刺激视频 | 91激情| 国产精品一区二区久久国产 | 国产99久久久国产 | 色五月情 | 中文区中文字幕免费看 | 一级α片免费看 | www.xxxx变态.com| 激情av网址 | 狠狠躁日日躁狂躁夜夜躁av | 国产最新网站 | 九九九在线 | 色黄视频免费观看 | 国产99久久九九精品免费 | 亚洲va欧美va人人爽春色影视 | 亚洲天堂视频在线 | 成年人黄色大片在线 | 在线电影 一区 | 午夜精品久久久久久久久久 | 欧美一级网站 | 91自拍91| 日本3级在线观看 | 在线导航av | 国产一级片直播 | 99久高清在线观看视频99精品热在线观看视频 | 国产成人精品亚洲精品 | 亚洲综合色视频在线观看 | 久久成人亚洲欧美电影 | 久久久国产精华液 | 在线精品亚洲一区二区 | 四虎影视欧美 | 婷婷久久久 | 日韩一区二区三区在线看 | 91视频免费观看 | 亚洲四虎影院 | 91亚州| 精品国内自产拍在线观看视频 | 可以免费看av | 亚洲免费视频在线观看 | 亚洲国产精品500在线观看 | 国产中文字幕网 | 又黄又爽又无遮挡免费的网站 | 99精品视频观看 | 在线观看va | 国产中文在线视频 | 国产精品专区一 | 日韩和的一区二在线 | 91在线视频播放 | 9999免费视频 | wwwwwww黄 | 91久久国产露脸精品国产闺蜜 | 激情欧美一区二区三区免费看 | 国产精品免费视频久久久 | 久久精品国产美女 | 国产精品成人免费 | 日日婷婷夜日日天干 | 久久精品视频在线观看 | 男女啪啪网站 | 午夜精品久久一牛影视 | 亚洲午夜久久久久久久久电影网 | 日韩黄色免费在线观看 | 丰满少妇在线观看网站 |