青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
金慶的專(zhuān)欄
C++博客
::
首頁(yè)
::
新隨筆
::
聯(lián)系
::
聚合
::
管理
::
423 隨筆 :: 0 文章 :: 454 評(píng)論 :: 0 Trackbacks
公告
我的隨筆
我的評(píng)論
我參與的隨筆
留言簿
(12)
給我留言
查看公開(kāi)留言
查看私人留言
隨筆分類(lèi)
(502)
1. C/C++(166)
(rss)
2. 網(wǎng)游開(kāi)發(fā)(108)
(rss)
3. Golang(20)
(rss)
4. Linux/Unix(30)
(rss)
5. 軟工與管理(44)
(rss)
6. Python(23)
(rss)
7. Erlang(18)
(rss)
8. Rust(16)
(rss)
9. 其它(77)
(rss)
隨筆檔案
(423)
2023年1月 (1)
2022年11月 (1)
2022年10月 (2)
2022年9月 (1)
2022年4月 (6)
2022年1月 (2)
2021年12月 (4)
2021年11月 (6)
2021年10月 (2)
2021年9月 (2)
2021年8月 (7)
2021年7月 (2)
2021年5月 (2)
2021年3月 (1)
2021年2月 (2)
2021年1月 (1)
2020年12月 (1)
2020年10月 (1)
2020年9月 (5)
2020年8月 (1)
2020年7月 (1)
2020年6月 (1)
2020年4月 (2)
2020年3月 (3)
2020年2月 (3)
2020年1月 (1)
2019年12月 (1)
2019年9月 (2)
2019年4月 (2)
2019年1月 (1)
2018年12月 (1)
2018年11月 (3)
2018年10月 (1)
2018年9月 (3)
2018年8月 (3)
2018年7月 (2)
2018年6月 (4)
2018年5月 (4)
2018年4月 (4)
2018年3月 (1)
2018年1月 (2)
2017年12月 (2)
2017年11月 (3)
2017年10月 (3)
2017年8月 (7)
2017年7月 (1)
2017年6月 (1)
2017年5月 (3)
2017年4月 (3)
2017年3月 (3)
2017年2月 (2)
2017年1月 (2)
2016年12月 (5)
2016年11月 (2)
2016年10月 (2)
2016年9月 (1)
2016年8月 (6)
2016年7月 (3)
2016年6月 (2)
2016年5月 (4)
2016年4月 (2)
2016年3月 (2)
2016年1月 (3)
2015年12月 (2)
2015年11月 (2)
2015年10月 (1)
2015年8月 (2)
2015年7月 (1)
2015年6月 (1)
2015年5月 (4)
2015年4月 (3)
2015年3月 (4)
2015年2月 (5)
2015年1月 (4)
2014年12月 (3)
2014年11月 (3)
2014年10月 (2)
2014年9月 (3)
2014年8月 (1)
2014年4月 (4)
2014年3月 (1)
2014年2月 (4)
2014年1月 (5)
2013年12月 (5)
2013年11月 (5)
2013年9月 (2)
2013年8月 (2)
2013年7月 (2)
2013年6月 (2)
2013年5月 (1)
2013年1月 (2)
2012年12月 (1)
2012年11月 (1)
2012年9月 (1)
2012年8月 (3)
2012年7月 (2)
2012年6月 (1)
2012年4月 (3)
2012年3月 (2)
2012年2月 (3)
2012年1月 (2)
2011年11月 (2)
2011年10月 (3)
2011年9月 (2)
2011年8月 (2)
2011年7月 (3)
2011年6月 (2)
2011年5月 (3)
2011年1月 (2)
2010年12月 (1)
2010年11月 (2)
2010年10月 (2)
2010年9月 (3)
2010年8月 (2)
2010年7月 (3)
2010年6月 (1)
2010年5月 (3)
2010年4月 (3)
2010年3月 (5)
2010年2月 (4)
2010年1月 (4)
2009年12月 (2)
2009年11月 (3)
2009年10月 (4)
2009年9月 (3)
2009年8月 (2)
2009年7月 (4)
2009年6月 (1)
2009年5月 (3)
2009年4月 (4)
2009年3月 (2)
2009年2月 (5)
2009年1月 (1)
2008年12月 (7)
2008年11月 (4)
2008年10月 (1)
2008年9月 (3)
2008年8月 (4)
2008年7月 (3)
2008年6月 (4)
2008年5月 (6)
2008年4月 (7)
2008年3月 (6)
2008年1月 (5)
2007年12月 (7)
2007年11月 (4)
2007年10月 (5)
2007年9月 (6)
2007年8月 (8)
2007年7月 (5)
相冊(cè)
公告照片
搜索
積分與排名
積分 - 665274
排名 - 24
最新評(píng)論
1.?re: boost::asio::spawn 將一統(tǒng)C++網(wǎng)絡(luò)庫(kù)
asio 成為C++首選網(wǎng)絡(luò)庫(kù)
--linda
2.?re: log4cxx中文輸出錯(cuò)誤補(bǔ)丁
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--金慶
3.?re: mingw編譯OrzNet
能發(fā)送一個(gè)mingw編譯好的OrzNet庫(kù)給我嗎? liuweiqcxy@163.com
謝謝!
--劉威
4.?re: log4cxx中文輸出錯(cuò)誤補(bǔ)丁
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--bigbad
5.?re: log4cxx中文輸出錯(cuò)誤補(bǔ)丁
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--bigbad
閱讀排行榜
1.?"multiple definition of" 錯(cuò)誤(11084)
2.?SVN中邪惡的replace(11014)
3.?VS2005編譯libevent(10475)
4.?混音算法的學(xué)習(xí)與研究(10273)
5.?C調(diào)用lua腳本的效率測(cè)試(9030)
評(píng)論排行榜
1.?VC6正在被拋棄(35)
2.?VS2005編譯libevent(21)
3.?"multiple definition of" 錯(cuò)誤(18)
4.?C++引用優(yōu)于指針(17)
5.?ACE與ASIO之間關(guān)于Socket編程的比較(16)
grpc外部負(fù)載均衡器測(cè)試
# grpc外部負(fù)載均衡器測(cè)試
(金慶的專(zhuān)欄 2020.4)
grpc 對(duì)每個(gè)請(qǐng)求進(jìn)行負(fù)載均衡。負(fù)載均衡的方式有:
* 代理模式
* 客戶(hù)端實(shí)現(xiàn)
* 外部負(fù)載均衡
參考:gRPC LB https://blog.csdn.net/xiaojia1100/article/details/78842295
gRPC 中負(fù)載均衡的主要機(jī)制是外部負(fù)載均衡。
gRPC 定義了外部負(fù)載均衡服務(wù)的接口:https://github.com/grpc/grpc/tree/master/src/proto/grpc/lb/v1
* load_balancer.proto 客戶(hù)端向 lb 服查詢(xún)后端列表
* load_reporter.proto lb 服向后端服查詢(xún)負(fù)載
https://github.com/bsm/grpclb 實(shí)現(xiàn)了一個(gè) grpc 的外部負(fù)載均衡服。
因?yàn)槠鋵?shí)現(xiàn)早于負(fù)載均衡服的接口規(guī)范,所以接口定義與 grpc 規(guī)范不同。
見(jiàn) issue#26: https://github.com/bsm/grpclb/issues/26#issuecomment-613873655
grpclb 目前僅支持 consul 服務(wù)發(fā)現(xiàn)。
標(biāo)準(zhǔn)的 grpclb 實(shí)現(xiàn)目前好像只有 https://github.com/joa/jawlb。
jawlb 通過(guò) Kubernetes API 來(lái)發(fā)現(xiàn)服務(wù)。
以下測(cè)試 grpc 客戶(hù)端從 jawlb 服查詢(xún)服務(wù)器列表,然后請(qǐng)求服務(wù)。
首先在本機(jī)開(kāi)了多個(gè) greeter 服實(shí)例,端口不同。
然后更改 greeter 客戶(hù)端,不要直接連 greeter 服地址,而是配一個(gè) jawlb 服地址。
同時(shí)更改 jawlb, 刪除服務(wù)發(fā)現(xiàn),改為固定輸出本機(jī)服務(wù)列表,定時(shí)切換。
greeter 是指 grpc-go 中的例子:grpc-go\examples\helloworld\greeter
## greeter 服更改
添加參數(shù)指定服務(wù)端口。
```
package main
import (
"fmt"
"log"
"net"
"github.com/spf13/pflag"
"github.com/spf13/viper"
"golang.org/x/net/context"
"google.golang.org/grpc"
pb "google.golang.org/grpc/examples/helloworld/helloworld"
)
// GreeterServer is used to implement helloworld.GreeterServer.
type GreeterServer struct {
}
// SayHello implements helloworld.GreeterServer
func (s *GreeterServer) SayHello(ctx context.Context, in *pb.HelloRequest) (*pb.HelloReply, error) {
msg := fmt.Sprintf("Hello %s from server-%d", in.Name, viper.GetInt("port"))
return &pb.HelloReply{Message: msg}, nil
}
func main() {
pflag.Int("port", 8000, "server bind port")
pflag.Parse()
viper.BindPFlags(pflag.CommandLine)
port := viper.GetInt("port")
addr := fmt.Sprintf(":%d", port)
lis, err := net.Listen("tcp", addr)
if err != nil {
log.Fatalf("failed to listen: %v", err)
}
s := grpc.NewServer()
pb.RegisterGreeterServer(s, &GreeterServer{})
s.Serve(lis)
}
```
## greeter 客戶(hù)端更改
```
package main
import (
"context"
"log"
"os"
"time"
"github.com/sirupsen/logrus"
"google.golang.org/grpc"
_ "google.golang.org/grpc/balancer/grpclb"
pb "google.golang.org/grpc/examples/helloworld/helloworld"
"google.golang.org/grpc/grpclog"
"google.golang.org/grpc/resolver"
"google.golang.org/grpc/resolver/manual"
)
const (
defaultName = "world"
)
func init() {
grpclog.SetLogger(logrus.New())
}
func main() {
rb := manual.NewBuilderWithScheme("whatever")
rb.InitialState(resolver.State{Addresses: []resolver.Address{
{Addr: "127.0.0.1:8888", Type: resolver.GRPCLB},
}})
conn, err := grpc.Dial("whatever:///this-gets-overwritten", grpc.WithInsecure(), grpc.WithBlock(),
grpc.WithResolvers(rb))
if err != nil {
log.Fatalf("did not connect: %v", err)
}
defer conn.Close()
c := pb.NewGreeterClient(conn)
name := defaultName
if len(os.Args) > 1 {
name = os.Args[1]
}
for {
ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second)
r, err := c.SayHello(ctx, &pb.HelloRequest{Name: name})
cancel()
if err != nil {
log.Fatalf("could not greet: %v", err)
time.Sleep(time.Second)
continue
}
log.Printf("Greeting: %s", r.GetMessage())
time.Sleep(time.Second)
}
}
```
有以下更改:
* import _ "google.golang.org/grpc/balancer/grpclb"
* grpc.Dial("whatever:///this-gets-overwritten", grpc.WithResolvers(rb))
+ 采用一個(gè)自定義解析器,用來(lái)獲取 jawlb 地址
+ Scheme("whatever") 可以任意,用作解析器名字
+ 目標(biāo) this-gets-overwritten 可以任意,因?yàn)?jawlb 忽略了該名字
+ 127.0.0.1:8888 是 jawlb 地址
* 改為每秒請(qǐng)求一次
正常的 grpclb 是在 DNS 中設(shè)置 SRV 記錄,
此處測(cè)試避免設(shè)置 DNS, 采用了一個(gè)自定義解析器,
代碼上多了幾行。
用 DNS 設(shè)置的好處是, 可以直接解析為后端 IP, 也可以添加 grpclb, 代碼上如同直接連接后端:
```
conn, err := grpc.Dial("dns:///myservice.domain.com", grpc.WithInsecure())
```
## jawlb 更改
### main.go
刪除所有配置,改為固定本機(jī) 8888 端口監(jiān)聽(tīng)。
* 刪除 `envconfig.MustProcess("JAWLB", &cfg)`
* listen() 改為
```
func listen() (conn net.Listener, err error) {
conn, err = net.Listen("tcp", ":8888")
return
}
```
### watch.go
```
package main
import (
"context"
"fmt"
"net"
"time"
)
func watchService(ctx context.Context) (_ <-chan ServerList, err error) {
ch := make(chan ServerList)
go func() {
ticker := time.NewTicker(10 * time.Second)
i := 0
for {
select {
case <-ctx.Done():
ticker.Stop()
close(ch)
return
case <-ticker.C:
i += 1
fmt.Printf("i = %d\n", i)
ports := []int32{8010, 8020}
var servers []Server
for _, port := range ports {
servers = append(servers, Server{IP: net.ParseIP("127.0.0.1"), Port: port + int32(i%2)})
}
ch <- servers
} // select
} // for
}()
return ch, nil
}
```
刪除所有服務(wù)發(fā)現(xiàn)代碼,改為每10秒切換端口:8010,8020 <-> 8011,8021
## 運(yùn)行
### jawlb
```
λ jawlb.exe
2020/04/16 15:35:17 waiting for TERM
i = 1
2020/04/16 15:35:27 endpoints:
2020/04/16 15:35:27 127.0.0.1:8011
2020/04/16 15:35:27 127.0.0.1:8021
i = 2
2020/04/16 15:35:37 endpoints:
2020/04/16 15:35:37 127.0.0.1:8010
2020/04/16 15:35:37 127.0.0.1:8020
```
### server
運(yùn)行 4 個(gè)實(shí)例:
```
server --port 8010
server --port 8020
server --port 8011
server --port 8021
```
### client
```
λ client
INFO[0002] lbBalancer: handle SubConn state change: 0xc00008a590, CONNECTING
INFO[0002] Channel Connectivity change to CONNECTING
INFO[0002] lbBalancer: handle SubConn state change: 0xc00008a5f0, CONNECTING
INFO[0002] Subchannel picks a new address "127.0.0.1:8021" to connect
INFO[0002] Subchannel Connectivity change to READY
INFO[0002] lbBalancer: handle SubConn state change: 0xc00008a590, READY
INFO[0002] Channel Connectivity change to READY
INFO[0002] Subchannel Connectivity change to READY
INFO[0002] lbBalancer: handle SubConn state change: 0xc00008a5f0, READY
2020/04/16 15:37:47 Greeting: Hello world from server-8021
2020/04/16 15:37:48 Greeting: Hello world from server-8011
2020/04/16 15:37:49 Greeting: Hello world from server-8021
2020/04/16 15:37:50 Greeting: Hello world from server-8011
2020/04/16 15:37:51 Greeting: Hello world from server-8021
2020/04/16 15:37:52 Greeting: Hello world from server-8011
2020/04/16 15:37:53 Greeting: Hello world from server-8021
2020/04/16 15:37:54 Greeting: Hello world from server-8011
2020/04/16 15:37:55 Greeting: Hello world from server-8021
2020/04/16 15:37:56 Greeting: Hello world from server-8011
INFO[0012] lbBalancer: processing server list: servers:<ip_address:"\000\000\000\000\000\000\000\000\000\000\377\377\177\000\000\001" port:8020 > servers:<ip_address:"\000\000\000\000\000\000\000\000\000\000\377\377\177\000\000\001" port:8010 >
INFO[0012] lbBalancer: server list entry[0]: ipStr:|127.0.0.1|, port:|8020|, load balancer token:||
INFO[0012] lbBalancer: server list entry[1]: ipStr:|127.0.0.1|, port:|8010|, load balancer token:||
2020/04/16 15:37:57 Greeting: Hello world from server-8020
2020/04/16 15:37:58 Greeting: Hello world from server-8010
2020/04/16 15:37:59 Greeting: Hello world from server-8020
2020/04/16 15:38:00 Greeting: Hello world from server-8010
2020/04/16 15:38:01 Greeting: Hello world from server-8020
2020/04/16 15:38:02 Greeting: Hello world from server-8010
2020/04/16 15:38:03 Greeting: Hello world from server-8020
2020/04/16 15:38:04 Greeting: Hello world from server-8010
2020/04/16 15:38:05 Greeting: Hello world from server-8020
2020/04/16 15:38:06 Greeting: Hello world from server-8010
INFO[0022] lbBalancer: processing server list: servers:<ip_address:"\000\000\000\000\000\000\000\000\000\000\377\377\177\000\000\001" port:8021 > servers:<ip_address:"\000\000\000\000\000\000\000\000\000\000\377\377\177\000\000\001" port:8011 >
INFO[0022] lbBalancer: server list entry[0]: ipStr:|127.0.0.1|, port:|8021|, load balancer token:||
INFO[0022] lbBalancer: server list entry[1]: ipStr:|127.0.0.1|, port:|8011|, load balancer token:||
2020/04/16 15:38:07 Greeting: Hello world from server-8011
2020/04/16 15:38:08 Greeting: Hello world from server-8021
2020/04/16 15:38:09 Greeting: Hello world from server-8011
```
## 結(jié)論
客戶(hù)端應(yīng)用一個(gè)自定義 resolver 解析 "whatever:///this-gets-overwritten",
獲取到 `{Addr: "127.0.0.1:8888", Type: resolver.GRPCLB}`,
知道這是一個(gè) grpclb,于是按 load_balancer.proto 的定義查詢(xún) jawlb 來(lái)獲取后端地址列表。
jawlb 每 10s 更新一次服務(wù)器列表,每次輸出多個(gè)地址。客戶(hù)端在多個(gè)地址間輪換請(qǐng)求。
## 其他測(cè)試
* 不開(kāi) jawlb,客戶(hù)端將無(wú)法成功請(qǐng)求,直到 jawlb 開(kāi)啟才成功
* 中途關(guān)閉 jawlb, 請(qǐng)求仍會(huì)成功,但是保持為最后的服務(wù)器列表
+ 同時(shí)會(huì)不斷嘗試重連 jawlb, 但是重連成功后沒(méi)有切換服務(wù),應(yīng)該是個(gè)錯(cuò)誤
* Dial() 不加 grpc.WithBlock() 參數(shù), 報(bào)錯(cuò):all SubConns are in TransientFailure
```
λ client
INFO[0000] parsed scheme: "whatever"
INFO[0000] ccResolverWrapper: sending update to cc: {[{127.0.0.1:8888 <nil> 1 <nil>}] <nil> <nil>}
INFO[0000] ClientConn switching balancer to "grpclb"
INFO[0000] Channel switches to new LB policy "grpclb"
INFO[0000] lbBalancer: UpdateClientConnState: {ResolverState:{Addresses:[{Addr:127.0.0.1:8888 ServerName: Attributes:<nil> Type:1 Metadata:<nil>}] ServiceConfig:<nil> Attributes:<nil>} BalancerConfig:<nil>}
INFO[0000] parsed scheme: "grpclb-internal"
INFO[0000] ccResolverWrapper: sending update to cc: {[{127.0.0.1:8888 <nil> 0 <nil>}] <nil> <nil>}
INFO[0000] ClientConn switching balancer to "pick_first"
INFO[0000] Channel switches to new LB policy "pick_first"
INFO[0000] Subchannel Connectivity change to CONNECTING
INFO[0000] blockingPicker: the picked transport is not ready, loop back to repick
INFO[0000] pickfirstBalancer: HandleSubConnStateChange: 0xc00003fb10, {CONNECTING <nil>}
INFO[0000] Channel Connectivity change to CONNECTING
INFO[0000] Subchannel picks a new address "127.0.0.1:8888" to connect
INFO[0000] CPU time info is unavailable on non-linux or appengine environment.
INFO[0000] Subchannel Connectivity change to READY
INFO[0000] pickfirstBalancer: HandleSubConnStateChange: 0xc00003fb10, {READY <nil>}
INFO[0000] Channel Connectivity change to READY
INFO[0000] lbBalancer: processing server list: servers:<ip_address:"\000\000\000\000\000\000\000\000\000\000\377\377\177\000\000\001" port:8010 > servers:<ip_address:"\000\000\000\000\000\000\000\000\000\000\377\377\177\000\000\001" port:8020 >
INFO[0000] lbBalancer: server list entry[0]: ipStr:|127.0.0.1|, port:|8010|, load balancer token:||
INFO[0000] lbBalancer: server list entry[1]: ipStr:|127.0.0.1|, port:|8020|, load balancer token:||
INFO[0000] Subchannel Connectivity change to CONNECTING
INFO[0000] Subchannel Connectivity change to CONNECTING
INFO[0000] Channel Connectivity change to TRANSIENT_FAILURE
INFO[0000] lbBalancer: handle SubConn state change: 0xc00008a220, CONNECTING
INFO[0000] Channel Connectivity change to CONNECTING
INFO[0000] lbBalancer: handle SubConn state change: 0xc00008a280, CONNECTING
2020/04/16 16:40:06 could not greet: rpc error: code = Unavailable desc = all SubConns are in TransientFailure
```
posted on 2020-04-17 10:08
金慶
閱讀(1169)
評(píng)論(0)
編輯
收藏
引用
所屬分類(lèi):
3. Golang
只有注冊(cè)用戶(hù)
登錄
后才能發(fā)表評(píng)論。
相關(guān)文章:
net.LookupSRV()查詢(xún)k8s無(wú)頭服務(wù)
rpc應(yīng)答太快造成請(qǐng)求超時(shí)
golang各數(shù)值類(lèi)型的最大最小值
參數(shù)太靈活容易出錯(cuò)
grpc外部負(fù)載均衡器測(cè)試
數(shù)組make參數(shù)錯(cuò)誤
go不要導(dǎo)出channel
go代碼覆蓋測(cè)試
考察go一致性hash庫(kù)
將go函數(shù)指針轉(zhuǎn)為接口
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問(wèn)
Chat2DB
管理
Powered by:
C++博客
Copyright © 金慶
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
99精品久久久
|
亚洲激情一区二区
|
99精品国产在热久久婷婷
|
国产精品日韩一区二区三区
|
老司机精品视频网站
|
亚洲午夜性刺激影院
|
亚洲国产欧美不卡在线观看
|
久久狠狠亚洲综合
|
一本到12不卡视频在线dvd
|
韩日欧美一区二区
|
国产精品视频网址
|
欧美日韩视频在线一区二区
|
久久婷婷综合激情
|
香蕉久久一区二区不卡无毒影院
|
欧美网站在线
|
蜜桃久久精品乱码一区二区
|
欧美一区二区视频在线观看
|
亚洲午夜电影
|
亚洲精品小视频
|
欧美激情自拍
|
欧美sm视频
|
久久久视频精品
|
欧美在线视屏
|
性一交一乱一区二区洋洋av
|
亚洲一区欧美一区
|
夜夜嗨av一区二区三区四区
|
最新精品在线
|
在线观看久久av
|
国产亚洲成精品久久
|
国产精品一级久久久
|
国产精品嫩草99a
|
国产精品国产亚洲精品看不卡15
|
欧美精品网站
|
欧美精品午夜视频
|
欧美日韩国产一级片
|
免费观看日韩
|
欧美成人精品
|
欧美国产欧美综合
|
亚洲视频图片小说
|
一区二区三区国产在线观看
|
亚洲免费观看视频
|
一本色道88久久加勒比精品
|
欧美一区二区三区啪啪
|
亚洲一区欧美一区
|
午夜亚洲精品
|
久久国产精品一区二区三区
|
久久www免费人成看片高清
|
亚洲美女啪啪
|
亚洲毛片一区二区
|
aⅴ色国产欧美
|
在线亚洲成人
|
午夜精品国产精品大乳美女
|
欧美一区二区在线看
|
久久久精品日韩欧美
|
久久夜色精品国产亚洲aⅴ
|
亚洲一区一卡
|
欧美专区中文字幕
|
久色成人在线
|
亚洲大胆在线
|
日韩写真在线
|
性欧美精品高清
|
玖玖视频精品
|
欧美视频一区二区三区…
|
国产精品三区www17con
|
精品成人国产在线观看男人呻吟
|
亚洲黑丝一区二区
|
亚洲永久免费精品
|
鲁鲁狠狠狠7777一区二区
|
亚洲第一成人在线
|
亚洲午夜性刺激影院
|
久久手机免费观看
|
欧美午夜不卡视频
|
韩国欧美一区
|
99精品视频一区二区三区
|
欧美亚洲专区
|
欧美高清视频免费观看
|
一本色道久久综合亚洲精品高清
|
午夜日韩在线
|
欧美国产亚洲另类动漫
|
国产精品丝袜xxxxxxx
|
亚洲第一页自拍
|
午夜精品国产更新
|
欧美成人蜜桃
|
亚洲一区影院
|
欧美第十八页
|
国产欧亚日韩视频
|
亚洲免费电影在线
|
久久久国产精彩视频美女艺术照福利
|
亚洲欧洲日本国产
|
久久av一区二区三区亚洲
|
欧美久久久久久久久久
|
国产中文一区二区三区
|
99综合精品
|
美女精品一区
|
亚洲综合第一
|
欧美日本亚洲
|
在线精品高清中文字幕
|
亚洲欧美日韩一区二区在线
|
欧美大片一区二区三区
|
午夜视频一区二区
|
欧美视频网站
|
日韩视频永久免费观看
|
久久日韩精品
|
亚洲欧美日韩国产另类专区
|
欧美—级高清免费播放
|
影音先锋日韩资源
|
久久爱www.
|
一级成人国产
|
欧美激情综合色综合啪啪
|
影音先锋亚洲视频
|
久久精品天堂
|
亚洲一区二区在线观看视频
|
欧美日韩精选
|
日韩一级裸体免费视频
|
欧美+亚洲+精品+三区
|
欧美一区二区私人影院日本
|
国产精品视频xxx
|
亚洲欧美国产精品桃花
|
日韩视频在线永久播放
|
欧美激情区在线播放
|
亚洲国产一区在线观看
|
免费成人网www
|
久久久久久久综合
|
国产尤物精品
|
久久国产欧美日韩精品
|
午夜一区二区三区不卡视频
|
国产精品美女xx
|
午夜精品久久久久久久久久久
|
99精品国产在热久久
|
欧美日韩国产不卡在线看
|
99xxxx成人网
|
亚洲精一区二区三区
|
欧美美女视频
|
一区二区三区你懂的
|
99国产精品视频免费观看
|
欧美日韩亚洲精品内裤
|
亚洲视频免费在线
|
亚洲深夜av
|
国产精品永久免费
|
欧美一区二区三区免费观看
|
午夜亚洲福利在线老司机
|
国内视频精品
|
你懂的视频欧美
|
欧美freesex8一10精品
|
99视频精品全国免费
|
夜夜嗨av色一区二区不卡
|
国产精品xxxav免费视频
|
午夜精彩视频在线观看不卡
|
亚洲最黄网站
|
国产乱理伦片在线观看夜一区
|
久久狠狠亚洲综合
|
久久视频精品在线
|
亚洲精品欧美专区
|
一本久道综合久久精品
|
国产精品日韩一区
|
久久综合久久久久88
|
欧美成人免费在线
|
亚洲图色在线
|
性做久久久久久免费观看欧美
|
激情一区二区
|
亚洲欧洲另类
|
国产精品乱人伦一区二区
|
久久精品国产清自在天天线
|
久久一区二区三区av
|
99国产精品视频免费观看一公开
|
在线中文字幕日韩
|
国内精品伊人久久久久av一坑
|
欧美激情视频在线播放
|
欧美三区美女
|
久久久久久久久久久久久9999
|
麻豆成人在线播放
|
亚洲综合欧美
|
久久久久久久久久久久久9999
|
日韩视频三区
|
午夜在线观看欧美
|
亚洲人成人99网站
|
亚洲欧美激情四射在线日
|
亚洲国产精品一区二区尤物区
|
亚洲少妇一区
|
亚洲激情成人网
|
亚洲一区二区三区在线视频
|
亚洲国产精品ⅴa在线观看
|
亚洲一级二级
|
亚洲国产专区
|
欧美一级淫片aaaaaaa视频
|
亚洲蜜桃精久久久久久久
|
欧美尤物巨大精品爽
|
一区二区三区|亚洲午夜
|
久久久国产午夜精品
|
亚洲在线视频免费观看
|
美女在线一区二区
|
欧美一区二区免费
|
欧美激情视频一区二区三区免费
|
欧美一激情一区二区三区
|
欧美丰满少妇xxxbbb
|
久久婷婷国产综合精品青草
|
欧美日韩国产在线播放
|
欧美丰满少妇xxxbbb
|
国产日韩亚洲欧美
|
99在线精品视频在线观看
|