Използвайте множество Redis сървъри в Sidekiq

Използвам Sidekiq за обработка на фонови задачи в един от нашите Rails проекти. Искаме да използваме различен сървър на Redis, разположен на друго място, за да отделим ReportDB с друго задание за фонова обработка.

Според уикито за конфигуриране на Sidekiq можем да конфигурираме като

config/initializers/sidekiq.rb

Sidekiq.configure_server do |config|
   config.redis = { :url => 'redis://redis.example.com:7372/12', :namespace => 'mynamespace' }
end

Sidekiq.configure_client do |config|
   config.redis = { :url => 'redis://redis.example.com:7372/12', :namespace => 'mynamespace' }
end

Но как мога да инициализирам връзка към множество redis сървъри?


person Mr. Bless    schedule 25.03.2014    source източник


Отговори (1)


Sidekiq 2 не поддържа множество Redis сървъри, надстройте до sidekiq 3, който беше пуснат точно днес и добавя новата функция за шардинг на клиента, от която се нуждаете.

От: Бележка за изданието на Sidekiq 3

Клиентско споделяне

Sidekiq 2.x има ограничение за мащабируемост: един Redis сървър. На практика лимитът е по-голям от 5000 задания в секунда на добър хардуер, така че за повечето това не беше голяма работа, но някои от по-интензивните потребители на Sidekiq достигаха това ограничение. Актуализиран (Sidekiq 3) Sidekiq::Client API ви позволява да посочите пул за свързване на Redis, който да използвате, вместо да приемате преди това глобалния пул на Sidekiq.redis, което ви позволява да насочвате различни типове задания към различни сървъри на Redis. Сега можете да мащабирате Sidekiq до безкрайност и отвъд!

Приложният програмен интерфейс (API) е почти изцяло обратно съвместим: единствената критична промяна е в междинния софтуер от страна на клиента. Вижте бележките за надстройка за повече подробности.

===

Разгледайте и отговора за - Работите с два отделни екземпляра на redis със sidekiq?

person zoras    schedule 28.03.2014