Я всегда работал над мобильными технологиями, и теперь я перехожу к бэкэнд-системам, в частности, к проектированию систем. Я постоянно сталкиваюсь с противоречивыми утверждениями о роли API-шлюза и балансировщика нагрузки. Googling вернул только те же полдюжины результатов, которые в основном сосредоточены на реализации службы балансировки нагрузки или API-шлюза, предоставляемой некоторыми известными службами. Я перечислю здесь все недоразумения, с которыми я сталкиваюсь, в надежде, что кто-то сможет прояснить их все.
Иногда я сталкиваюсь с тем, что API-шлюз является единственной точкой связи с клиентскими устройствами. С другой стороны, в некоторых местах упоминается, что «запрос направляется на балансировщик нагрузки, который равномерно распределяет его по серверам». Так что правильно? API-шлюз получает запросы или балансировщик нагрузки?
В других местах, когда я гуглил топи c, говорят, что они совершенно разные. Я понял, что API Gateway делает много вещей, таких как завершение SSL, ведение журнала, регулирование, проверка и т. Д. c, но он также выполняет распределение нагрузки. Итак, API Gateway сам по себе является балансировщиком нагрузки, наделенным другими обязанностями?
В топи c я хочу понять, распределяет ли распределитель нагрузки нагрузку между серверами одного кластера или между различными центрами обработки данных или кластерами? А как насчет API Gateway?
Что такое спецификация c для шлюза API, что по умолчанию это выбор для архитектуры микросервиса? Где размещаются шлюзы API? DNS разрешает доменное имя в балансировщик нагрузки или шлюз API?
Как это может быть понятно, я полностью сбит с толку. В каких системах балансировщик нагрузки выигрывает больше, чем API-шлюз, если вопрос правильный?