These are chat archives for spring-cloud/spring-cloud

4th
Aug 2015
ccit-spence
@ccit-spence
Aug 04 2015 10:50
ok, so I have a question. If in a scenario where all dns names are known is it necessary to run eureka? Essentially run the app with zuul only
part of the reason for this question is the difficulty of getting eureka to work with docker when the instances are spread across different host
Dave Syer
@dsyer
Aug 04 2015 11:18
Of course that works up to a point
ccit-spence
@ccit-spence
Aug 04 2015 11:19
yeah, I can think of a good number of problems as well after asking
more of a question from frustration with aws
can’t figure out a good way for eureka to discover docker containers properly
just trying to come up with ways around it
Dave Syer
@dsyer
Aug 04 2015 11:20
Generally you get more options if there is one "fixed point" (at Netflix it is eureka, I generally make it the config server).
You mean a local docker container on the same host?
At dev time?
ccit-spence
@ccit-spence
Aug 04 2015 11:21
either elastic beanstalk single instance or using ec2 container service with a cluster
in each case it could be any given host
local with one host works fine, you could just use links
Dave Syer
@dsyer
Aug 04 2015 11:22
Yeah, it loses its identity as a container in general
Weave might be interesting for you
At Netflix they use ELB to locate eureka at a well known address
What you are doing is building your own PaaS
ccit-spence
@ccit-spence
Aug 04 2015 11:24
to a point yes, it seems that way
everything works fine just using ec2 instances
if docker is introduced I get containers that look like this ab85e72a97fd
then ribbon and everything else have no idea how to find them
Dave Syer
@dsyer
Aug 04 2015 11:25
Yeah, you need to register a hostname
How you provide the route to the host is up to your platform
As in PaaS
ccit-spence
@ccit-spence
Aug 04 2015 11:27
the main issue with using a hostname in the aws world is the host is not stable
one reboot and it breaks
leaves for a compelling argument for me to try cloud foundry
Sergei Egorov
@bsideup
Aug 04 2015 11:38
in the aws world you can use Elastic Beanstalk and forget about all this issues :)
Alain Sahli
@alainsahli
Aug 04 2015 14:52
Not really, because the eureka client must get the IP and port set by the host and it is not that easy to get it. At least I didn’t find a way with elastic beanstalk multicontainer
There’s a feature request to solve that issue here: aws/amazon-ecs-agent#151 Hopefully they’ll implement it soon.
Dave Syer
@dsyer
Aug 04 2015 16:03
You're better off setting the hostname explicitly in a platform service like that
In raw AWS you could use an ELB to front Eureka, and let the other apps float (that's what Netflix do)
In a PaaS I suspect it's better to take advantage of whatever route register is available
ccit-spence
@ccit-spence
Aug 04 2015 20:43
@alainsahli Agreed, I have tried EB, EB Multi, and straight ECS. @dsyer Yeah, setting the host is ideal. The problem with docker/aws is getting the host to the container. Another simple solution would be to be able to get to the —net=“host” setting. I have not found a way to set that.
Dave Syer
@dsyer
Aug 04 2015 21:32
Use lattice or something like that. It'll give you an abstraction over routes
ccit-spence
@ccit-spence
Aug 04 2015 21:43
I did just make a small experiment, aws specific obviously. and that is to move some of the properties to aws rather than spring config. Need to expand a little more on it. May have some promise. As far as lattice, I am a little apprehensive of one piece of software having the capability of knocking everything down. Upgrades, bugs etc..