Size: a a a

2020 March 29

NL

Nick Linker in rust_offtopic
Alexander Krivitskiy
Я на прошлой работе такую конфетку над дбасом сделал... Мммм... Никаких статических гарантий, но как же просто было изменять интерфейсы, и добавлять новые компоненты. Ещё бы немного вложился, и можно было бы на лету динамически встраивать новый компонент в существующую коммуникацию. Жаль, что с собой унести не вышло :(
Звучит как AMQP 😊
источник

AI

Alex Ilizarov in rust_offtopic
Casual tears
Там issue #1 все еще не разрешили: https://github.com/dtolnay/cxx/issues/1
Оно из коробки решено. Ты же не ругаешься когда любой доступ к C требует unsafe?
источник

Ct

Casual tears in rust_offtopic
Alex Ilizarov
Оно из коробки решено. Ты же не ругаешься когда любой доступ к C требует unsafe?
Не понял к чему ты
источник

Ct

Casual tears in rust_offtopic
ты точно issue прочитал?
источник

Ct

Casual tears in rust_offtopic
дальше заголовка
источник

AK

Alexander Krivitskiy in rust_offtopic
А потом познакомился со thrift и кривым файлом описывающим интерфейсы разных компонент. Расширил один интерфейс в этом файле - пришлось перекомпилировать все компоненты, которые использовали этот файл, даже если они не использовали сам интерфейс.
источник

AI

Alex Ilizarov in rust_offtopic
Casual tears
дальше заголовка
The C++ side may do arbitrary unsafe things like dereferencing dangling pointers.
источник

Ct

Casual tears in rust_offtopic
Alex Ilizarov
The C++ side may do arbitrary unsafe things like dereferencing dangling pointers.
Ага. И суть проблемы в том, что эта библиотека генерит биндинги которые не помечены как unsafe.
источник

AI

Alex Ilizarov in rust_offtopic
Т.е ты предлагаешь биндинги к биндингам писать?
источник

Ct

Casual tears in rust_offtopic
Конечно
источник

AI

Alex Ilizarov in rust_offtopic
Не ну вообще суть ясна
источник

AK

Alexander Krivitskiy in rust_offtopic
Nick Linker
Звучит как AMQP 😊
Да, очень похоже. У меня тоже были маршрутизаторы, броадкасты, мультикасты. Но ещё у меня можно было вне очередей коллбеком сообщения обрабатывать.
источник

NL

Nick Linker in rust_offtopic
Alexander Krivitskiy
А потом познакомился со thrift и кривым файлом описывающим интерфейсы разных компонент. Расширил один интерфейс в этом файле - пришлось перекомпилировать все компоненты, которые использовали этот файл, даже если они не использовали сам интерфейс.
А, вот ты к чему. Перекомпиляция всех компонентов мне кажется меньшим злом по сравнению с рантайм ошибкой, которая возникает только после деплоя.
Да, есть требования, которые склоняют к слабо связанным решениям, в каких-нибудь микросервисах, когда разные сервисы должны уметь эволюционировать независимо, и надо всегда соблюдать обратную совместимость, но! эта слабая связанность поддерживается довольно дорогой ценой набора интеграционных тестов.
источник

СД

Стас Донцов... in rust_offtopic
Nick Linker
Звучит как AMQP 😊
AMPQ звучит как кафка или заяц, или нет?
источник

MB

Mikail Bagishov in rust_offtopic
Стас Донцов
AMPQ звучит как кафка или заяц, или нет?
AMPQ - это протокол, который реализуется в том числе RabbitMQ
источник

NL

Nick Linker in rust_offtopic
Стас Донцов
AMPQ звучит как кафка или заяц, или нет?
У Кафки свой протокол, и сценарии использования соответственно другие.

Если тебе нужно гибко диспетчеризовать сообщения разных типов, хитро их броадкастить на какие-нибудь динамические группы, для некоторых получаетелй требовать подтверждения, поддерживать приоритетную доставку и т.п. - это всё AMQP, реализацей которого может быть например RabbitMQ.

Если у тебя здоровенный шланг, откуда с большим напором бьёт поток сообщений, и тебе их надо развести по ручейкам, и по-возможности не потерять ни капли - это Кафка.
источник

AZ

Alex Zhukovsky in rust_offtopic
Т-34 85
вот-вот. Ты юзаешь сишные продукты и даже не задумываешься об этом. А так же о том, почему они так хороши для тебя
я не понимаю позиции
источник

AZ

Alex Zhukovsky in rust_offtopic
я должен писать на сишке чтобы выказать дань уважения? Не вижу в этом смысла
источник

AK

Alexander Krivitskiy in rust_offtopic
Nick Linker
А, вот ты к чему. Перекомпиляция всех компонентов мне кажется меньшим злом по сравнению с рантайм ошибкой, которая возникает только после деплоя.
Да, есть требования, которые склоняют к слабо связанным решениям, в каких-нибудь микросервисах, когда разные сервисы должны уметь эволюционировать независимо, и надо всегда соблюдать обратную совместимость, но! эта слабая связанность поддерживается довольно дорогой ценой набора интеграционных тестов.
У меня если компонента не знала как обработать сообщение, отбрасывала его и писала об этом в лог. Заметить и исправить - легко. При этом всё продолжало работать, хоть и не совсем корректно.
источник

AZ

Alex Zhukovsky in rust_offtopic
Т-34 85
о том, почему они именно на си/крестах написаны, а не на каком-нибудь другом языке прошлого века. Например, почему не на джаве
потому что когда их писали джавы не было?
источник