Node-redis: Дорожная карта

Созданный на 21 апр. 2016  ·  17Комментарии  ·  Источник: NodeRedis/node-redis

РЕДАКТИРОВАТЬ: @Salakar : см. комментарий ниже; https://github.com/NodeRedis/node_redis/issues/1040#issuecomment-581418899


Эта дорожная карта не отсортирована и не имеет фиксированных дат, а представляет собой скорее общую смесь вещей.

Основные функции, которые необходимо реализовать

  • [ ] Кластер
  • [ ] Страж
  • [ ] Входные трансформаторы
  • [ ] Выходные трансформаторы
  • [] Встроенная поддержка обещаний
  • [ ] Ограничитель офлайн-очереди
  • [ ] Улучшенная поддержка скриптов / добавление отдельных команд
  • [ ] Улучшена функция поддержания активности / улучшено обнаружение мертвых соединений.

    Другие вещи, которые следует решить

  • [ ] Документировать весь код (JSDoc)

  • [ ] Сделать недокументированный API приватным
  • [ ] Обновите документацию README, чтобы она стала полезнее
  • [ ] Исправить спавн окон на appveyor
  • [x] Улучшенные трассировки стека, не в рабочем режиме
  • [ ] Дымовые испытания

Если вы чувствуете, что чего-то не хватает, пожалуйста, не стесняйтесь вносить дополнительные предложения / открывать запрос функции для этого.

Самый полезный комментарий

Привет всем, я стал ведущим сопровождающим и теперь у меня есть все необходимые права доступа 🎉 огромное спасибо @BridgeAR за всю работу, которую он проделал (и делает) над этой библиотекой, и за то, что позволил мне взять на себя управление.

Последние несколько дней я готовил master к выпуску, и несколько минут назад я только что опубликовал v3.0.0 в NPM; https://github.com/NodeRedis/node-redis/releases/tag/v3.0.0 , который включает это изменение.

Ожидайте регулярных выпусков — мой главный приоритет на данный момент — сделать этот проект более удобным для участников, чтобы гарантировать, что проект живет и продолжает расти и не блокируется временем какого-либо одного человека. Для этого я хотел бы вырастить большее количество мелких участников. С этим я надеюсь смягчить предыдущую проблему проекта, нуждающегося в обновлениях, но нет никого, кто мог бы это сделать. Я работаю над этим;

  • [x] Предоставление документов и Кодекс поведения
  • [x] Настройка открытого коллектива и политики расходов участников

    • Вы заметите новую блестящую кнопку Sponsor в верхней части GitHub, я также пошел дальше и спонсировал ее сам и через свою компанию, чтобы помочь запустить ее для любых будущих участников.

  • WIP: автоматизация выпуска и семантическое управление версиями (публикация в NPM, создание журналов изменений и т. д.)
  • [x] Улучшить CI, например, Windows CI сейчас очень медленный и ненадежный

После этого я переключу свое внимание на модернизацию (например, промисы, машинописные тексты) и устранение технического долга в кодовой базе Node Redis. @BridgeAR уже сделал для этого кучу всего, если вам интересно, посмотрите ветку WIP v4 и ее журнал изменений.

Все 17 Комментарий

1085 Есть ли у нас поддержка поддержки флагов NX/XX для таких команд, как ZADD

Прошло несколько месяцев, есть ли какие-либо обновленные сроки на этом фронте?

+1

