Ну, кафку я привел для примера, как штуку, которая попроще "настоящей" БД. Доступаться до случайного места в данных в ней можно, но простых способов найти это место нет. Разве что снаружи какие-нибудь индексы городить, но это надо очень любить кафку, конечно :)
Ну начнем с того что БД - совершенно точно плохой транспорт сообщений между пирами в онлайне. Для того, чтоб подгрузить историю тем, кто только подключается, очевидно, нужен какойто персистентный стораж (хотя если есть цель совсем по-босяцки делать, можно и собирать с других пиров например, вообще ничего не хранить самим, как олдскульный скайп), но совсем необязательно использовать что-то прям развесистое как кассандра - нам же нужен просто список сообщений в канале, начиная с какого-то момента. В этом месте уже напрашивается, например, кафка (только метаданные, типа офсетов, лучше бы держать в другом месте, чтобы не грузить ее мелочью). Или что-то подобное, где можно использовать особенность вашего ворклоада, а именно много записи, а чтение в основном большими кусками и с конца.
Мессенджеры я тоже не писал, но достаточно очевидно, что база тут рано или поздно станет ботлнеком, причем хорошо так прикопанным, легко не вытащить если что, так что лучше взять чтото, что можно без лишних проблем масштабировать неограниченно. А иначе придется приседать вот как в статье описано :)
Жизнь на круизных кораблях не только дешевле гостиниц, но и съемных квартир во многих странах. Я не знаю деталей их экономики, но знаю что есть достаточно заметно количество людей, в особенности пенсионеров, которые тупо живут в круизах.
Представьте важное объявление на крупном сервере, уведомляющее всех (everyone) пользователей на нём: пользователи запустят приложение и прочитают сообщение, отправляя огромный объём трафика базе данных
У меня на архитектурных собеседованиях в месседж-сервисах протягивать сообщения через базку считается дурным тоном :)
Чем же они отличаются ? Из коробки идет тот же самый bash (на самом деле zsh теперь по-дефолту вроде), те же самые корутилсы (ну да, не гнутые, а бсдшные, но разница не очень велика)
это все составлено из вполне идиоматичных кусков `find | xargs`, `sort | uniq -c` итд. За несколько месяцев, если пользоваться регулярно (если есть нужда, конечно), оно очень хорошо прилипает к пальцам.
Я поэтому и сказал "историческая ущербность". С тех пор как появился пш в винде стало, нууу, нормально. Мне не очень нравится его многословность, но нравится концепция передачи в пайпах целых объектов вместо просто текста.
Ага, искал ямлики, из них извлекал поле "name" каждого объекта и потом подсчитал, какие имена встречаются больше одного раза. Каких размеров комбайн должен быть, чтобы такое уметь? А я ведь всю эту строчку писал не особо задумываясь, с той же скоростью, какой печатаю человеческий текст.
Непопулярное мнение: фар - плохая программа, использовать текстовый интерфейс в графической среде не только глупо, но и неудобно. WinCmd/TotalCmd делают то же самое, только лучше. И в принципевсе эти дикие комбайны, которые и файл менеджеры, и читалки-искалки-переименовывалки-упаковалки - это все от исторической ущербности виндового тулинга, без нормального CLI и утилит типа find/tar/grep/vim/etc
Сегодня работник хочет работать из офиса в своем кабинете, а через год у него ребенок родился/устал от зимы/переехал в другое место и ему теперь хочется ремоут. Как вообще планировать капасити-то в таких условиях? Нельзя одновременно давать гибкие условия работы и кабинет каждому
Форматы таймстампа действительно могут быть разные и утилитка это умеет. А парсер для форматов называется strptime(3) и он уже давно написан :)
А использовалась утилитка в дремучие времена до структурированных логов и всяких логстешей, когда метрики не слались самими приложениями, а парсились из их логов
Самое классное это то что стрелки в Европе и Америке переводят с разницей в неделю, и надо держать в уме что два раза в год по неделе разница во времени на час меньше
У меня есть одна утилитка с альтернативным подходом - тейлить логи за последние N секунд. Логи-то отсортированы, содержат таймстамп так что бинарный поиск нужного места - весьма дешев.
Не могу осуждать людей, которые испытывают затруднения при работе с принтерами - это, наверное, самая капризная техника из всего что можно встретить в офисе (не буду печатать чб текст, у меня желтый кончился)
Все самолеты на эшелоне (когда летят прямо) имеют пол под наклоном - потому что они не летят строго горизонтально, а имеют угол атаки, в пределах нескольких градусов (собственно, в том числе и поэтому они и летят).
Хотя помимо угла атаки, на уклон пола еще влияет угол, под которым пришуруплены сами крылья - возможно, на 747 он отличался от того, к которому привыкли бортпроводники. Так или иначе, стопоры для тележек сейчас есть везде. Да и уклон этот я замечал на всех самолетах, на которых летал.
Savane :trollface:
(это то, что работает внутри несравненной GNU Savannah)
Ну, кафку я привел для примера, как штуку, которая попроще "настоящей" БД. Доступаться до случайного места в данных в ней можно, но простых способов найти это место нет. Разве что снаружи какие-нибудь индексы городить, но это надо очень любить кафку, конечно :)
Ну начнем с того что БД - совершенно точно плохой транспорт сообщений между пирами в онлайне. Для того, чтоб подгрузить историю тем, кто только подключается, очевидно, нужен какойто персистентный стораж (хотя если есть цель совсем по-босяцки делать, можно и собирать с других пиров например, вообще ничего не хранить самим, как олдскульный скайп), но совсем необязательно использовать что-то прям развесистое как кассандра - нам же нужен просто список сообщений в канале, начиная с какого-то момента. В этом месте уже напрашивается, например, кафка (только метаданные, типа офсетов, лучше бы держать в другом месте, чтобы не грузить ее мелочью). Или что-то подобное, где можно использовать особенность вашего ворклоада, а именно много записи, а чтение в основном большими кусками и с конца.
Мессенджеры я тоже не писал, но достаточно очевидно, что база тут рано или поздно станет ботлнеком, причем хорошо так прикопанным, легко не вытащить если что, так что лучше взять чтото, что можно без лишних проблем масштабировать неограниченно. А иначе придется приседать вот как в статье описано :)
Жизнь на круизных кораблях не только дешевле гостиниц, но и съемных квартир во многих странах. Я не знаю деталей их экономики, но знаю что есть достаточно заметно количество людей, в особенности пенсионеров, которые тупо живут в круизах.
У меня на архитектурных собеседованиях в месседж-сервисах протягивать сообщения через базку считается дурным тоном :)
лучшие уже и так разбежались лол
Чем же они отличаются ? Из коробки идет тот же самый bash (на самом деле zsh теперь по-дефолту вроде), те же самые корутилсы (ну да, не гнутые, а бсдшные, но разница не очень велика)
это все составлено из вполне идиоматичных кусков `find | xargs`, `sort | uniq -c` итд. За несколько месяцев, если пользоваться регулярно (если есть нужда, конечно), оно очень хорошо прилипает к пальцам.
Я поэтому и сказал "историческая ущербность". С тех пор как появился пш в винде стало, нууу, нормально. Мне не очень нравится его многословность, но нравится концепция передачи в пайпах целых объектов вместо просто текста.
Ну нет, вы прям сильно неправы, как мне кажется. Например, что же я делал последнего с помощью find, давайте посмотрим историю шелла:
Ага, искал ямлики, из них извлекал поле "name" каждого объекта и потом подсчитал, какие имена встречаются больше одного раза.
Каких размеров комбайн должен быть, чтобы такое уметь? А я ведь всю эту строчку писал не особо задумываясь, с той же скоростью, какой печатаю человеческий текст.
Непопулярное мнение: фар - плохая программа, использовать текстовый интерфейс в графической среде не только глупо, но и неудобно. WinCmd/TotalCmd делают то же самое, только лучше. И в принципевсе эти дикие комбайны, которые и файл менеджеры, и читалки-искалки-переименовывалки-упаковалки - это все от исторической ущербности виндового тулинга, без нормального CLI и утилит типа find/tar/grep/vim/etc
Потому-то всех и загоняют :)
Сегодня работник хочет работать из офиса в своем кабинете, а через год у него ребенок родился/устал от зимы/переехал в другое место и ему теперь хочется ремоут. Как вообще планировать капасити-то в таких условиях? Нельзя одновременно давать гибкие условия работы и кабинет каждому
Форматы таймстампа действительно могут быть разные и утилитка это умеет. А парсер для форматов называется strptime(3) и он уже давно написан :)
А использовалась утилитка в дремучие времена до структурированных логов и всяких логстешей, когда метрики не слались самими приложениями, а парсились из их логов
Самое классное это то что стрелки в Европе и Америке переводят с разницей в неделю, и надо держать в уме что два раза в год по неделе разница во времени на час меньше
У меня есть одна утилитка с альтернативным подходом - тейлить логи за последние N секунд. Логи-то отсортированы, содержат таймстамп так что бинарный поиск нужного места - весьма дешев.
Горутина на каждый реквест, действительно, куда ж все время и память уходит :)
Гошный код не показали, бенчмарк на чужом удаленном сервере (небось еще и по wifi). Даж не знаю, что автор тут тестировал, но точно не языки
Не могу осуждать людей, которые испытывают затруднения при работе с принтерами - это, наверное, самая капризная техника из всего что можно встретить в офисе (не буду печатать чб текст, у меня желтый кончился)
Все самолеты на эшелоне (когда летят прямо) имеют пол под наклоном - потому что они не летят строго горизонтально, а имеют угол атаки, в пределах нескольких градусов (собственно, в том числе и поэтому они и летят).
Хотя помимо угла атаки, на уклон пола еще влияет угол, под которым пришуруплены сами крылья - возможно, на 747 он отличался от того, к которому привыкли бортпроводники. Так или иначе, стопоры для тележек сейчас есть везде. Да и уклон этот я замечал на всех самолетах, на которых летал.