You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@helix.apache.org by Ravindra Pindikura <ra...@dremio.com> on 2019/12/17 13:59:12 UTC

routing service requests with helix

Hi all,

I'm exploring helix for a project that involves multiple microservices on
kubernetes. Say, ServiceA and ServiceB are consumers of two services -
ServiceC and ServiceD. The two services, ServiceC and ServiceD manage two
different resources in helix (they have a participant role, with
partitions).

What's the recommended way to do the routing of rpc calls from service A/B
to service C/D ?

One possibility is to make the instances of serviceA and serviceB as
spectators and use the routingTable APIs from helix
<http://helix.apache.org/0.9.1-docs/tutorial_spectator.html>. but, this
requires modifying both services to include and run the spectator library.

Is it possible to integrate this capability into a load balancer or proxy
instead ? I looked at envoy, linkerd and gce - none of them seem to have
hooks to plug in this type of an agent. I'm fairly new to helix and load
balancers so I probably missed some of the capabilities - Would appreciate
your thoughts or pointers on this.

-- 
Thanks and regards,
Ravindra.

Re: routing service requests with helix

Posted by Hunter Lee <na...@gmail.com>.
Hi Ravindra -

Have you looked at
https://helix.apache.org/0.9.1-docs/tutorial_messaging.html? It sounds like
what you might be looking for?

Hunter

On Tue, Dec 17, 2019 at 5:59 AM Ravindra Pindikura <ra...@dremio.com>
wrote:

> Hi all,
>
> I'm exploring helix for a project that involves multiple microservices on
> kubernetes. Say, ServiceA and ServiceB are consumers of two services -
> ServiceC and ServiceD. The two services, ServiceC and ServiceD manage two
> different resources in helix (they have a participant role, with
> partitions).
>
> What's the recommended way to do the routing of rpc calls from service A/B
> to service C/D ?
>
> One possibility is to make the instances of serviceA and serviceB as
> spectators and use the routingTable APIs from helix
> <http://helix.apache.org/0.9.1-docs/tutorial_spectator.html>. but, this
> requires modifying both services to include and run the spectator library.
>
> Is it possible to integrate this capability into a load balancer or proxy
> instead ? I looked at envoy, linkerd and gce - none of them seem to have
> hooks to plug in this type of an agent. I'm fairly new to helix and load
> balancers so I probably missed some of the capabilities - Would appreciate
> your thoughts or pointers on this.
>
> --
> Thanks and regards,
> Ravindra.
>