Ограничения механизма SunRPC как архитектуры клиент-диспетчер-сервер и сравнение с брокером
Я читаю книгу по шаблонам проектирования (старое издание) " Архитектура программного обеспечения, ориентированная на шаблоны". В главе, посвященной Client-Dispatcher-Server, SunRPC упоминается как архитектура Client-Dispatcher-Server, а portmapper действует как Dispatcher в согласовании клиент-сервер. Я практически никогда не пользовался SunRPC, хотя знаю более или менее, как он работает.
У меня три вопроса:
- Каковы программные ограничения (с точки зрения интерфейсов и функций) SunRPC как механизма клиент-диспетчер-сервер?
- Какие современные системы похожи лучше для достижения той же архитектуры Client-Dispatcher-Server (независимо от языка)?
- Каковы внутренние различия между архитектурой брокера и архитектурой клиент-диспетчер-сервер?
Я понимаю, что вопросы много и сложны. Я рассмотрел вопрос о разделении на независимые вопросы, но смысл этого представления - об общих принципах и ограничениях архитектуры, а конкретный пример - SunRPC. Исходя из этих соображений, я заблаговременно объявляю, что я назначу вознаграждение в 100 представителей, как только у меня будет такая возможность, независимо от уровня моей удовлетворенности ответами в течение льготного периода.
2 ответа
Эта терминология необычна (по крайней мере для меня), может быть, поэтому вы не получаете много ответов. Судя по диаграмме на стр. 327, клиент-диспетчер-сервер означает, что перенаправление на реальный сервер происходит во время соединения, в то время как брокер вставляет во всю связь ( стр. 109)? Предполагая, что современными терминами будут "перенаправление" (или "служба имен" или "служба каталогов" и т. Д.) И "прокси", соответственно. Основным отличием является компромисс между задержкой и доступностью, то есть брокеры могут исправлять ситуацию, когда сервер умирает, а диспетчеры - нет; но брокеры добавляют немного времени обработки к конвейеру.
Современные экземпляры обоих шаблонов можно найти на больших веб-сайтах: они обычно используют циклический или более сложный DNS-сервис с балансировкой нагрузки (диспетчер), а также кэшируют обратные прокси-серверы (брокеры).
Я не очень много знаю о SunRPC и его ограничениях, и я понятия не имею, можно ли его использовать циклически (поиск в Google по запросу " балансировка нагрузки по портам" ничего не дает, FWIW). Запись в таблице portmapper обычно указывает на один сервер, работающий на том же хосте, т.е. в основном этот механизм служит для того, чтобы избежать выделения хорошо известных портов TCP службам SunRPC.
Это хороший набор вопросов. Вы можете попробовать список шаблонов siemens как uiuc. Последнее, что я знал, это был довольно низкий уровень громкости, но там было много острых людей, даже некоторые из авторов. Вы можете спросить и поделиться своим просветлением.