Решил таки ознакомиться поподробнее с NATS. Выглядит эта штука удобно для отладки (nats.exe и nats-server.exe без дополнительных штук запускается локально и работает без необходимости чтения тысяч документации :))
Тут я сделал ошибку, подключив пакет NATS.Client (который имеет 7.6М скачиваний и выглядит относительно свежим), который внезапно имеет меньше фич и не соответствует примерам чему я немного удивился и полез читать доки дальше. Поковыряв немного этот пакет и поигравшись с отправкой сообщений в одного консумера решил сделать группу concurrent консумеров, которые разгребают одну очередь. И внезапно она легко делается в документации, но я не нашёл способа сделать этого с NATS.Client.
Оказывается второй пакет - NATS.Client.Core (который имеет 28K скачиваний) - является второй версией предыдущего пакета, написан годно (IAsyncEnumerable, ReadOnlySequence<byte> в сериализаторах и т.д.) и как раз умеет всё как надо и практически интуитивно, тот же consumer group прямо одним параметром задается и работает сразу как надо :) #dotnet #nats
Тут я сделал ошибку, подключив пакет NATS.Client (который имеет 7.6М скачиваний и выглядит относительно свежим), который внезапно имеет меньше фич и не соответствует примерам чему я немного удивился и полез читать доки дальше. Поковыряв немного этот пакет и поигравшись с отправкой сообщений в одного консумера решил сделать группу concurrent консумеров, которые разгребают одну очередь. И внезапно она легко делается в документации, но я не нашёл способа сделать этого с NATS.Client.
Оказывается второй пакет - NATS.Client.Core (который имеет 28K скачиваний) - является второй версией предыдущего пакета, написан годно (IAsyncEnumerable, ReadOnlySequence<byte> в сериализаторах и т.д.) и как раз умеет всё как надо и практически интуитивно, тот же consumer group прямо одним параметром задается и работает сразу как надо :) #dotnet #nats
👍6