Использование Redis для нескольких платформ - PullRequest
0 голосов
/ 20 июня 2020

Я уже давно использую Redis для статистики своего проекта. Я использую Jedis, Redis для java, в настоящее время для проекта, но я также хотел бы использовать один и тот же сервер Redis на нескольких платформах, таких как веб-сайты, android или даже IOS. В проекте часто используется Redis для получения и установки.

Мои вопросы

  1. Сейчас есть только один сервер Redis, поэтому, если я хочу использовать на нескольких платформах , он должен подключить выделенный сервер, у которого есть задержка между текущим сервером и сервером Redis. Что мне делать для этого?
  2. Я бы хотел использовать только один сервер Redis для всех подключений. Опасно ли это или может повлиять на производительность?

Если у вас есть идеи, связанные с topi c, я хотел бы услышать вашу идею!

1 Ответ

1 голос
/ 20 июня 2020

Прежде всего; для «лучшего» и горизонтального масштабирования ваш сервер приложений не должен хранить никаких данных. Если на вашем сервере приложений есть MySQL база данных или Redis, тогда будет сложно масштабировать, поскольку они не "без состояния" . Если вы хотите добавить к этому проекту второй сервер, вы не сможете дублировать сервер приложений с вашими данными. Чтобы сделать его «не имеющим состояния», вы должны переместить свои хранилища данных с серверов приложений.

  1. Вы ничего не можете с этим поделать. Задержка неизбежна. Что вы можете сделать, так это уменьшить его. Если ваш Redis и сервер приложений находятся в одном регионе, это не будет большой проблемой. Если ваше приложение не требует доступа inte rnet, вы можете поместить их в тот же VP C.
  2. Это зависит. Если ваше «Приложение A» записывает большие объекты каждую секунду, тогда «Приложение B» пострадает при чтении, поскольку Redis является однопоточным. Если оба ваших приложения делают только быстрые запросы (например, получение / установка для объектов небольшого размера), это не будет большой проблемой.

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

Репликация может использоваться как для scalability, чтобы иметь несколько реплик для запросов только для чтения (например, медленный O (N ) операции могут быть выгружены на реплики) или просто для повышения безопасности данных и high availability.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...