国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

ws分布式部署sendToGroup的疑問(wèn)

Kula

問(wèn)題描述

我有兩臺(tái)服務(wù)器A和B,都部署了webman,并且使用gateway worker提供ws服務(wù),A和B都有g(shù)ateway、register、gateway worker幾種進(jìn)程,register是相互注冊(cè)的?,F(xiàn)在我想在A中向B的ws用戶組發(fā)送消息。

截圖

我在A的http接口中使用了gateway client包,register address 填寫的是A的register地址:127.0.0.1:1236,但是消息無(wú)法推送到B服務(wù)器的ws用戶

我看了源碼,按照我的理解,A的register 進(jìn)程里面應(yīng)該也是保存了B的gateway地址的,難道我gateway client的register address要寫兩個(gè)嗎:A:1236,B:1236,但是看源碼這樣寫是沒(méi)有意義的,該怎么做呢?

1038 4 1
4個(gè)回答

Gin

registerAddress為 ['192.168.0.1:1236','192.168.0.2:1236']

  • Kula 2023-10-18

    這樣不行的,下面是他里面的方法,它只取了其中一個(gè)地址,我試過(guò)了:
    foreach ($register_addresses as $register_address) {
    set_error_handler(function(){});
    $client = stream_socket_client('tcp://' . $register_address, $errno, $errmsg, static::$connectTimeout);
    restore_error_handler();
    if ($client) {
    break;
    }
    }
    if (!$client) {
    throw new Exception('Can not connect to tcp://' . $register_address . ' ' . $errmsg);
    }

  • Gin 2023-10-18

    AB 1236能互通不

  • Kula 2023-10-19

    可以的

小W

registerAddress 可以修改,推送給A后修改為B的注冊(cè)地址不可以?或者使用內(nèi)部通訊端口也行

  • 暫無(wú)評(píng)論
keytehu

如果A和B是一個(gè)集群,getewayClient調(diào)用是寫任何一個(gè)register地址即可。不是一個(gè)集群就要設(shè)置對(duì)應(yīng)的registerAddress

  • 暫無(wú)評(píng)論
meows

講道理可以互相通信,你看那張圖,但是你注冊(cè)中心不能寫127.0.0.1,要寫兩臺(tái)webman 其中一臺(tái)的內(nèi)網(wǎng)IP地址吧!
舉個(gè)例子,nginx 192.168.1.5, webman1 192.168.1.6:8002, webman2 192.168.1.7:8003;
這時(shí)候GatewayClient::$registerAddress = ["192.168.1.7:9005"],當(dāng)然GatewayWorker 網(wǎng)關(guān)服和邏輯服都要填寫這個(gè)注冊(cè)中心地址,不然無(wú)法通信。
這樣兩臺(tái)服務(wù)器都填寫這個(gè)IP就能相互通信,你127.0.0.1 肯定不行。

register 只有一個(gè)作用,登記邏輯服和網(wǎng)關(guān)服的ip:port,只要兩臺(tái)服務(wù)器的注冊(cè)中心一個(gè)地址,肯定是共享的。
只是你寫的127.0.0.1自然無(wú)法相互通信,相當(dāng)于各是各的注冊(cè)中心地址(也就是兩個(gè)注冊(cè)中心了)

  • Kula 2023-10-20

    問(wèn)題解決了,大佬你說(shuō)的是對(duì)的,要寫成內(nèi)網(wǎng)地址,然后gateway進(jìn)程數(shù)都設(shè)置為1,就可以相互發(fā)送消息,并且不會(huì)發(fā)重。

  • yongdao35 2023-10-20

    然后gateway進(jìn)程數(shù)不用特意設(shè)成1,它這個(gè)系統(tǒng)本來(lái)就是分布式的,可以多進(jìn)程多服務(wù)器

年代過(guò)于久遠(yuǎn),無(wú)法發(fā)表回答
??