Я собираю спортивные данные каждую минуту с помощью PHP-скриптов и сохраняю их в Redis. Все это делается на одном сервере Ubuntu 16.04. Давайте назовем это коллекторным сервером.
Моя цель — сделать базу данных, созданную Redis, доступной для наших клиентов. БД будет доступна только для чтения нашим клиентам.
Мы подключаем серверы клиентов к нашему контенту Redis напрямую
указывая их на хост Redis: порт этого сервера коллектора. Если все наши клиенты захотят получить доступ к БД, я боюсь, что коллекторный сервер застрянет (более 40 клиентов) …
Этот контент Redis обновляется каждую минуту, и мы являемся владельцами серверов и контента клиентов.
Есть ли настройка в Redis или способы создания 40+ внешних серверов, читающих одну и ту же БД контента Redis, не убивая сервер-сборщик?
Перед масштабированием я рекомендую сравнить приложение с Redis с реальной и / или смоделированной нагрузкой — один сервер Redis может выдержать впечатляющую нагрузку (см. https://redis.io/topics/benchmarks) так что вы можете закончить разработку этого.
Тем не менее, в масштабе только для чтения, прочитайте о Redis ‘ копирование. Если вы хотите масштабировать записи, читайте о Redis кластер.
+1 За ответ Итамара. Но следует помнить еще одну важную вещь: разрешать своим клиентам напрямую подключаться к вашему ресурсу Redis опасно и их следует избегать.
У вас должны быть серверы приложений, которые обеспечивают связь Redis для ваших клиентов.