2016-07-14 3 views
1

В документации указано: Клиенты GemFire ​​- это процессы, которые отправляют большинство или все свои запросы и обновления данных в серверную систему GemFire. Клиенты работают как автономные процессы, без собственных сверстников.Как отличается клиент от однорангового сервера?

По существу, все одноранговые узлы общаются между собой для управления кешем. Запись, сделанная одним партнером в регионе, относится ко всем другим сверстникам. Аналогично, кеш клиента обновляется, как только на сервере происходят изменения. Также клиенту разрешено делать новые записи в регионе, которые будут распространяться на всех одноранговых серверов.

В чем же разница между клиентом и сервером? Основываясь на моем понимании, оба имеют доступ ко всем данным, и оба могут выполнять одни и те же операции.

ответ

1

Основное различие между одноранговым узлом и клиентом заключается в том, что одноранговый узел подключается ко всем другим членам распределенной системы; он имеет по меньшей мере 2 соединения, открытые во все времена друг другу в распределенной системе. Клиентам не нужны подключения ко всем серверам, достаточно одного подключения к одному серверу. Таким образом, вы можете иметь десятки тысяч клиентов, но могут быть только сотнями сверстников. (Количество соединений, устанавливаемых клиентом, может быть настроено при создании client pool. Вы также можете настроить один хоп на клиенте, который позволяет ему напрямую подключаться к серверам, с которыми он хочет работать).

Последствия производительности здесь состоят в том, что одноранговые узлы могут получить доступ к любым данным только с одним сетевым хостом, тогда как клиентам может понадобиться не более 2 сетевых переходов (один от клиента к серверу, один от сервера к узлу, где хранятся данные).

Другие отличия:
1. Клиенты могут Register interest, сверстники не могут.
2. Клиенты могут register Continuous Queries, сверстники не могут.

Смежные вопросы