Есть ли шанс, что скоро появится поддержка кластера/шардинга? AWS поддерживает кластер Redis в ElastiCache, и я хотел бы использовать его, но эта библиотека должна догнать этот набор функций, чтобы это действительно было жизнеспособно :(

Эту тему надо зафиксировать ИМХО

Также https://github.com/gosquared/redis-clustr может быть достаточно хорошим решением для поддержки кластера?

Эквивалентная оболочка для sentinel была бы отличной. Может https://www.npmjs.com/package/redis-sentinel , но кажется мертвым (4 года с момента последней публикации).

Возможно, нам следует обсудить будущее этого репозитория здесь; последняя публикация этого пакета в NPM была более 2 лет назад, есть исправления в мастере, которые не публиковались в NPM почти 2 года, например, https://github.com/NodeRedis/node_redis/issues/1331;

Обратите внимание, что это не я жалуюсь на @BridgeAR , он действительно отлично справляется с @nodejs , поэтому понятно, что его время для этого репозитория ограничено.

Я готов взять на себя часть бремени обслуживания, но мне хотелось бы подумать о том, что мы можем предпринять для этого, учитывая, что доступ к публикации NPM недоступен для существующего репозитория (несколько раз запрашивал его за эти годы) .

Прямо сейчас кажется, что единственный вариант — разветвиться и начать заново, если мы не получим доступ.

@Salakar Я также готов помочь продвинуть этот пакет. Я не совсем понимаю, почему нам нужно отказаться от имени пакета NPM («redis» — мощный инструмент). Разве @BridgeAR не контролирует пакет NPM и не должен передать его кому-то? За многие месяцы было мало действий, и я не совсем понимаю логику просто сидеть на этом, если честно.

Я не думаю, что мы должны отказаться от этого пакета - это хорошая кодовая база, которую можно обновлять, и от нее зависит огромное количество других пакетов.

Еще одна вещь, о которой я хотел бы рассказать, — это предстоящие изменения RESP3/Redis 6, которые потребуют значительных изменений. Я изучил функцию ACL в Redis 6, которую должно быть легко поддерживать, но нам потребуется серьезный рефакторинг для node_redis. Моя работа (в Redis Labs) поддержала бы мою работу над этим модулем, но если мы не можем выпустить NPM-релиз, нет смысла тратить время.

Разве @BridgeAR не контролирует пакет NPM и не должен передать его кому-то? За многие месяцы было мало действий, и я не совсем понимаю логику просто сидеть на этом, если честно.

Верно, но я запрашивал доступ к публикации NPM с февраля 2018 года, снова в феврале 2019 года и последний запрос в сентябре 2019 года. У меня были ответы, но не на тему запроса доступа к публикации NPM 🤷‍♂. https://github.com/NodeRedis/node_redis/issues/1402#issuecomment -490273744, может быть, дает некоторое представление о намерениях?

Если трансфера не произойдет, то я думаю, что это нужно прояснить, чтобы мы могли двигаться дальше.

ioredis, например, очень хорош, и когда-то ходили разговоры о консолидации библиотек (я работал над некоторыми базовыми инструментами для этого, такими как новый синтаксический анализатор, библиотека denque lib, кластерный ключевой слот calc и т. д.): https:// github.com/NodeRedis/node_redis#consolidation -its-time-for-celebration - что, по моему мнению, должно быть долгосрочной целью?

Не по теме, но некоторое время назад я начал экспериментировать с созданием нового клиента; https://twitter.com/mikediarmid/status/1074240036936318976 — но я остановился на нем в надежде снова запустить этот проект или помочь укрепиться;

Возможно, это тоже маршрут 🤷‍♂

image

@Salakar Ты говорил с кем-нибудь из других владельцев NPM (Мэтт, Бен или Брайс)? Если Рубен пропал без вести, то, если мы хотим, чтобы проект продвигался вперед, я не думаю, что один человек должен быть препятствием. Я предполагаю, что именно из-за такой проблемы он был настроен таким образом. Я нахожу комментарий к 1402 тревожным для проекта с открытым исходным кодом, особенно для того, который не привязан (организационно) к одному человеку.

Я согласен, ioredis хорош, но я не думаю, что это универсальное решение. Что касается консолидации, я думал, что унифицированный синтаксический анализатор был главной целью, которая уже достигнута. Я никогда не думал, что будет полностью один модуль, просто учитывая различия в синтаксисе.

@stockholmux : Моя работа (в Redis Labs) поддержала бы мою работу над этим модулем, но если мы не можем выпустить NPM-релиз, нет смысла тратить время.

Точно так же мы готовы выделить ресурсы и для этого @invertase , но если мы не можем его опубликовать, то для нас это тоже не имеет смысла.


@stockholmux : @Salakar ты разговаривал с кем-нибудь из других владельцев NPM (Мэтт, Бен или Брайс)?

Это хороший момент, у меня нет, я свяжусь с ними в ближайшее время.


@stockholmux : я согласен, ioredis хорош, но я не думаю, что это универсальное решение. Что касается консолидации, я думал, что унифицированный синтаксический анализатор был главной целью, которая уже достигнута. Я никогда не думал, что будет полностью один модуль, просто учитывая различия в синтаксисе.

Из интереса, каковы ваши требования, которым соответствует redis , но нет ioredis ? Мои требования включали кластеризацию и сторожевой механизм, который redis настоящее время не поддерживает, за исключением некоторых сторонних пакетов, от некоторых из которых также отказались.

Возможно, базовые протоколы соединения между двумя библиотеками также могут быть общими, тогда просто то, как вы взаимодействуете с каждой из них, отличается?

@Salakar Мне нравится модульный подход к дозорному и кластерному подходу по сравнению с монолитным подходом ioredis (опять же, нам нужно иметь дело с заброшенным ПО). Кому-то это нужно, кому-то нет. Общая экосистема Redis становится больше, а модульность — это способ поддерживать больше без сложности, ИМХО. Кодовая база Ioredis намного больше (18 897 строк кода против 7 038), в которой может быть больше функций, но я бы предпочел не иметь столько дополнительных вещей, которые я не использую.

Место, в котором, я думаю, у node_redis есть большое преимущество, — это поддержка модулей Redis, что легко с node_redis и довольно проблематично с ioredis.

Я связался с @mranney через личные сообщения в Твиттере и спросил, может ли он предоставить мне и владельцу @stockholmux доступ к организации GitHub и пакетам NPM, так что посмотрим, что из этого получится.

Я думаю, что я и @stockholmux согласны с тем, что поддерживать и публиковать все, что у них есть в настоящее время, — это лучший путь вперед — если мы сможем это сделать. Если нет, я думаю, мы можем рассмотреть альтернативы, хотя я бы не хотел.

Небольшое предложение. Возможно, вам следует подумать о переносе исходного кода на TypeScript.

Привет всем, я стал ведущим сопровождающим и теперь у меня есть все необходимые права доступа 🎉 огромное спасибо @BridgeAR за всю работу, которую он проделал (и делает) над этой библиотекой, и за то, что позволил мне взять на себя управление.

Последние несколько дней я готовил master к выпуску, и несколько минут назад я только что опубликовал v3.0.0 в NPM; https://github.com/NodeRedis/node-redis/releases/tag/v3.0.0 , который включает это изменение.

Ожидайте регулярных выпусков — мой главный приоритет на данный момент — сделать этот проект более удобным для участников, чтобы гарантировать, что проект живет и продолжает расти и не блокируется временем какого-либо одного человека. Для этого я хотел бы вырастить большее количество мелких участников. С этим я надеюсь смягчить предыдущую проблему проекта, нуждающегося в обновлениях, но нет никого, кто мог бы это сделать. Я работаю над этим;

  • [x] Предоставление документов и Кодекс поведения
  • [x] Настройка открытого коллектива и политики расходов участников

    • Вы заметите новую блестящую кнопку Sponsor в верхней части GitHub, я также пошел дальше и спонсировал ее сам и через свою компанию, чтобы помочь запустить ее для любых будущих участников.

  • WIP: автоматизация выпуска и семантическое управление версиями (публикация в NPM, создание журналов изменений и т. д.)
  • [x] Улучшить CI, например, Windows CI сейчас очень медленный и ненадежный

После этого я переключу свое внимание на модернизацию (например, промисы, машинописные тексты) и устранение технического долга в кодовой базе Node Redis. @BridgeAR уже сделал для этого кучу всего, если вам интересно, посмотрите ветку WIP v4 и ее журнал изменений.

@Салакар Поздравляю! Я хотел взять на себя работу по обещаниям (хотел бы отказаться async-redis ), но я предполагаю, что к настоящему времени это в основном сделано. Вы, ребята, имеете представление о сроках? Принимаете ли вы участие в этом направлении (например: есть ли у нас какой-то контрольный список)?

Эй, @GCSBOSS , проверьте ветку «v4» - это незавершенный рефакторинг, который имеет поддержку промисов, нет сроков/временных рамок, но извините

Была ли эта страница полезной?
0 / 5 - 0 рейтинги