Без центральной точки для координации распределения соединений между вашими конечными точками обслуживания вы в значительной степени ограничены выбором произвольного числа из четырех при каждом установлении соединения.Разумный подход может заключаться в том, чтобы использовать каждую конечную точку по очереди для последовательных взаимодействий с клиентом (начиная с одной, выбранной случайным образом, чтобы гарантировать отсутствие сильного смещения к одной конечной точке в моменты, когда клиенты могут быть перезапущены).
В качестве альтернативы вы можете реализовать конечную точку, которая возвращает предпочтительное соединение, с которого клиент будет делать последующие вызовы.Затем реализация может назначать клиентам циклический стиль или со ссылкой на нагрузку, сообщаемую каждой конечной точкой в любой момент времени.
Из двух подходов первый намного проще и должен обеспечивать разумное равномерное распределение поконечные точки.Последнее позволит добавлять дополнительные конечные точки без необходимости обновления клиентов.