1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/284520459-redis-monitor

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

NRedis-Proxy 1.1 final Высокопроизводительный промежуточный слой сервис

1. Описание NRedis-Proxy

NRedis-Proxy — это Redis-промежуточный слой сервис, первая открыто доступная Java версия Redis-промежуточного слоя. Он позволяет работать независимо от бизнес-приложений, не требуя изменения кода или конфигураций; с использованием Spring для создания пользовательских меток, что делает его легко настраиваемым; предоставляет мониторинг RedisServer, автоматическое переключение при отказе (failover) и другие функции; использует Netty как средство передачи данных, обеспечивая высокую производительность, возможность распределённого масштабирования и высокую параллельную обработку. Одиночная машина может достигать около 9 тысяч запросов в секунду.

2. Архитектурная диаграмма NRedis-Proxy

а) Системная архитектурная диаграмма

б) Технологическая архитектурная диаграмма

в) Диаграмма развертывания

## 3. Преимущества и недостатки NRedis-Proxy ##

А) Функциональные преимущества

  1. Встроенная пул соединений, простая, надёжная и эффективная по производительности.
  2. Поддержка разделения чтения и записи, чтение с распределением по весовым алгоритмам.
  3. Поддержка гибкого конфигурирования главного и вторичного серверов.
  4. По умолчанию поддерживает стратегию хэширования с постоянной функцией хэша, что обеспечивает хорошее масштабируемое свойство.
  5. Возможность настройки стратегий шардинга и чтения вторичных серверов.
  6. Поддержка автоматического и ручного переключения между главным и вторичным серверами, при этом последующие запуски приложения или системы не будут затронуты.
  7. Поддержка HA-распределённого размещения, позволяющая свободно увеличивать количество узлов.
  8. Предоставление небольшого робота redis-monitor для мониторинга CPU, JVM, потоков, скорости попадания в Redis и других служб мониторинга.### Б) Природные недостатки ### Существование промежуточного слоя само по себе несет потерю по сети, но если ширина канала достаточно велика, можно игнорировать эту потерю. Самая большая потеря происходит при анализе протокола. В сравнении с клиентской стратегией шардинга и другими методами, промежуточный слой решает проблему слишком большого количества клиентских приложений, решает M*N проблему, когда количество соединений Redis-сервера недостаточно, что снижает производительность процессора машин. Как показано на следующей диаграмме:

4. Логическая диаграмма вызова классов NRedis-Proxy

5. Конфигурационные метки NRedis-Proxy

А) redisProxyNode

Номер Наименование Описание
1 id Уникальный маркер Spring-тэга
2 redisProxyHost Хост NRedis-proxy
3 redisProxyPort Порт NRedis-proxy
4 algorithm-ref Класс реализации алгоритма распределения NRedis-proxy
5 address Адрес Zookeeper

B) redisProxyMaster

Номер Наименование Описание
1 id Уникальный маркер Spring-тэга
2 host Хост RedisServer
3 port Порт RedisServer
4 algorithm-ref Класс стратегии чтения с фрагмента NRedis-proxy
5 config-ref Конфигурация пула соединений
Номер Наименование Описание
------------- :-------------: -----:
1 id Уникальный маркер Spring-тэга
2 host Хост RedisServer
3 port Порт RedisServer
4 algorithm-ref Класс стратегии чтения с фрагмента NRedis-proxy
5 config-ref Конфигурация пула соединений
6 weight Вес

d) redisPoolConfig

Номер Наименование Описание
1 id Уникальный маркер Spring-тэга
2 connection-timeout Время ожидания подключения
3 max-active-connection Максимальное количество активных соединений
4 max-idle-connection Максимальное количество пустых соединений
5 min-connection Минимальное количество соединений
6 max-wait-millis-on-borrow Максимальное время ожидания при получении соединения
7 initial-connection Количество начальных соединений
8 time-between-eviction-runs-millis Интервал проверки пула соединений
9 min-evictable-idle-time-millis Минимальное время жизни пустого соединения
10 min-idle-entries Минимальное количество пустых соединений
11 test-on-borrow Проверка соединения при получении
12 test-on-return Проверка соединения при возврате
13 test-while-idle Проверка соединения при его пустоте

e) Две стратегии распределения по умолчанию

## Шесть. Развертывание NRedis-Proxy ##

1. Требования к среде развертывания

  • 1.1 JDK 1.7
  • 1.2 Redis-Server
  • 1.3 Zookeeper 3.4.6

2. Шаги отладки

  • 2.1 Запуск основного Redis Server Введите заголовок изображения здесь
  • 2.2 Запуск Redis сервера
  • 2.3 Запуск Zookeeper
  • 2.4 Запуск NRedis-Proxy сервера
  • 2.5 Подключение к Redis с помощью командной строки NRedis-Proxy

3. Методы развертывания

Можно выполнить mvn nredis-proxy-bootstrap, затем найти файл nredis-proxy-server.sh и запустить его.

7. Мониторинг redis-monitor

а) Мониторинг NRedis-Proxy

б) Мониторинг redis-server

в) Самомониторинг redis-monitor

8. Управление службой redis-monitor ##### А) Настройка таймера

Б) Ручное управление сервисами

! Введите описание изображения

В) Автоматическое управление сервисами

! Введите описание изображения

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Все ещё беспокоитесь о JVM, CPU и других мониторингах? Как насчёт мониторинга в распределённой среде? Небольшой робот-помощник решит все проблемы! Redis-monitor — это небольшой робот, часть nredis-proxy. Он может мониторить redisServer, nredis-proxy, JVM, CPU и т. д., а также имеет функцию автоматического переключения при отказе! Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/284520459-redis-monitor.git
git@api.gitlife.ru:oschina-mirror/284520459-redis-monitor.git
oschina-mirror
284520459-redis-monitor
284520459-redis-monitor
master