Netflix / dynomite

A generic dynamo implementation for different k-v storage engines
Apache License 2.0
4.19k stars 531 forks source link

Dyno / DynomiteDB Haproxy setup #744

Open kanagasabai-karunanithy opened 4 years ago

kanagasabai-karunanithy commented 4 years ago

Hi All, I am new to DynomiteDB, As of now, I have set up two racks in the same DC.

rack1 ( 3 nodes ) rack2 ( 3 nodes )

Dynomite DB is working good, I see replication is happening, Now my Question here is, How to setup Haproxy or Dyno.

How clients need to hit a single IP where that should take care of which rack is active and send traffic to that rack.

can you explain how to setup Dyno step by step including config file and path?

jhsware commented 4 years ago

Just use a standard HAProxy setup. In this case I have installed it locally on the machine that wants to access the Dynomite cluster. Then you add a listener in tcp-mode:

# service: redis
listen tcp-in-service-redis
    bind 127.0.0.1:6380
    mode tcp
    use_backend redis

    backend redis
        mode tcp
        balance roundrobin
        server redis1 dyno1.host.com:6380 check
        server redis2 dyno2.host.com:6380 check

Details on what the config means: http://cbonte.github.io/haproxy-dconv/2.2/configuration.html