Решил таки ознакомиться поподробнее с 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
https://www.tkng.io - некоторые девопсы пишут, что самое лучшее руководство по сетям в кубере #kubernetes
www.tkng.io
The Kubernetes Networking Guide
👍5
Я не большой любитель изучать разное по ютубу, но тут чятики принесли интересное видео, в котором очень просто объясняется что такое и зачем акторы и как это реализовано в Orleans и Akka.net - особенно если вы никогда с ними не работали. #akka #orleans #dotnet
YouTube
Celebrity Deathmatch: Akka.NET vs Orleans - Hannes Lowette - NDC London 2023
I grew up in the MTV generation, and that included 'Celebrity Deathmatch', a show where actors and other celebs battled out their differences in the most gruesome ways. In this talk, we also have some actors battling it out on stage. But a bit differently.…
🔥7
The fastest CSV parser in .NET - вот да, так и названо (в статье ещо десятка два CSV-парсеров тестяца) #dotnet
😁2
Запилил Orleans.Nats - адаптеры для nats.io для Orleans (clustering/grain storage/reminders). Поскольку там есть object store - можно использовать. Да, не так удобно как в реляционных СУБД.
Пока без тестов, напишу попозже, ща разбираюсь как их пишут для Orleans на примере тестов для адаптера для mongodb
Странно, что в такой интересной штуке как Orleans в интерфейсы адаптеров не пробрасывется CancellationToken. Я бы пробросил. #orleans #dotnet
Пока без тестов, напишу попозже, ща разбираюсь как их пишут для Orleans на примере тестов для адаптера для mongodb
Странно, что в такой интересной штуке как Orleans в интерфейсы адаптеров не пробрасывется CancellationToken. Я бы пробросил. #orleans #dotnet
👍1🤔1
Интересный инструмент (github) с поддержкой кучи языков, который берёт исходник и парсит его в AST (иногда помогает разбирать обфусцированный код) #tools
Серия из 8 статей про strongly typed entity ids от Andrew Lock. Вообще тема конечно интересная, но на мой взгляд кое-где отдаёт оверинжирингом. #dotnet
👍2
NetCoreAudio - если надо поиграть аудио, пишут что "on any supported operating system (Windows, macOS, Linux) and any CPU architecture (AMD, ARM, etc.) with minimal dependencies". Однако, как обычно водится с линуксами - требуется mpg123/aplay/amixer/arecord и хер его знает как оно будет работать вообще. #dotnet
В Serilog завезли трейсинг на минималках. Правда пакет пока prerelease и работает только с ILogger самого Serilog, с MS Logging не подружили. #dotnet
👍2
Что умеют нынче PWA приложения, с примером или ссылкой на документацию. В целом конечно большая часть доступна из обычного браузера, но некоторые квадратики напомнили мне что надо будет потыкать NFC и bar code detection. #js
👍2
C# Coding Guidelines - можно взять за основу например, когда настраиваешь code style в компании. #dotnet
👍1🔥1
AsyncKeyedLock - реализации named lock (это конечно не distributed lock, про который было в посте, а чисто in-process), которая умеет async и что немаловажно - cancellation token. Который например сконфигурить как
и который чпокнет исключение таймаута, если не удалось залокать ресурс в указанный период. #dotnet
CancellationTokenSource(TimeSpan.FromSeconds(1)).Token
и который чпокнет исключение таймаута, если не удалось залокать ресурс в указанный период. #dotnet
👍4
Ещё один framework for building tiny, blazingly fast binaries for all major desktop platforms. Developers can integrate any front-end framework that compiles to HTML, JS and CSS for building their user interface. The backend of the application is a rust-sourced binary with an API that the front-end can interact with.
Странная смесь конечно... #js
Странная смесь конечно... #js
Tauri
Tauri 2.0
The cross-platform app building toolkit
🔥1
Brighter & Darker - два сапога для реализации паттерна Reactor - и уже 9-я версия, явно устоявшаяся штука с поддержкой множества транспортов. Даже странно, что ни разу не довелось использовать. Обилие хороших примеров (фактически ready to run) и множество ручек-крутилок для настроек (всё как мы любим, да). Ну и конечно же сервисы-handlerы могут быть scoped, поскольку дотнет и DI #dotnet
Интересный проект EFCore.Visualizer для визуализации плана выполнения запроса в EF Core (заявлено MSSQL / Postgres). Visual Studio ony #dotnet
👍10🔥3
Если кто-то искал где бесплатно захостить ASP.NET то вот попалось - monsterasp.net
256 МБ RAM / 5 GB диск, .net версий 3...8, из баз данных - MSSQL и MySQL только (базы до 1 ГБ).
по ощущениям там можно делать больше одного такого сайта для одного аккаунта... #free
upd из чятика подсказывают что есть ещё https://render.com
256 МБ RAM / 5 GB диск, .net версий 3...8, из баз данных - MSSQL и MySQL только (базы до 1 ГБ).
по ощущениям там можно делать больше одного такого сайта для одного аккаунта... #free
upd из чятика подсказывают что есть ещё https://render.com
🔥7👍1
Вброс про UUID as Primary key (Postgres) - с графиками перфоманса, размерами и т.д.
Ardent Performance Computing
UUID Benchmark War
This month’s PGSQL Phriday #015 topic is about UUIDs, hosted by Lætitia Avrot. Lætitia has called for a debate. No, no, no. I say let’s have an all-out war. A benchmark war. I have deci…
👍3