Giter Club home page Giter Club logo

Comments (11)

hseeberger avatar hseeberger commented on July 20, 2024

Does that make sense at all? Why not put etcd (or some other HA service) behind a reverse proxy? That way the actual endpoints are flexible.

from constructr.

choffmeister avatar choffmeister commented on July 20, 2024

I am currently just diving into running akka-cluster inside of kubernetes and am still wrapping my head around this stuff. So I might be totally wrong here :)

Is having a load-balancer in front of ETCD a good practise? When I need to update ETCD this should just work find with 100% uptime, but what if I have to update the load-balancer itself? If other components talk to ETCD via the load-balancer and not by probing the individual ETCD instances directly, then I have a crucial component in my distributed system which cannot be updated without down-time… Or am I wrong here?

On 22 Jun 2016, at 12:21, Heiko Seeberger <[email protected] mailto:[email protected]> wrote:

Does that make sense at all? Why not put etcd (or some other HA service) behind a reverse proxy? That way the actual endpoints are flexible.

β€”
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub #115 (comment), or mute the thread https://github.com/notifications/unsubscribe/AAo_hN1a2FiJwvivSQd2UL1fiYLTbug3ks5qOQyzgaJpZM4I7mxf.

from constructr.

hseeberger avatar hseeberger commented on July 20, 2024

Ah, well, yes, but why would you want to update the load balancer? BTW, a lot of platforms offer automatic load balancers, Docker Cloud or AWS, which you of course never have to update.

from constructr.

hseeberger avatar hseeberger commented on July 20, 2024

But anyway, I think it won't hurt to take a set of endpoints instead of a single one, so go for it!

from constructr.

choffmeister avatar choffmeister commented on July 20, 2024

Yeah, it is just another option (load balancers on EC2 and others are expensive πŸ˜„)

Hope I will find some time next week.

from constructr.

markusjura avatar markusjura commented on July 20, 2024

This is not only interesting for etcd but also other coordination services.

I'd like to see that the constructr.coordination.host and constructr.coordination.port format is changed to constructr.coordination.nodes. This value is a string list and can contain multiple coordination nodes such as:

constructr.coordination.nodes = ["10.0.0.10:2379", "10.0.0.11:2379", "10.0.0.12:2379"]

I'd be happy to provide a PR. However, I don't know how the etcd HTTP API used in the EtcdCoordination class could make us of multiple nodes? As far as I understand, it is only possible to send an HTTP request to one particular node, not too multiple. Ideas?

from constructr.

markusjura avatar markusjura commented on July 20, 2024

Using multiple nodes in the [https://github.com/typesafehub/constructr-zookeeper] coordination service is easy once the constructr.coordination.nodes key is available. curator is used as a high-level Zookeeper API and with that, you can specify multiple nodes when establishing a connection to a Zookeeper cluster.

from constructr.

hseeberger avatar hseeberger commented on July 20, 2024

I hear what you are saying. So far, I was thinking that one would access the (clustered) coordination service through a URI (host and port) representing a load balancer. I was thinking that this reflects real life scenarios much closer or better, because the clustered coordination service might eventually grow or shrink in size or simply change the set of URIs over time by adding new nodes and removing old ones – which is not well abstracted over with a set of URIs.

from constructr.

markusjura avatar markusjura commented on July 20, 2024

Yes, this can be the case. But I think the other case of specifying multiple endpoints exists in the "real-world" as well. This is the default for every framework on Mesos, and of Mesos itself.

I'll try to submit a PR soon to support multiple endpoints not only for etcd, but for every possible coordination service implementation.

from constructr.

markusjura avatar markusjura commented on July 20, 2024

FYI: I've created a PR for constructr-zookeeper that enables to specify multiple endpoints to join a multi-node ZK cluster: typesafehub/constructr-zookeeper#10

I've also checked if I can do that for the etcd coordination service as well, but I couldn't find a simple way of doing this because here we are using a URI to connect to etcd. So I am not sure how to connect to a multi-node etcd cluster in such fashion.

from constructr.

hseeberger avatar hseeberger commented on July 20, 2024

OK, let's close this ticket then.

from constructr.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.