В документации клиента AppFabric 1.1 обсуждается назначение списка конечных точек DataCachServer для DataCacheFactoryConfiguration. В большинстве примеров показан список, состоящий из одного или, возможно, двух разных кэш-серверов. Если кластер состоит из n серверов, должен ли клиент регистрировать каждый из серверов? Имеет ли значение, в каком порядке зарегистрированы серверы? Например, если у меня есть 50 серверов на моем веб-уровне и 5 серверов на моем уровне кэширования, регистрирует ли каждый из 50 веб-серверов все 5 серверов кэширования? Вот пример кода:
// Declare array for cache host(s).
DataCacheServerEndpoint[] servers = new DataCacheServerEndpoint[5];
servers[0] = new DataCacheServerEndpoint("Cache01", 22233);
servers[1] = new DataCacheServerEndpoint("Cache02", 22233);
servers[2] = new DataCacheServerEndpoint("Cache03", 22233);
servers[3] = new DataCacheServerEndpoint("Cache04", 22233);
servers[4] = new DataCacheServerEndpoint("Cache05", 22233);
// Setup the DataCacheFactory configuration.
DataCacheFactoryConfiguration factoryConfig = new DataCacheFactoryConfiguration();
factoryConfig.Servers = servers;
// Create a configured DataCacheFactory object.
DataCacheFactory mycacheFactory = new DataCacheFactory(factoryConfig);
// Get a cache client for the cache named "default".
DataCache myDefaultCache = mycacheFactory.GetCache("default");
Может ли каждый веб-сервер регистрироваться одинаково, и будет ли нагрузка распределяться по уровню кэширования? Если зарегистрированный сервер становится недоступным, следующий пробуется последовательно или случайным образом? Ссылки на вспомогательную документацию будут полезны.
Что касается балансировки нагрузки, Джейсон Рот написал следующее [есть ли другая доступная документация]?
Клиент App Fabric — это интеллектуальный клиент, который может напрямую связываться с сервером, на котором когда-либо хранились ваши данные. Приложению не нужно беспокоиться о балансировке нагрузки. Это делается с помощью клиента маршрутизации.