linkerd + Python Thrift RPC services

54 views
Skip to first unread message

Amit Saha

unread,
Jun 21, 2017, 1:41:32 AM6/21/17
to linkerd-users
Hi all,

Is there anyone on this list who has tried/deployed linkerd in a Python Thrift services setup? I am currently investigating it in our setup (as an alternative to HAProxy) and would like to hear of any experiences/issues/wins/losses.

Thanks,
Amit.

Kevin Lingerfelt

unread,
Jun 22, 2017, 2:11:22 PM6/22/17
to Amit Saha, linkerd-users
Hey Amit,

I've deployed both Python apps and Thrift apps with Linkerd in the mix, but not specifically a Python Thrift app :)

It should be straightforward to get this setup. The one issue with native thrift is that it lacks request context (as compared to say, TTwitter). So in a typical thrift setup you would have one linkerd config with multiple routers running on different ports, one router for each service to which you're sending traffic. This is a bit more cumbersome than HTTP, where you could have one router routing all traffic based on an identifying feature of the HTTP request, but it would still allow you to take advantage of all of linkerd's major features. Here are the ones that I think would be most useful from a thrift perspective:
  • Dynamic request routing: you can rebalance traffic to your backend thrift services by updating linkerd's routing rules, instead of needing to redeploy their callers.
  • Service discovery and load balancing: you can configure linkerd to talk to your service discovery backend, and linkerd will apply latency-aware load balancing over all instances.
  • Universal client metrics: linkerd will export fine-grained stats (latency, requests, connections, success rate, etc.) for all of your services, which gives you great visibility into the health of your system.
And the really nice part about relying on linkerd to provide these features is that you don't have to pour a lot of effort into writing python libraries to properly implement them.

Hope that helps,
Kevin

--
You received this message because you are subscribed to the Google Groups "linkerd-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to linkerd-users+unsubscribe@googlegroups.com.
To post to this group, send email to linker...@googlegroups.com.
Visit this group at https://groups.google.com/group/linkerd-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/linkerd-users/56497ee8-2f64-4f87-82a0-6272520941d2%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Amit Saha

unread,
Jun 28, 2017, 2:59:40 AM6/28/17
to linkerd-users
Hello Kevin,


On Friday, June 23, 2017 at 4:11:22 AM UTC+10, Kevin Lingerfelt wrote:
Hey Amit,

I've deployed both Python apps and Thrift apps with Linkerd in the mix, but not specifically a Python Thrift app :)

It should be straightforward to get this setup. The one issue with native thrift is that it lacks request context (as compared to say, TTwitter). So in a typical thrift setup you would have one linkerd config with multiple routers running on different ports, one router for each service to which you're sending traffic. This is a bit more cumbersome than HTTP, where you could have one router routing all traffic based on an identifying feature of the HTTP request, but it would still allow you to take advantage of all of linkerd's major features. Here are the ones that I think would be most useful from a thrift perspective:
  • Dynamic request routing: you can rebalance traffic to your backend thrift services by updating linkerd's routing rules, instead of needing to redeploy their callers.
  • Service discovery and load balancing: you can configure linkerd to talk to your service discovery backend, and linkerd will apply latency-aware load balancing over all instances.
  • Universal client metrics: linkerd will export fine-grained stats (latency, requests, connections, success rate, etc.) for all of your services, which gives you great visibility into the health of your system.
And the really nice part about relying on linkerd to provide these features is that you don't have to pour a lot of effort into writing python libraries to properly implement them.

Thanks for the summary and sharing your thoughts. These are definitely the things I am looking into linkerd to provide. I think i will be having follow  up questions, but so far been an exciting exploration!

Best Wishes,
Amit.


Hope that helps,
Kevin

On Tue, Jun 20, 2017 at 10:41 PM, Amit Saha <amits...@gmail.com> wrote:
Hi all,

Is there anyone on this list who has tried/deployed linkerd in a Python Thrift services setup? I am currently investigating it in our setup (as an alternative to HAProxy) and would like to hear of any experiences/issues/wins/losses.

Thanks,
Amit.

--
You received this message because you are subscribed to the Google Groups "linkerd-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to linkerd-user...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages