2016-11-29 21 views
6

Tôi đang cố gắng triển khai solution (trên Win10 x64), nhưng vì một số lý do tất cả các nút SocketCluster từ chối giao tiếp với nhau.kết nối các máy chủ socketcluster

enter image description here

Sothis là cur của tôi. cấu hình:

  • 1 StateServer [7777]
  • 1 BrokerServer [8888]
  • 2 máy chủ SocketCluster chạy trên các cổng [8000, 8001]
  • 1 loadbalancer [2000] chia đề cá nhân giữa 2 nút.

tôi đảm bảo rằng severs cả Nhà nước và môi giới đang lắng nghe: (?)

TCP [::]:7777    [::]:0     LISTENING 
    TCP [::]:8888    [::]:0     LISTENING 

Từ những gì tôi đã hiểu cho đến nay, BrokerServer cùng với SocketCluster hạch tất cả nên kết nối với StatusServer

Tôi có thể kết nối thành công BrokerServer đến StateServer, nhưng bất cứ khi nào tôi cố gắng kết nối bất kỳ dịch vụ SocketCluster nào, nó báo cáo lỗi 'socket hung'.

StateServer:

SC Cluster State Server is listening on port 7777 
Sever d08298c6-523f-4c1b-9fcc-efd4e92fab22 at address undefined on port 8888 joined the cluster 
Client 10612bde-514f-40d3-9340-7179a1901376 at address undefined joined the cluster 
Cluster state converged to active:["ws://[undefined]:8888"] 

SocketCluster dụ:

{ SocketProtocolError: Socket hung up 
    at Emitter.SCSocket._onSCClose (C:\Users\Alex\AppData\Roaming\npm\node_modules\sc-cluster-broker-client\node_modules\socketcluster-client\lib\scsocket.js:596:15) 
    at Emitter.<anonymous> (C:\Users\Alex\AppData\Roaming\npm\node_modules\sc-cluster-broker-client\node_modules\socketcluster-client\lib\scsocket.js:285:12) 
    at Emitter.emit (C:\Users\Alex\AppData\Roaming\npm\node_modules\sc-cluster-broker-client\node_modules\component-emitter\index.js:131:20) 
    at Emitter.SCEmitter.emit (C:\Users\Alex\AppData\Roaming\npm\node_modules\sc-cluster-broker-client\node_modules\sc-emitter\index.js:28:26) 
    at Emitter.SCTransport._onClose (C:\Users\Alex\AppData\Roaming\npm\node_modules\sc-cluster-broker-client\node_modules\socketcluster-client\lib\sctransport.js:175:30) 
    at WebSocket.wsSocket.onerror (C:\Users\Alex\AppData\Roaming\npm\node_modules\sc-cluster-broker-client\node_modules\socketcluster-client\lib\sctransport.js:104:12) 
    at WebSocket.onError (C:\Users\Alex\AppData\Roaming\npm\node_modules\sc-cluster-broker-client\node_modules\ws\lib\WebSocket.js:452:14) 
    at emitOne (events.js:96:13) 
    at WebSocket.emit (events.js:188:7) 
    at WebSocket.EventEmitter.emit (C:\Users\Alex\AppData\Roaming\npm\node_modules\socketcluster\node_modules\sc-domain\index.js:12:31) 
    name: 'SocketProtocolError', 
    message: 'Socket hung up', 
    code: 1006 } 
+0

Tôi đang đối mặt với cùng một vấn đề trên linux với các phiên bản mới nhất của phiên bản trạng thái, nhà môi giới và socketcluster repos. Bạn có tìm thấy cách giải quyết nào không? – nagamanojv

+0

, ngay sau khi tôi chuyển sang Ubuntu, mọi thứ bắt đầu hoạt động. Chưa thử nghiệm repo mới nhất. – Alexus

+0

Tôi hiện chỉ đang sử dụng ubuntu. Nó không hoạt động. Dunno có chuyện gì vậy. – nagamanojv

Trả lời

1

Hóa ra, đó là mở rộng quy mô các cụm theo chiều ngang không hoạt động đúng trên hệ điều hành Windows được nêu ra (sử dụng phiên bản phiên bản 1.2 hiện hành. 1). Cả hai nút SocketCluster không giao tiếp với nhau brokerServer vì một số lý do.

1

Bạn có đang chạy những trường hợp đó trong vùng chứa Docker không?

Dựa trên đầu ra nhật ký mà bạn nhận được từ máy chủ trạng thái (địa chỉ không xác định), có vẻ như trường hợp scc-state không thể tìm ra địa chỉ IP của cá thể của bạn. Điều này có thể xảy ra vì nhiều lý do. Ví dụ, chạy một thể hiện bên trong một thùng chứa Docker có thể che khuất địa chỉ IP thực của cá thể đó. Cũng có thể chạy SCC trên Windows có thể gây ra các sự cố tương tự. Giải pháp cho vấn đề này là đặt biến môi trường SCC_INSTANCE_IP khi khởi chạy từng cá thể - Biến môi trường này sẽ giữ địa chỉ IP của cá thể mà các phiên bản khác có thể sử dụng để kết nối với nó (nếu sử dụng Docker, bạn có thể sử dụng docker inspect lệnh để tìm địa chỉ IP mạng riêng của một vùng chứa cụ thể).

SCC_INSTANCE_IP có thể là địa chỉ IP riêng, địa chỉ IP công khai hoặc tên máy chủ.

Các vấn đề liên quan