вышеописанные варианты не включаю в себя ряд компонентов и технологий, для обеспечения непрерывной работы высоконагруженной системы 24/7. Варианты описывают необходимый минимум, так сказать.
Оба подхода имеют место в современной архитектуре, какой вариант лучше — вопрос дискуссионный и, кмк, не является предметом данной дискуссии. Однако, очевидно — из сравнения выше -, что конфигов и логики во «2-м варианте» меньше.
Ну у тебя задача другая, а именно, хранить Хиты. А тут хранить консистентно запросы. У вас цели иные.
Твою задачу можно решить проксированием каждого хита в ClickHouse прям из nginx, я бы сделал так :)
Ну непропорционально — это мой тезис.
С очередью будет выглядит так: демоны который читает и пишет (возможно это сам nginx), отдельный демон очереди. Итого — большая система получается, плюс очередь не != БД, но это ты и сам заметил :)
С этим все хорошо (есть прав пользователей, соль в протоколе https://tarantool.org/doc/dev_guide/internals_index.html).
Так же можно все это пустить через ssl туннель.
вышеописанные варианты не включаю в себя ряд компонентов и технологий, для обеспечения непрерывной работы высоконагруженной системы 24/7. Варианты описывают необходимый минимум, так сказать.
А давайте посчитаем, на примере систем построеных на PostgreSQL.
1-й вариант:
[DNS Balancer, (?)] + Nginx (конфиги + логика) + Application (конфиги + логика) + (Тут иногда HAProxy) + pgbouncer (конфиги) + (тут иногда HAProxy и еще один pgbouncer) + pg-кластер (конфиги + иногда хранимые процедуры — логика).
2-й вариант:
[DNS Balancer, (?)] + Nginx (конфиги) + Tarantool-кластер (конфиги + логика).
Оба подхода имеют место в современной архитектуре, какой вариант лучше — вопрос дискуссионный и, кмк, не является предметом данной дискуссии. Однако, очевидно — из сравнения выше -, что конфигов и логики во «2-м варианте» меньше.
Смотря под какую ОС. Заходите в чатик (ссылку дал в первом коменте), расскажу и покажу как собрать.
Разработка ведется по Mileston'ом, они открыты, ссылка: https://github.com/tarantool/tarantool/milestones
Сырые идеи, готовые и т.п. можно глянуть на вики: https://github.com/tarantool/tarantool/wiki
Обсуждения новых идей происходит в чате: https://t.me/tarantoolru
Твою задачу можно решить проксированием каждого хита в ClickHouse прям из nginx, я бы сделал так :)
С очередью будет выглядит так: демоны который читает и пишет (возможно это сам nginx), отдельный демон очереди. Итого — большая система получается, плюс очередь не != БД, но это ты и сам заметил :)
lua garbage collector плохо переживает много lua таблиц (в твоем коде — box.space.tours:pairs()).
Проблема 1 в 1 была когда мы делали Facebook linkbech, часть хранимой пришлось переписать на C, чтобы избавиться от этих эффектов.
Как вариант rust, C или попробовать наш SQL (который в альфа)
Так же можно все это пустить через ssl туннель.
PS написал в личку свои контакты.
Верно.
Либо реализовать логику разучивание конфликтов — что == создать репликацию с 0.