Load balancer in front of Schema Registry instances

It is common to have multiple instances of the same application, for example Schema Registry, and have a load balancer in front of them. This can be useful for failover reasons in HA environments, and it can also help sharing the load between instances.

A load balancer can be any application (HAProxy, NGINX, and so on) that listens on a specific port and forwards requests (create schema, get schema, and so on) to Schema Registry instances.

A load balancer not only balances requests using round robin method, but also tracks application instances whether they are usable or not. Having a load balancer minimizes the need to change client-side properties with instance hostnames, because the only host that the client needs to know is the load balancer host. In case the environment is completely insecure, you do not need to perform any additional steps. But in case of SSL or Kerberos is enabled, some defending mechanisms (for example, hostname verification) can cause issues, which requires additional setup to make the load balancing work.