tag:blogger.com,1999:blog-8745745886722714957.post4986190233166988446..comments2023-05-15T07:45:38.542-07:00Comments on Andriy Redko {devmind}: Coordination and service discovery with Apache ZookeeperAndriy Redkohttp://www.blogger.com/profile/16473725484333171169noreply@blogger.comBlogger13125tag:blogger.com,1999:blog-8745745886722714957.post-1565200318762599312015-11-06T14:38:57.259-08:002015-11-06T14:38:57.259-08:00Hi Adam,
Thank you very much for the comment. You...Hi Adam,<br /><br />Thank you very much for the comment. You are very right, these days service discovery is often complemented by nginx/haproxy, so the client just uses single endpoint address. I haven't done that with ZooKeeper personally yet, but check out https://github.com/Xorlev/gatekeeper for example, I think this is what you need.<br /><br />Thank you!<br /><br />Best Regards,<br /> Andriy RedkoAndriy Redkohttps://www.blogger.com/profile/16473725484333171169noreply@blogger.comtag:blogger.com,1999:blog-8745745886722714957.post-88191380065077612672015-11-06T06:53:49.698-08:002015-11-06T06:53:49.698-08:00Hi Andriy,
This is a great article. Thanks for po...Hi Andriy,<br /><br />This is a great article. Thanks for posting!<br /><br />To piggyback off of Helen's questions, could this be used in conjunction with an nginx load balancer to dynamically update the routing based on what active entry points exists?<br /><br />For instance, either finding/developing some middleware to dynamically update the nginx routing config when a change is detected within Zookeeper's registry?<br /><br />That would solve both high availability for the services as well as simplifying scaling/deploying new instances.<br /><br />Thanks again!Adam T.https://www.blogger.com/profile/03643039878994050532noreply@blogger.comtag:blogger.com,1999:blog-8745745886722714957.post-17627858754062932962015-01-17T06:48:07.250-08:002015-01-17T06:48:07.250-08:00Thank you!Thank you!Andriy Redkohttps://www.blogger.com/profile/16473725484333171169noreply@blogger.comtag:blogger.com,1999:blog-8745745886722714957.post-71947864248326384562015-01-17T03:32:28.453-08:002015-01-17T03:32:28.453-08:00very nice blog good information your site
<a h...very nice blog good information your site <br /><a href='http://www.softql.com/services/infrastructure-management-services/datacenter">rf services </a>Anonymoushttps://www.blogger.com/profile/02316152444264245636noreply@blogger.comtag:blogger.com,1999:blog-8745745886722714957.post-91448510626139268502014-09-26T03:30:07.862-07:002014-09-26T03:30:07.862-07:00Hi Helen,
Thanks a lot for the clarification!
A...Hi Helen,<br /><br />Thanks a lot for the clarification! <br /><br />As far as I know, with ZooKeeper the use case you have described won't work. You basically looking for load balancer (like haproxy, nginx, ...): the configuration of active services could be retrieved from ZooKeeper and uploaded to load balancer, it will delegate the requests then to particular running instances (using round-robin, ...). I haven't done this but it sounds quite feasible.<br /><br />Thanks!<br /><br />Best Regards,<br /> Andriy Redko Andriy Redkohttps://www.blogger.com/profile/16473725484333171169noreply@blogger.comtag:blogger.com,1999:blog-8745745886722714957.post-90716229052681820492014-09-26T01:57:09.674-07:002014-09-26T01:57:09.674-07:00Hi Andriy,
Thanks for your responce.
In your exa...Hi Andriy,<br /><br />Thanks for your responce.<br /><br />In your example you showed how to query available services and consume them from the client application.<br /><br />I am just trying to understand if that is possible to consume the service without building a specific client. So that I could send HTTP request to Zookeeper (say just hit url from the browser) and then Zookeeper would delegate this request to one of the instances?<br /><br />Thanks,<br />HelenAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-8745745886722714957.post-45723209608567412242014-09-25T16:48:50.358-07:002014-09-25T16:48:50.358-07:00Hi!
Thanks a lot for your comment! The purpose of...Hi!<br /><br />Thanks a lot for your comment! The purpose of service discovery is to provide a single place where the services might be looked up. For example, the People REST services might be deployed somewhere (http://:/) and the discovery service will have the exact location(s) of the all available People REST services:<br />- http://host1:port1/rest/api/people<br />- http://host2:port2/rest/people<br />- http://host3:port3/api/people<br />...<br /><br />In the blog this single service registry is served by Zookeeper.<br /><br />Hope it makes things clear!<br />Let me know if you have more questions!<br /><br />Thanks!<br /><br />Andriy RedkoAndriy Redkohttps://www.blogger.com/profile/16473725484333171169noreply@blogger.comtag:blogger.com,1999:blog-8745745886722714957.post-14982291911740574772014-09-25T04:35:17.923-07:002014-09-25T04:35:17.923-07:00Hi Andriy,
Great article!
One question, let'...Hi Andriy,<br /><br />Great article!<br /><br />One question, let's say to consume your service without Zookeeper you would send HTTP request directly to http://localhost:8080/rest/api/people.<br /><br />But now that you registered your service in service discovery, how would you consume the service? Would you send the HTTP request to something like http://localhost:2181/services/people?<br /><br />Thanks,<br />HelenAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-8745745886722714957.post-32338687976946760242014-05-21T14:14:50.342-07:002014-05-21T14:14:50.342-07:00Hi João,
I am pretty sure you can. I would be hap...Hi João,<br /><br />I am pretty sure you can. I would be happy to help if you could post a pseudo code what you are trying to achieve. We can figure out the possible ways to do that.<br /><br />Thank you.<br /><br />Best Regards,<br /> Andriy RedkoAndriy Redkohttps://www.blogger.com/profile/16473725484333171169noreply@blogger.comtag:blogger.com,1999:blog-8745745886722714957.post-23814421204949344892014-05-21T10:07:25.493-07:002014-05-21T10:07:25.493-07:00Hi Andriy.
Do you know if it is possible to send ...Hi Andriy.<br /><br />Do you know if it is possible to send a list as a parameter? For this case, a List of person.<br /><br />Best Regards.João Laranjeirahttps://www.blogger.com/profile/17141090699361690088noreply@blogger.comtag:blogger.com,1999:blog-8745745886722714957.post-89319872694184469012013-11-18T14:34:20.509-08:002013-11-18T14:34:20.509-08:00Hi Munish,
Yes, that's another great project ...Hi Munish,<br /><br />Yes, that's another great project from Netflix. As far as I know it is designated to be used with Amazon Webservices (AWS) and has dependency to its SDK.<br /><br />Thank you.<br /><br />Best Regards,<br /> Andriy RedkoAndriy Redkohttps://www.blogger.com/profile/16473725484333171169noreply@blogger.comtag:blogger.com,1999:blog-8745745886722714957.post-13120525686482927342013-11-18T00:04:41.828-08:002013-11-18T00:04:41.828-08:00One easier way is to use the Netflix Eureka projec...One easier way is to use the Netflix Eureka project to handle this scenario.Munish Guptahttps://www.blogger.com/profile/07779305857165175881noreply@blogger.comtag:blogger.com,1999:blog-8745745886722714957.post-38741829406784078182013-11-02T03:55:25.342-07:002013-11-02T03:55:25.342-07:00Very nice article. I ever wanted to read something...Very nice article. I ever wanted to read something like that about zookeeper. Thanks.Anonymousnoreply@blogger.com