Size: a a a

2020 April 23

Y

Yury in Go-go!
Andrei 🦉 Sergeev
паб саб сервис без какой либо персистнтности для сообщений соревнуется по скорости с решениями, которые обеспечивают не только персистентность полученных сообщений, но и их автоматическую репликацию на кластере 😂
ну у натса есть вообщето гарантия доставки,  опциональная
источник

AS

Andrei 🦉 Sergeev in Go-go!
Yury
ну у натса есть вообщето гарантия доставки,  опциональная
даже когда продьюсер умер?)
источник

ВС

Владимир Столяров... in Go-go!
бегло глянул, судя по документации там есть хранение в файлах, но судя по всему устойчивость там как в redis
есть еще хранение в mysql/postgres, но постоянно дрючить таблицы вставкой-обновлением-удалением обычно хорошо не заканчивается
источник

Y

Yury in Go-go!
Daniel Podolsky
правильно вопрос ставится так: “common bus или peer to peer”
наверное первое...  вообще это моя первая реализация взаимодействия микросервисов будет. я вижу это так: инициатор шлет запрос брокеру, брокер из микросервисов выбирает те, которые могут это обработать(т.е. подписаны на эту процедурку) ну и дальше выбирает самый не занятый/рандомный. примерно как-то так
источник

AS

Andrei 🦉 Sergeev in Go-go!
Владимир Столяров
бегло глянул, судя по документации там есть хранение в файлах, но судя по всему устойчивость там как в redis
есть еще хранение в mysql/postgres, но постоянно дрючить таблицы вставкой-обновлением-удалением обычно хорошо не заканчивается
я бы посмотрел на результаты бенчмарка выше с хранением в mysql 😂
источник

Y

Yury in Go-go!
Владимир Столяров
бегло глянул, судя по документации там есть хранение в файлах, но судя по всему устойчивость там как в redis
есть еще хранение в mysql/postgres, но постоянно дрючить таблицы вставкой-обновлением-удалением обычно хорошо не заканчивается
ну хранение там такое себе, согласен. но опять же говорю, что мне гарантии брокера скорее не нужны, чем нужны.
источник

AS

Andrei 🦉 Sergeev in Go-go!
Yury
ну хранение там такое себе, согласен. но опять же говорю, что мне гарантии брокера скорее не нужны, чем нужны.
а какой у вас кейс?
источник

AS

Andrei 🦉 Sergeev in Go-go!
просто замена походу по хтпп между микросервисами?
источник

Y

Yury in Go-go!
да собственно это моя первая реализация общения между микросервисами, поэтому вот думаю что лучше и проще в плане масштабируемости.
источник

Y

Yury in Go-go!
общение напрямую не очень нравится, т.к. каждый микросервис должен знать явно о каждом
источник

MN

Mykyta Nikitenko in Go-go!
Yury
общение напрямую не очень нравится, т.к. каждый микросервис должен знать явно о каждом
См. consul
источник

R

Roman 🇲🇪 in Go-go!
Парни, у нас тут сеньерский помидорский спор по поводу выбора библиотеки для Kafka.
confluent-kafka-go VS sarama.  Кто-нибудь сравнивал относительно недавно?  Может поделитесь ссылками на бенчмарки или дискуссии.  Основное спор вокруг CGO vs Performance.
источник

ЛА

Локоть Анатолий... in Go-go!
Roman 🇲🇪
Парни, у нас тут сеньерский помидорский спор по поводу выбора библиотеки для Kafka.
confluent-kafka-go VS sarama.  Кто-нибудь сравнивал относительно недавно?  Может поделитесь ссылками на бенчмарки или дискуссии.  Основное спор вокруг CGO vs Performance.
Делали бенчмаркинг?
Какая конкретная у них разница по аллокациям и скорости?
Я за более производительное и экономное по памяти решение, не зависимо от наличия/отсутствия cgo.
источник

R

Roman 🇲🇪 in Go-go!
Нет не делали, но есть ссылка на бенчмарки 2-х летней давности
источник

AS

Andrei 🦉 Sergeev in Go-go!
Roman 🇲🇪
Парни, у нас тут сеньерский помидорский спор по поводу выбора библиотеки для Kafka.
confluent-kafka-go VS sarama.  Кто-нибудь сравнивал относительно недавно?  Может поделитесь ссылками на бенчмарки или дискуссии.  Основное спор вокруг CGO vs Performance.
sarama - матёрая и написана на чистом go
confluent-kafka-go - это биндинг на сишную библиотеку librdkafka
источник

AS

Andrei 🦉 Sergeev in Go-go!
если хочется боли, можно попробовать confluent-kafka-go
источник

DP

Daniel Podolsky in Go-go!
Yury
наверное первое...  вообще это моя первая реализация взаимодействия микросервисов будет. я вижу это так: инициатор шлет запрос брокеру, брокер из микросервисов выбирает те, которые могут это обработать(т.е. подписаны на эту процедурку) ну и дальше выбирает самый не занятый/рандомный. примерно как-то так
Я тут наблюдал, как в поддержку общей шине в рамках каждого сервиса появилась РСУБД.

Потому, что обработка некоторых событий многостадийная, и Стейт надо где-то хранить.

Пока производительность позволяет - делайте общую шину на РСУБД и не парьтесь. Делать ее на очередях - это привет какая сложная задача
источник

AS

Andrei 🦉 Sergeev in Go-go!
я писал для librdkafka враппер для тарантула, очень весело провёл время 😂
источник

AS

Andrei 🦉 Sergeev in Go-go!
Локоть Анатолий
Делали бенчмаркинг?
Какая конкретная у них разница по аллокациям и скорости?
Я за более производительное и экономное по памяти решение, не зависимо от наличия/отсутствия cgo.
confluent-kafka-go точно производительнее и эффективнее, но гораздо менее удобный при использовании и отладке, потому что вся работа происходит в нетривиальном сишном коде
источник

ЛА

Локоть Анатолий... in Go-go!
Andrei 🦉 Sergeev
confluent-kafka-go точно производительнее и эффективнее, но гораздо менее удобный при использовании и отладке, потому что вся работа происходит в нетривиальном сишном коде
Я призабыл,  гошный бенчмаркинг стандартный отслеживает аллокации в cgo, или это надо снаружи как-то мерять?
источник