Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SCC Guide - Unable or unsure to run on multiple machines #519

Open
34r7h opened this issue Oct 23, 2019 · 2 comments
Open

SCC Guide - Unable or unsure to run on multiple machines #519

34r7h opened this issue Oct 23, 2019 · 2 comments

Comments

@34r7h
Copy link

34r7h commented Oct 23, 2019

This is wonderful work and I'm very grateful to find this repo. I'm having difficulty understanding how to scale to multiple networks following the SCC guide and also confused on the recommended architecture. The main issue is clients on separate servers are not finding messages from each other.

On a gcloud instance, i start the state (node server.js), broker( SCC_STATE_SERVER_HOST='[google given ip]' SCC_BROKER_SERVER_PORT='8888' node server ), and ( SCC_STATE_SERVER_HOST='[google given ip]' SOCKETCLUSTER_PORT='8000' node server ) client servers. Everything works and I can access the google given ip from anywhere.

On my localhost I start broker and client servers with the same commands with the google ips. The state server registers the brokers and workers on both machines:

Waiting 5000ms for initial scc-broker instances before allowing scc-worker instances to join
The scc-state instance is listening on port 7777
State server is now allowing scc-worker instances to join the cluster
The scc-broker instance 45a77768-c686-49f6-b79f-51b43d463822 at address ::ffff:35.223.156.17 on port 8888 joined the cluster on socket qlcAdjbw6tXq6fp0AAAA
The scc-worker instance 1b75cc5e-8931-46ed-ab73-5aae6214e952 at address ::ffff:35.223.156.17 on port 8000 joined the cluster on socket errAsDdh9SCCHSqYAAAB
The scc-broker instance 2c1d4737-6ede-4e48-b4ec-bea4cbc9c416 at address ::ffff:185.168.226.254 on port 8888 joined the cluster on socket KwjMvKfKUR2VNfFEAAAC
The scc-worker instance 2327d3c0-7942-476e-a75a-f69857944c14 at address ::ffff:178.134.28.18 on port 8000 joined the cluster on socket 2XZowZwuxkibGol_AAAD

The client server on the google ip reacts to emitting a message from the browser connecting to the google IP but the local client server does not react to emitting a message from the localhost browser connection. Both client servers are throwing:

{ SocketProtocolError: Client connection establishment timed out
    at SCClientSocket._onSCClose (/Users/34r7h/apps/xymba/node_modules/socketcluster-client/lib/scclientsocket.js:632:15)
    at SCTransport.<anonymous> (/Users/34r7h/apps/xymba/node_modules/socketcluster-client/lib/scclientsocket.js:304:12)
    at SCTransport.Emitter.emit (/Users/34r7h/apps/xymba/node_modules/socketcluster-client/node_modules/component-emitter/index.js:133:20)
    at SCTransport._onClose (/Users/34r7h/apps/xymba/node_modules/socketcluster-client/lib/sctransport.js:217:28)
    at Timeout.<anonymous> (/Users/34r7h/apps/xymba/node_modules/socketcluster-client/lib/sctransport.js:86:10)
    at ontimeout (timers.js:436:11)
    at tryOnTimeout (timers.js:300:5)
    at listOnTimeout (timers.js:263:5)
    at Timer.processTimers (timers.js:223:10)
  name: 'SocketProtocolError',
  message: 'Client connection establishment timed out',
  code: 4007 }

Am I missing something? I made one change to the broker server to use 'ws' since 'sc-uws' was giving compilation errors. Thanks!

@34r7h 34r7h changed the title How to distribute state servers to reduce network downtime SCC Guide - Unable or unsure to run on multiple machines Oct 23, 2019
@34r7h
Copy link
Author

34r7h commented Oct 23, 2019

Ah I found that by stopping the broker server on local has allowed client messages to connect to each other. So I only need one machine to run state and broker services, while other machines simply run the client servers?

@happilymarrieddad
Copy link
Contributor

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants