Size: a a a

Чат конференции HighLoad++

2020 October 02

Si

Sergey iscremas in Чат конференции HighLoad++
Тут явно произошла подмена понятий. ACID ≠ БД. MySQL с движком MyISAM, разве не БД?
источник
2020 October 03

PD

Phil Delgyado in Чат конференции HighLoad++
Alexander Sibiryakov
Они могут что угодно написать, но если отсутствует журнал, атомарность, уровни изоляции это не может считаться базой данных. Это просто специализированное хранилище. Прошу прощения за буквоедство, режет глаз.
Хм, даже если не говорить про путаницу acid и рсубд, все вышесказанное есть в CH (в каком-то, возможно странном, виде)
источник

ES

Egor Shchapov in Чат конференции HighLoad++
Дайте две
источник

Н

Николай in Чат конференции HighLoad++
Доброго времени суток. Извиняюсь, что спрашиваю в этом чате. Есть высоконагруженный проект и ищем исполнителя со знанием OpenResty, который, во-первых, сможет проконсультировать, во-вторых, спроектирует систему, в-третьих, эту же систему и построит. Так вот вопрос в чем - это скорее системной администрирование или DevOps?
источник

k

kvaps in Чат конференции HighLoad++
Николай
Доброго времени суток. Извиняюсь, что спрашиваю в этом чате. Есть высоконагруженный проект и ищем исполнителя со знанием OpenResty, который, во-первых, сможет проконсультировать, во-вторых, спроектирует систему, в-третьих, эту же систему и построит. Так вот вопрос в чем - это скорее системной администрирование или DevOps?
Вопрос очень абстрактный, что за система, и что конкретно требуется от OpenResty?
источник

Н

Николай in Чат конференции HighLoad++
Работать с куки на уровне вебсервера - разбирать их и в зависимости проксировать на разные бекенды.
источник
2020 October 04

Н

Николай in Чат конференции HighLoad++
Это если коротко :) Просто понять бы, это больше к девопсу или сис. админ. Мне что-то подсказывает, что ко второму, потому что другие плюшки девопса такие как доставка и прочее нам не особо нужны.
источник

M

Mentat in Чат конференции HighLoad++
Николай
Доброго времени суток. Извиняюсь, что спрашиваю в этом чате. Есть высоконагруженный проект и ищем исполнителя со знанием OpenResty, который, во-первых, сможет проконсультировать, во-вторых, спроектирует систему, в-третьих, эту же систему и построит. Так вот вопрос в чем - это скорее системной администрирование или DevOps?
В такой постановке вопроса - это к программистам на openresty, либо к трем разным людям
источник

AT

Al T in Чат конференции HighLoad++
если один человек то девопс - чтобы он вам там немножко Lua написал - куки там несложно разбирать. больше времени нужно будет чтобы настроить как раз hi-availability и мониторинг
источник

AT

Al T in Чат конференции HighLoad++
самого nginx
источник

ER

Evgeniy Romanov in Чат конференции HighLoad++
между делом, у себя в проекте переписали все lua скрипты на njs, соотвественно перешли с openresty на nginx обратно, конкретно в нашем случае была оптимизация по процу и времени ответа
источник

ER

Evgeniy Romanov in Чат конференции HighLoad++
Николай
Работать с куки на уровне вебсервера - разбирать их и в зависимости проксировать на разные бекенды.
судя по постановке вопроса - вам и разработчик поможет написать map на какой бекенд проксировать
источник

ER

Evgeniy Romanov in Чат конференции HighLoad++
"hi-availability" - просто прекрасный термин :)
источник

A

Aleksandr in Чат конференции HighLoad++
@A_nikolai, а если поподробнее задачу?
что за ф-ция раскидывания запросов по бэкендам в зависимости от кук?

а то может вам просто hash поможет...
https://nginx.org/en/docs/http/ngx_http_upstream_module.html#hash
источник

Н

Николай in Чат конференции HighLoad++
Evgeniy Romanov
судя по постановке вопроса - вам и разработчик поможет написать map на какой бекенд проксировать
Там не все так просто, ещё нужно спроектировать систему, настроить логирование, WAF правила, конфиг написать, протестировать под нагрузками и так далее, поэтому нужен специалист в этой области. Конечно, можно отдельно найти и Lua-программиста, который напишет то, что ему скажут, но специалист всё равно нужен .
источник

A

Aleksandr in Чат конференции HighLoad++
вообще подсказать оптимальную архитектуру для хайлоад проекта без знания конкретики проекта не получится, как только проект становится хайлоад у него сразу появляется своя специфика со своим набором решений...

если ф-ция сложная и связана и задействует ещё что-то кроме кук, возможно стоит вообще не заниматься lua и т.п. (даже скорей всего), а сделать nginx -> golang (как пример роутер) -> back...

куки же кто-то генерит, он может генерить ещё + одну куку, которая прям ключ для hash'а будет
источник

A

Aleksandr in Чат конференции HighLoad++
Николай
Там не все так просто, ещё нужно спроектировать систему, настроить логирование, WAF правила, конфиг написать, протестировать под нагрузками и так далее, поэтому нужен специалист в этой области. Конечно, можно отдельно найти и Lua-программиста, который напишет то, что ему скажут, но специалист всё равно нужен .
да вам просто нужен толковый прогер с опытом хайлоада
источник

Н

Николай in Чат конференции HighLoad++
Aleksandr
@A_nikolai, а если поподробнее задачу?
что за ф-ция раскидывания запросов по бэкендам в зависимости от кук?

а то может вам просто hash поможет...
https://nginx.org/en/docs/http/ngx_http_upstream_module.html#hash
Если нет куки, то один бекенд, если есть, то разбираем их, и в случае, если он правильные, отправляем на другой
источник

Н

Николай in Чат конференции HighLoad++
Aleksandr
вообще подсказать оптимальную архитектуру для хайлоад проекта без знания конкретики проекта не получится, как только проект становится хайлоад у него сразу появляется своя специфика со своим набором решений...

если ф-ция сложная и связана и задействует ещё что-то кроме кук, возможно стоит вообще не заниматься lua и т.п. (даже скорей всего), а сделать nginx -> golang (как пример роутер) -> back...

куки же кто-то генерит, он может генерить ещё + одну куку, которая прям ключ для hash'а будет
Куки как раз будет генерироваться одним из бекендов, он будет на питоне или на голанге.
источник

A

Aleksandr in Чат конференции HighLoad++
nginx -> если нет кук один апстрим (это можно прям в nginx'е сделать просто), если есть, то хоть iphash или hash от чего-то равномерно распределённого на модули, которые будут уже предобработкой заниматься (валидация и т.п.)
дальше эти модули просто сделают ещё один запрос уже явно хоть в get параметре проставив key=... и ещё один location nginx по hash отправит куда надо
источник