Согласно документации, дизайн сервера NATS основан на подходе «сервер в первую очередь» в отношении защиты от «ленивых клиентов». Ленивые клиенты просто загружаются при сценарии низкой производительности ios.
Из-за этого я усвоил предположение, что все, что подключается за границу, не должно подключаться напрямую к серверу NATS, а должно вместо этого обращаться к некоторому среднему уровню. точка обслуживания уровня, которая управляет и сопоставляет более плохо работающие внешние соединения через инициированные изнутри соединения с сервером NATS.
Например, рассмотрим узел обслуживания клиента на удаленном объекте клиента, который обращается к внутренним службам, обслуживаемым через NATS в той или иной форме.
Верно ли мое заявленное предположение в ОЧЕНЬ СТРОГОМ смысле, так что НИКОГДА не рекомендуется для этого удаленного узла подключаться к серверу NATS напрямую, даже при небольшом количестве возможных клиентских подключений И стабильной сетевой службе для эти средства?
Или можно sh подключаться напрямую с этого удаленного узла, ЕСЛИ, и ТОЛЬКО ЕСЛИ, у меня есть известная инфраструктура solid (низкая задержка, высокая пропускная способность, надежность и т. c).
Наконец, как насчет того, чтобы путь к этому удаленному узлу не относился к очень solid сетевой службе? В частности, лучше: A), как я описал, использовать посредническую службу на сервере для управления запросами на подключение к конечной точке и передачи их по внутренним соединениям, или B) лучше просто позволить ему подключиться напрямую к сервер и позвольте NATS загружать его по мере необходимости, затем используйте подход повторного подключения при отбрасывании, чтобы поддерживать соединение как можно лучше?
Хорошим примером является мобильная конечная точка, которая может работать как вверх, так и вниз. регулярно по разным причинам и вообще не из-за неисправности устройства или инфраструктуры.
В настоящее время я проектирую каждое решение NATS как «только внутреннее соединение». Если это излишне усложняет мой дизайн, конечно, я хочу прекратить навязать это ограничение дизайна. :)