[ 
https://issues.apache.org/jira/browse/AURORA-761?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14171393#comment-14171393
 ] 

Isaac Councill commented on AURORA-761:
---------------------------------------

Had arguments about it today with SRE. Current strategy will involve consul 
since it will play well across our whole ecosystem. Internal clients will use 
libraries to make connections to other internal services, getting a randomized 
SRV record for a healthy backend from consul then connecting to it directly.

Perimeter connections will be handled using HAProxy, with configs kept in sync 
via consul-haproxy.

To get started, we've just replicated ZK serversets into consul. When we get 
farther down the path, we'll want to extend Announcer with the option to speak 
directly to consul instead of ZK.

We've got plenty more tire-kicking of consul to do, but that's the plan.

The main alternative we looked at was doing something like Qubit's bamboo for 
serversets. Would be easy to just replicate serversets directly to HAProxy 
config but we don't want every connection going through a proxy, and call to 
consul is better for us than a call to ZK for the general case of determining a 
list of healthy backends for an app.

> Provide a proxy for generic service discovery
> ---------------------------------------------
>
>                 Key: AURORA-761
>                 URL: https://issues.apache.org/jira/browse/AURORA-761
>             Project: Aurora
>          Issue Type: Story
>          Components: Service Discovery, Usability
>            Reporter: Bill Farner
>            Priority: Minor
>
> While {{Announcer}} provides service registration, we lack a cross-cutting 
> answer for service discovery.  There are well-known libraries that will do it 
> (e.g. finagle), but we need an answer for others.  Marathon, for example, 
> provides a script called {{haproxy_marathon_bridge}} that reloads 
> configuration of HAProxy for this purpose.  We could do something similar 
> with a mixin {{Process}} that dynamically routes an inbound port to a 
> serverset path in ZooKeeper.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to