[
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)