This message was deleted.
# general
s
This message was deleted.
s
It depends on your workload and deployment mechanism. If Druid is deployed directly on physical nodes or VMs, it can make sense to run them together in a single node and split the CPU and Memory resources among them. Multiple nodes provide H/A for both MMs and Historicals with less nodes overall. On kubernetes deployments, the same can be true. MMs and Historicals are deployed on separate containers. It is usually up to affinity and anti-affinity rules to select nodes on which to deploy the containers. So you can choose to also have them share underlying nodes or not.
g
The recommendation to share servers like that is for a couple reasons: 1) to keep things simple 🙂 with fewer different kinds of servers to worry about 2) to encourage CPU-sharing: if Historical or MM is not using the full CPU, then the other one can grab some. It's common for both of them to be bursty so this can help get better overall CPU utilization
However, if you are using k8s, or doing auto-scaling, or have a fancy multi-tier setup, it can make more sense to separate them