Size: a a a

2020 September 08

p

polunin.ai in rust_offtopic
Вся сложность видна снаружи!
источник

EG

Emmanuel Goldstein in rust_offtopic
Это тупо обычный рабочий кейс. У меня заготовлено ещё несколько, чтобы про них рассказывать на собесах.
источник

M

MrSmith in rust_offtopic
Emmanuel Goldstein
Почему так было: потому что очень много чтения/записи. Но так жить нельзя, потому что файл ломается при синхронизации. Это было десятилетнее легаси.
Условия: держать десятки миллионов операций чтения/записи в секунду (т. е. работать в памяти, без вариантов). Формат данных: несколько значений к ключу.
Для этого хорошо подошёл редис, который и впилили.
После этого старый монолит кода начали разбирать на куски — выносили кусок, в котором нужно было сделать at-least-once доставку уведомлений. В качестве очереди использовали тот же редис. Эдж кейс — если сервер сдохнет в момент отправки сообщения, то сообщение останется «взятым» из очереди». Каждые эн минут по определённым условиям сервер отправки уведомлений забирает сообщения обратно в очередь. Это допустимо, потому что даже если оно было уже отправлено, мы имеем право отправить его ещё раз.
Новый сервис был написан с использованием mypy, протестирован юнит-, интеграционными и мутационными тестами, поэтому вообще не потребовал никаких изменений с момента того, как был в тестовом режиме выкачен (и до сих пор, насколько мне известно, так и работает).
Для меня это не великий таск а очередной бизнес костыль
источник

EG

Emmanuel Goldstein in rust_offtopic
Суть — показать, что у тебя вообще есть голова.
источник

EG

Emmanuel Goldstein in rust_offtopic
MrSmith
Для меня это не великий таск а очередной бизнес костыль
Ты не поверишь, что от тебя нужно бизнесу.
источник

M

MrSmith in rust_offtopic
А я вот не понял есть ли у тебя голова почему там нельзя было использовать inmemory db в shred memory
источник

M

MrSmith in rust_offtopic
А вникать в ваш навоз мне лень
источник

M

MrSmith in rust_offtopic
Как то так
источник

EG

Emmanuel Goldstein in rust_offtopic
MrSmith
А я вот не понял есть ли у тебя голова почему там нельзя было использовать inmemory db в shred memory
redis это и есть in-memory db, лол
источник

EG

Emmanuel Goldstein in rust_offtopic
Поддерживающая синхронизацию между хостами, что немаловажно, чтобы обеспечить отказоустойчивость
источник

M

MrSmith in rust_offtopic
А ну тоесть весь этот словесный понос что бы показать что вы можете в inmemory
источник

M

MrSmith in rust_offtopic
А ну понял
источник

M

MrSmith in rust_offtopic
Да крутой таск(нет)
источник

M

MrSmith in rust_offtopic
Крч твой маня мирок и Hr маня мирок нахер идет а нагнать всяких умный слов про то как я кнопку в qt вставил я смогу
источник

EG

Emmanuel Goldstein in rust_offtopic
Напомни, а где ты работаешь сейчас?
источник

M

MrSmith in rust_offtopic
Что бы ты туда скинами спамить начал и меня выперли?
источник

M

MrSmith in rust_offtopic
В большой конторе работаю
источник

EG

Emmanuel Goldstein in rust_offtopic
Не бойся, не начну. Что сказано в чате — остаётся в чате.
источник

M

MrSmith in rust_offtopic
А че дебил всем ноунэймам в чате верить?
источник

PP

Piu Piu in rust_offtopic
источник