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

Discovery not working #259

Open
ne0c0de opened this issue May 9, 2022 · 2 comments
Open

Discovery not working #259

ne0c0de opened this issue May 9, 2022 · 2 comments

Comments

@ne0c0de
Copy link

ne0c0de commented May 9, 2022

Hi,

I'm using cote on my native nodejs project which is working without any docker or kubernetes (just running it with pm2 on Ubuntu 18)

It's working as normal in AWS EC2 servers but when I tried to start same process with some version node_modules version on Vultr cloud servers, the services is not connecting to each other (Requested and Responders aren't matched.)

this is result of ifconfig command on Vultr machine:

enp1s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet aa.bb.ccc.ddd  netmask 255.255.254.0  broadcast aa.bb.ccc.255
        inet6 fd80::5400:3df:fdfb:39dc  prefixlen 64  scopeid 0x20<link>
        ether 56:00:03:fd:39:dc  txqueuelen 1000  (Ethernet)
        RX packets 2848909  bytes 1289495098 (1.2 GB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2950638  bytes 235336699 (235.3 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp6s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1450
        inet xx.yy.zzz.qq  netmask 255.255.240.0  broadcast xx.yy.aaa.255
        inet6 fd80::5800:3df:fdfb:39dc  prefixlen 64  scopeid 0x20<link>
        ether 5a:00:03:fd:39:dc  txqueuelen 1000  (Ethernet)
        RX packets 11  bytes 830 (830.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 23  bytes 1706 (1.7 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 2187997  bytes 620515769 (620.5 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2187997  bytes 620515769 (620.5 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp1s0 is public interface
enp6s0 is private (internal) interface

I tried to use cote like this:

const cote = require('cote')({ broadcast: 'xx.yy.zzz.qq' }) // with internal ip

But with this case only 2 process is connecting each other (whereas my project has 5 different process which each of them connecting to another one with different Requester-Responsed relationship) and it's only working if I start responded first and requester after.

What kind of problem is this?

Also I will appreciate if someone can explain me what I need to write for broadcast or multicast properties if I want to use them (internal ip, subnet or broadcast (where I think that it will be router ip))

Thanks

@ne0c0de
Copy link
Author

ne0c0de commented May 9, 2022

I tried almost all options but didn't get success and finally i switch to redis mode to get all process working...

@Aaqib925
Copy link

Aaqib925 commented Jun 21, 2022

Try updating these variables in your .env file

COTE_DISCOVERY_REDIS_HOST=redis
COTE_DISCOVERY_REDIS_URL=redis://your-redis-url
COTE_DISCOVERY_REDIS_PORT=6379
DISCOVERY_HOSTNAME=your-public-IPV4-address.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
2 participants