django - Is this necessary to have multiple processes / threads in a Kubernetes pod? -
i'm using uwsgi in container hosted in kubernetes cluster. uwsgi supports traditional master / slave architecture provide better availability application question is, should use feature?
in other words, when need more processes handle , compute requests, should increase number of pods in cluster or should still use master / slave mode of uwsgi respond requests?
be conscious of having enough threads/processes/pods maintain availability if application blocks while serving each http request (e.g. django). there going pod startup time if you're using horizontal pod autoscaler, , found high traffic application had better availability uwsgi , application within each pod (same container), , separate nginx pod doing reverse proxying , request pooling when uwsgi workers busy.
ymmv @ end of day, availability more important sticking single process per pod rule of thumb. understand downsides, such less isolation between processes within same container. logs available on per container basis, there won't isolation between in same container using built in kubectl logs functionality.
Comments
Post a Comment