Hacker News new | past | comments | ask | show | jobs | submit login

A caveat with libcluster + k8s though - it doesn't play nicely with sudden burst of traffic.



To be fair, there are problems with other languages/runtimes and bursty traffic as well - autoscaling isn't great when it takes 20 minutes to provision a new server to run your .Net app.


Could you expand on that or link to something that does? I was considering using libcluster on k8s, so curious about the limitations you're referring to.



Can you talk about this more? :) Why is that the case?


I'll give you a bit of background to explain it better.

Our service is primarily a graphql API. The mobile apps talk to our service, and then it internally talks to other services. We use Absinthe for graphql, and a lot of it is subscription based.

Since these nodes (pods in k8s terms) are clustered, each pod is aware of the other pod. Sometimes we get a huge spike in traffic and the clusters can't start fast enough (we're increasing the scale up time in k8s) and a pod can get OOM killed due to number of graphql subscription and then just go in crashloop. This leads to libcluster thinking the node is still good but when infact it's in crashloop, and thus not allowing any new pods coming up to start up.

We're experimenting with few things, but yeah clustering is not without it's pain


thanks for such a concise answer!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: