Pull to refresh

Comments 27

Честно говоря, выглядит как сильно переусложненное решение простой задачи. Представляю себе, каково будет это поддерживать. По моему, для рассылок хватило бы БД SQL на несколько таблиц, простой формочки на PHP для создания рассылки и пары крон-скриптов на PHP для собственно отправки. Redis кажется неудачным выбором, так как в обычной БД есть SQL-запросы для произвольной выборки данных, а в нем нет, данные ищутся только по ключу.

Осталось только выучить PHP. Зачем-то.

Что до остального — действительно можно было решить проще через крон-скрипты и SQL.
И… я скорее согласен с тем, что сам придумал проблему ради проблемы.

В любом случае — опыт интересный и результат получился не то чтобы плохой.

Такой себе аргумент, вы же изучили питон — зачем то, изучили редис зачем-то. Одна из проблем поиска сейчас специалистов в том, что они настолько привязаны к инструментам с которыми привыкли работать где то там, что пишут вот такие сложные системы для простых задач.


Вы в посте заикнулась про микросервисную архитектуру, а потом снизу говорите о том, что взяли эти инструменты только потому что вы не хотите использовать другие. Один из бонусов микросервисной архитектуры это то, что вы можете использовать инструменты ПОДХОДЯЩИЕ для задачи и будучи не ограниченным стеком оставшемся от предыдущих задач.


Так же стоит задуматься почему реляционная база данных называется реляционной. У вас четко прослеживаются отношения между таблицами, вы даже нам схему начертили, но вдруг решили хранить данные в редисе?


Не нравится php или хочется реалм-тайм взаимодействия, выкините питон возьмите ГО, Котлин (если гонитесь за модой), храните данные в любой БД (хоть sqlite) и выгружайте горячии данные (те что нужно обработать) в память.

Так же стоит задуматься почему реляционная база данных называется реляционной. У вас четко прослеживаются отношения между таблицами, вы даже нам схему начертили, но вдруг решили хранить данные в редисе?


В Редисе хранится лишь часть данных: коды подтверждения почты, телефонов, а также описанные в статье история и заказ. Остальное — в PostgreSQL.

Мне нравится Go, но на нём разработка заняла бы больше времени и не то чтобы в чем-то от этого выиграла в силу отсутствия проблемы масштабируемости.

Учить PHP ради PHP особого смысла не вижу.

Крон-скрипты можно писать на любом языке, не обязательно PHP.

Конечно, хватило бы. Автор решил просто поэксперементировать
Более того, как раз рассылки через SQL или даже, извините, через MongoDB делаются удобнее, чем через Редис. Так как вот с этой самой «нотификацией студентов» есть еще масса проблем, которые в этой статье не рассмотрены.

Господи, что за поток сознания? Причем тут вообще яндекс еда? Я сколько силился понять — не смог.


Redis уже используется другими сервисами Ады, RabbitMQ/Celery — новая зависимость;

ОК


Redis нужен нам, в первую очередь, как СУБД, а не средство IPC;

Ну, э… спорно. Потому что именно по этому критерию нормальные базы данных по сравнению с редисом просто вне конкуренции. Отдельная история, что сделать по-настоящему надежную очередь на редисе, с мастер-слейв или кластером редиса… проще застрелиться. Для этого приходится придумывать другие решения. Может быть ту же kafka затащить? Очень многие цикл посылки и обработки сообщений строят на ней. Не скажу, что с ней без проблем — там те же топики плодятся как мухи и нет встроенной возможности скинуть сообщение, которое зафейлилось по доставке, и приходится это реализовывать руками, зато точно уверен в том, что это масштабируемое решение.


Использования Redis’a как хранилища истории защищает нас от SQL-инъекций в текстах
сообщений;

ЛОЛ. Да, SQL инъекций в редисе действительно нет, но открытый на интернет редис ломают только так, даже с паролем. Ну, и у редиса есть свои уязвимости в протоколе. Поэтому — не аргумент.


Ну, ОКей — Вы в любом случае молодец. Такие задачи действительно нужно делать, набивать шишки, набираться опыта.

Причем тут вообще яндекс еда? Я сколько силился понять — не смог

Яндекс.Еда должна была сделать концепт решения понятнее.

Да, SQL инъекций в редисе действительно нет, но открытый на интернет редис ломают только так, даже с паролем. Ну, и у редиса есть свои уязвимости в протоколе. Поэтому — не аргумент.

На интернет открыты только интерфейсы пользователей. Redis и разработанный сервис доступны только в пределах хоста.

Ну, ОКей — Вы в любом случае молодец. Такие задачи действительно нужно делать, набивать шишки, набираться опыта.

:3
Отдельная история, что сделать по-настоящему надежную очередь на редисе, с мастер-слейв или кластером редиса… проще застрелиться.

Redis Streams нормально заходят в этом случае и нет Pub/Sub проблем.

Каналы в Телеграме полностью подходят под ТЗ, заметно удобнее, гораздо надежнее и без глупых ограничений. А еще их разрабатывать не надо. Все само работает.
Преподавателей без интернета на телефоне отправляем на пенсию.

Можно даже много каналов и постинг через бота. Тогда вообще красиво все будет.
Нельзя их отправить на пенсию — никого не останется:(
Ну как-то же им надо сообщения отправлять.
В принципе СМС в телегу пересылать несложно. Есть готовые решения и под это.
Это все началось еще до момента, когда Телегу «разблокировали».
Она изначально не рассматривалась как основной канал.
Разблокировали уже. Хотя и до этого блокировка никому особо не мешала.
Пришло время выкинуть велосипед и пересесть на стандартные технологии.
Проблема сокрытия контактных данных, заложенная в описании проблемы, остается.
Я бы рад — договорись все люди пользоваться чем-то одним, но утопии бывают только в книжках и все мы знаем чем они там заканчивают.
Телега не палит никаких данных и поддерживает множество профилей. Все прямо из коробки.

Так пусть не пользуются. Им же хуже. Вот официальный канал. Кто не читает — сам виноват. За неделю все подтянутся.
Увы, но нет:
1) Преподавателей текущая ситуация и шпионские игры вполне устраивают. Пишут себе записочки на кафедральных досках, а то что ты час ехал на пару, которой не будет — не их проблемы;
2) Когда я впервые пришел с предложением сделать Аду к научному руководителю, он мне на пальцах перечислил — у кого ЕСТЬ смартфоны. Хватило одних лишь рук.

И дело тут даже не в заскорузлости, а в околовоенной специфике.
Преподаватели получают зарплату. Раздать простенькие телефоны и сказать писать вот сюда обязательно несложно. Кто не делает можно давить. Премии, более удобное время, да много есть вариантов. Уволить в конце концов можно.

В чатиках сейчас все. Корпорации управляются через чатики, страны управляются через них же. А вы о переносе пар беспокоитесь.
Уровня влияния «студент» не хватит, чтоб такое пролоббировать:(

Уровня влияния «студент» не хватит в любом случае, преподаватели так и продолжат писать записочки на кафедральных досках что бы вы ни делали.

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

А никак. Сами зайдут. Не надо играть в шпионов и защищать информацию об отмене лекций или переносе занятий. Просто каналы с доступом по ссылке. И хватит безопасности.

А могут и интернет отключить. Вон как у соседей. И вообще все сломается. Надо исходить из реальных условий. Телега работает, да в общем и работала всегда. Вероятность исчезновения низкая. Не закладываемся на это.
А никак. Сами зайдут. Не надо играть в шпионов и защищать информацию об отмене лекций или переносе занятий. Просто каналы с доступом по ссылке. И хватит безопасности.


Это совсем не вопрос выбора, но режима. Им может самим не нравится.
По этой же причине пришлось делать регистрацию для студентов через учебную почту.
И каналы в Telegram не подходят.
Вы же понимаете что студенты все это передают друг другу в тех же Телеграм чатиках? Это в лучшем случае, а в худшем в Вайбере каком тоже самое пересылают.
И защита этих чатиков от левых людей на уровне неуловимого Джо.
Бюрократическая машина этого не понимает. И никогда не поймет.
На бумаге все должно быть идеально. Или никак.
Sign up to leave a comment.

Articles