Расскажите, пожалуйста, зачем вам Erlang (или elixir, смотря, что вы используете)? У вас же, по идее, не так много RPS, как у некоторых ( blog.discordapp.com/scaling-elixir-f9b8e1e7c29b ). Причем, если надо какой-то примитив легче, чем Поток, можно было смотреть на Котлин с корутинами, или Скалу с Akka streams, при этом оставаясь в рамках JVM.
1) Ага, от яндекса — вторая из двух известных
2) Уточню — моя ссылка — это просто обёртка над github.com/opentable/otj-pg-embedded — одни из двух известных решений
3) Почему не использовать локальную БД — такое решение плохо живёт в CI, где надо запускать «здесь и сейчас», без пробрасываняи базы данных в нужный контейнер.
Тестконтейнеры — это очень замечательно, если ваш CI позволяет запустить это. Порой бывает, что Докер в докере, в докере (и так далее), и Тест контейнеры отпадают, как вариант, из-за сложности интеграции.
Я же ничего не путаю, но Spring сам по себе не запустит embedded postgresql? То есть, это будет просто какая-то in-memory БД, в которой детали реализации будут отличатся от PG?
А каналы там — как и раньше в Рунете, по интересам: по всем современным языкам программирования вроде были бы.
[04:54:03] There are 109 users and 83857 invisible on 33 servers
[04:54:03] 29 IRC Operators online
[04:54:03] 70 unknown connection(s)
[04:54:03] 49601 channels formed
[04:54:03] I have 4131 clients and 1 servers
— [04:54:03] Current local users: 4131 Max: 6368
[04:54:03] Current global users: 83966 Max: 94264
— [04:54:03] Highest connection count: 6369 (6368 clients) (1238486 connections received)
Привет, спасибо за очередную крутую статью в вашем блоге.
Извините, а вы уже используете у себя какой-либо service mesh (istio, наприме) на проде? А то у меня складывается такое ощещение, что SM — это как Баг Дата в 2008 — все говорят, но…
Очень приятно видеть, как выкладки из computer science применяются в реальной жизни. А решение задачи через сводимость — это вообще бомба. Отличный пример того, что алгоритмы в институте учить нужно, и они применимы на практике.
Сначала нужно дать определение, что такое Тимлид в рамках конкретной компании. Это может быть, как Программист-звезда, так и Менеджер с техническим бэкграундом.
Было бы странно, если бы Программист-звезда не знал базовый computer science.
«Мне cs не нужен, всё уже есть в языке» — а потом можно посмотреть на одну из больших корпораций, например Одноклассники, где пишут, например, свои надстройки над базами, языками, виртуальными машинами и другим. А тут уже оказывается, что все алгоритмы придётся писать руками, а не брать из языка.
Да, было бы очень здорово. Я даже боюсь представить, сколько вы сможете сэкономить мирового трафика TURN-серверов (если на ваших данных вышло 12% прироста P2P).
Вот у нас есть ключ шардирования, который делит пользователей на:
User1- East
User2- East
User3- East
User4- West
User5- West
(Ситуация очень упрощенная, ведь среди мета-данных гитхаба есть проекты, задачи и прочее, что не относится к одному пользователю).
Пусть упал East DC. В этой ситуации пользователи User1, User2 и User3 не могут ничего записывать. А пользователи User4 и User5 — могут.
Не очень понимаю, откуда тут появится запись в шард на другое побережье? Вижу в этом примере только чтение из реплики данных пользователей User1, User2, User3 из другого побережья.
Шардирование тут никак не помогло, потому что вылетел не какой-то один сервер, а весь ДЦ.
Мм, а почему нельзя ключ шарда привязать к региону. Вроде бы в этом случае просто пропадет запись только в один из ДЦ, к которому был привязан данный регион.
А ещё можно поговорить про выбор MySQL для HA-хранилища. Я вообще не знаю, как там устроено в MySQL, но в случае PostgreSQL я бы только поставил на шардирование, где выход из строя одного из шардов — это всего-лишь Х%-процентная потеря на запись.
Формат — бомба! Подробности, размышления, и ни грамму маркетинга :)
Расскажите, пожалуйста, зачем вам Erlang (или elixir, смотря, что вы используете)? У вас же, по идее, не так много RPS, как у некоторых ( blog.discordapp.com/scaling-elixir-f9b8e1e7c29b ). Причем, если надо какой-то примитив легче, чем Поток, можно было смотреть на Котлин с корутинами, или Скалу с Akka streams, при этом оставаясь в рамках JVM.
2) Уточню — моя ссылка — это просто обёртка над github.com/opentable/otj-pg-embedded — одни из двух известных решений
3) Почему не использовать локальную БД — такое решение плохо живёт в CI, где надо запускать «здесь и сейчас», без пробрасываняи базы данных в нужный контейнер.
Я же ничего не путаю, но Spring сам по себе не запустит embedded postgresql? То есть, это будет просто какая-то in-memory БД, в которой детали реализации будут отличатся от PG?
github.com/zonkyio/embedded-database-spring-test
Она прям в одно косание интегрируется со спринговым проектом, а еще умеет накатывать Flyway миграции.
А каналы там — как и раньше в Рунете, по интересам: по всем современным языкам программирования вроде были бы.
Извините, а вы уже используете у себя какой-либо service mesh (istio, наприме) на проде? А то у меня складывается такое ощещение, что SM — это как Баг Дата в 2008 — все говорят, но…
Очень приятно видеть, как выкладки из computer science применяются в реальной жизни. А решение задачи через сводимость — это вообще бомба. Отличный пример того, что алгоритмы в институте учить нужно, и они применимы на практике.
Было бы странно, если бы Программист-звезда не знал базовый computer science.
«Мне cs не нужен, всё уже есть в языке» — а потом можно посмотреть на одну из больших корпораций, например Одноклассники, где пишут, например, свои надстройки над базами, языками, виртуальными машинами и другим. А тут уже оказывается, что все алгоритмы придётся писать руками, а не брать из языка.
Кстати, Илья вместе с ksdaemon сделали замечательный выпуск подкаста на эту же тему — sdcast.ksdaemon.ru/2018/11/sdcast-92
Вот у нас есть ключ шардирования, который делит пользователей на:
(Ситуация очень упрощенная, ведь среди мета-данных гитхаба есть проекты, задачи и прочее, что не относится к одному пользователю).
Пусть упал East DC. В этой ситуации пользователи User1, User2 и User3 не могут ничего записывать. А пользователи User4 и User5 — могут.
Не очень понимаю, откуда тут появится запись в шард на другое побережье? Вижу в этом примере только чтение из реплики данных пользователей User1, User2, User3 из другого побережья.
kotlinlang.org/docs/reference/whatsnew11.html#javascript-backend
Мм, а почему нельзя ключ шарда привязать к региону. Вроде бы в этом случае просто пропадет запись только в один из ДЦ, к которому был привязан данный регион.