Loyd
Нужна
Loyd
Только не на жабе (
Anton
Эх, а кто перепишет?
Alexander
Кафка нужна =)
Я не уверен что она вообще запустится на 2гб памяти. Ява же.
Anton
Эх, а кто перепишет?
Я согласен на богомерзкий го
Loyd
Минимальная конфигурация нормально на 5$ DO не влазит
Loyd
Хотя вся суть кафки в "пох, ось закеширует"
Anton
Я не уверен что она вообще запустится на 2гб памяти. Ява же.
Ну у мну проблем с памятью нет, но java не нравится
Alexander
Ну у мну проблем с памятью нет, но java не нравится
Ну аналогично. + Я не вижу смысла что-то городить, если пока можно не городить а просто подписаться на базу.
Loyd
Давно подбиваю кафку переписать на расте
Loyd
Рафка (rufka). Даже подход уже был)
Anton
Ну у мну проблем с памятью нет, но java не нравится
# free -h total used free shared buff/cache available Mem: 251G 6.0G 134G 30G 111G 213G Swap: 0B 0B 0B
Anton
*похвастал*
պլհկ
На расте даже клиент не смогли написать нормальный
պլհկ
Куда уж сервер
Anton
Рафка (rufka). Даже подход уже был)
Под это дело бабло надо
Anton
На расте даже клиент не смогли написать нормальный
да ща с этим асинком всех колбасит, стабилизируется чуток - думаю получше будет
Andrei 🦉
Andrei 🦉
с тем же успехом можно у редиса пабсаб юзать
Andrei 🦉
в проде
Alexander
а что будет с подпиской, когда клиент отвалится?
Ничего не будет. Подключится снова и начнет обрабатывать что есть. Предварительно загрузив из базы сколько надо :)
Andrei 🦉
то есть персистентность будете реализовывать на стороне клиента? ну ну, и правда кафка не нужна
Sergey
внезапно
Alexander
Ну просто не всегда это надо или важно.
Αλεχ
Ну аналогично. + Я не вижу смысла что-то городить, если пока можно не городить а просто подписаться на базу.
буду хуярить, не потому, что под требования не подходят, а потому что я предубежденный хуй
Αλεχ
верной дорогой идете
G72K
И с растом работает? :)
Нативно только JVM :)
G72K
И с растом работает? :)
Есть еще декодеры логической репликации для postgresql, тоже можно "подписаться" на любые изменения
Alexander
буду хуярить, не потому, что под требования не подходят, а потому что я предубежденный хуй
Ну просто есть что-то для работы, а есть что-то для себя. И делать какой-то Легаси для себя не очень тянет.
պլհկ
Легаси это кафка что ли?
պլհկ
TIL
Vladimir
Все что написано до 2017 легаси
Alexander
А для раста Кафка есть? Вроде есть и живая.
Loyd
Вроде как да
Loyd
Говорят даже асинхронные биндинги подвезли
պլհկ
rdkafka
պլհկ
Это обертка над сишкой
Anonymous
Как на Rust'е завершить процесс?
Sergey
отправить SIGKILL?
Anonymous
Я не знаю) Поэтому и спрашиваю
Денис
https://crates.io/crates/ctrlc https://crates.io/crates/chan-signal
Денис
для асинхронщины можно юзать tokio-signal
Anonymous
std::process::exit
Спасибо
Αλεχ
Structs have private fields (C-STRUCT-PRIVATE) Making a field public is a strong commitment: it pins down a representation choice, and prevents the type from providing any validation or maintaining any invariants on the contents of the field, since clients can mutate it arbitrarily. Public fields are most appropriate for struct types in the C spirit: compound, passive data structures. Otherwise, consider providing getter/setter methods and hiding fields instead.
Αλεχ
Но удобных get set мы не завезли
Αλεχ
Делайте как жабе
Αλεχ
Ясно понятно
պլհկ
100% есть дерайв геттер
Vladimir
Тут походу все советы нацелены на обратную совместимость
Vladimir
Лучше бы посоветовали как начать лики считать мемори сейфти
պլհկ
Прими их в сердце своем
Αλεχ
100% есть дерайв геттер
дерайв частично помогает, но не полностью
Αλεχ
a.foo = b.bar первращается в a.setFoo(b.bar())
Vladimir
Надо как в делфи
Денис
ну, такой просто кейс покрывается pub :)
Αλεχ
так они говорят pub плохо
Vladimir
Чтоб a.foo = bar разворачивалось в сеттер
Αλεχ
по той же логике что в шарпах
պլհկ
Бля ну как много структов у вас в паблик апи торчат?
Денис
гуд поинт
Vladimir
Ещё короче можно как в с++ оператор перезагружать
Αλεχ
не понял
Αλεχ
а как в расте без структур в паблике можно что-то полезное сделать?
պլհկ
Структура в паблике не значит что ей надо полями светить
Vladimir
А поскольку асигн низя надо %= (есть же такой?). Будет код f.foo%=bar
պլհկ
😏
Vladimir
:=
Это на препроцессоре наворотить
Vladimir
s/:=/%=
Αλεχ
а еще желательно билдеры в язык как-нибудь пропилить, а то неприкольно цепочкой методов собирать объект
Денис