Use Zookeeper or Docker Swarm to implement a cluster? [closed] - microservices

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 1 year ago.
Improve this question
I think one maintains the service objects of a microservice as a cluster, correct? To create a cluster, do I use Zookeeper or Docker Swarm ?
I already have a service-registry with Eureka.
Thanks
Yours sincerely,
von Spotz

Zookeeper is equivalent to the Docker Swarm Daemon in that it knows about the services and will act like a DNS for the services.
Zookeeper and Eureka are higher level constructs, and can work with any TCP/IP service. Docker Swarm is superior in that it simply manages it for you using DNS.
You "can" use Zookeeper in a Docker Swarm, but I would avoid it unless it is really needed and keep it's scope small (namely because Kafka needs it).

Related

ServiceMix ESB as Bus or Container? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
Should we use ServiceMix ESB as bus (i.e. communication channels) or as container to host services?
My current company host services (JMS/SOAP/RESTFUL etc, built by Java) in their own separate containers/servers etc, then each of these communicate to each other via the ServiceMix ESB, by adding extra bindings.
Is this a correct approach?
Should we migrate all existing services to become OSGI bundles, then host on ServiceMix?
I'd say it depends more on your current system land-scape. How do you handle failover and such. I personally would have all my service on that machine and if a routing is needed would try to do an "in-memory" routing instead of doing external service calls, would be much faster. On the other hand this again depends purely on how your application stack is working and if you have "time-critical" service calls that would perform better if run inside the same jvm. So actually there can't be a "silver-bullet" approach on this. As usual it depends ...

How does AWS EC2 scale if more resourses needed? [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I launched a t1.micro instance running Apache and MySQL servers on Ubuntu. Basically I'm using it to host my photo sharing app that may have huge random spikes in terms of visitors.
How does AWS go about it?
Will the instance automatically upgrade to appropriate horse power to keep up with demand and growing storage demands?
No, you have to manually make your instance more powerful by first making sure it is in the stopped state (this requires EBS volumes or you'll lose your data), then going to the AWS console, right click your instance and select 'Change Instance Type'.
If you are interested in a more automated approach, I suggest an Elastic Load Balancer with an Auto-scaling policy. With Auto-scaling, Amazon will spin up or down new instances based on set points that you provide (i.e. CPU usage reaches 80% for 10 minutes).

Automatic Ejabberd clustering with EC2 (Amazon Web Services) [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 9 years ago.
Improve this question
Using Ejabberd in EC2 as an XMPP server to send real-time information to clients...
How it is possible to set up clustering so that if the load on the server gets too much, Auto Scaling will create a new EC2 instance that is part of the Ejabberd cluster?
The documentation I've read suggests that you must already have the machines and manually configure each new one to be added to the cluster. Surely though you don't have to be running redundant EC2 instances just in case?
You'll need to do this manually, however a single ejabberd server can handle quite a lot of traffic. Each server adds a significant amount of available connections to your cluster, so it's not a common task.
That said, I'd really be careful running ejabberd in EC2. I've been doing it for about a year, and we fight mnesia network partitioning pretty regularly. Clustered ejabberd servers don't work very reliably in the EC2 network.
I am installing an infrastructure based on EC2 + ejabberd and have read this post. Do not you recommend? I planned to use as backend mysqlk (in AWS RDS) for tables that store large amounts of data. What do you think?

XMPP server in Amazon EC2 [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 9 years ago.
Improve this question
Which XMPP server would you recommend for use in Amazon Web Services, running on EC2 instances?
It should scale, with automatic (or at least easy) clustering being very useful - it's scaling should also support an XMPP server component. It would be nice if the automatic scaling could work with Amazon Auto Scaling.
Which XMPP server (or even a different cloud offering) would you use? As far as I can tell OpenFire and Ejabberd are the most popular choices, but I'm concerned they won't scale well on EC2 instances.
To my knowledge there is no XMPP server with automatic clustering.You should be aware that automatic clustering with XMPP is extremely difficult because it is a connected protocol and it cannot be totally transparent, unless you only want to support HTTP (XMPP over BOSH).
You will end up with question like: what do you do with running TCP/IP connection when you want to remove a node ? Do you want to migration session when adding a node ? What do you do with running TCP/IP connection.
ejabberd has good clustering support however and it runs extremely well on EC2 and is very stable. This is your best bet.
OpenFire to my knowledge is not an option with no real, largely available clustering support.

Service Discovery on Amazon AWS [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
does anyone have suggestions for dynamic service discovery on Amazon AWS?
I am thinking about ZooKeeper but would like an approch that do not require running VM's.
Check out Netflix's curator project.
It is a framework, client, and recipe wrapper around ZooKeeper.
One of the extensions is Service Discovery.
What Is a Discovery Service?
In SOA/distributed systems, services need to find each other. i.e. a
web service might need to find a caching service, etc. DNS can be used
for this but it is nowhere near flexible enough for services that are
constantly changing. A Service Discovery system provides a mechanism
for:
Services to register their availability
Locating a single instance of a particular service
Notifying when the instances of a service change
curator Service Discovery enables:
Registering/Unregistering Services
Querying for Services
Service Cache
What do you mean service discovery......you can use udp and whatever you need and broadcasting in a VPC to "discover" whatever you need and comes online. What does zookeeper(a system for helping to distributed transactions) have to do with service discovery.

Resources