Particular Software
@particular.net
📤 200
📥 104
📝 1258
Makers of NServiceBus and the most developer-friendly service platform for .NET
Make your existing system reliable using messaging with
#NServiceBus
and SQL Server. It's an elegant way to introduce messaging concepts into a legacy application.
loading . . .
SQL Server transport native integration sample • SQL Server Transport Samples
Integrating natively with the SQL Server transport.
https://docs.particular.net/samples/sqltransport/native-integration/
about 3 hours ago
0
0
0
Every IBM MQ project reinvents the same plumbing. MQGET loops. Backout logic. Connection management. Every project writes the same infrastructure code, just slightly differently each time.
about 12 hours ago
1
1
0
Maybe you've heard about the fallacies of distributed computing. But if you want to understand them in more detail, join @udidahan's Distributed Systems…
about 18 hours ago
1
0
0
Monolithic customer models create tight coupling and performance issues in distributed systems. @KijanaWoodard argues for team-specific data views to reduce bottlenecks and cognitive load
loading . . .
Is the Customer Always Right?
The concept of a Customer is often more complex than a single entity. …
https://particular.net/webinars/is-the-customer-always-right
1 day ago
0
1
0
HTTP APIs aren't the only way to integrate systems with different technologies. NServiceBus Messaging Bridge allows direct asynchronous communication and decoupling between systems that use different transports.
loading . . .
Messaging Bridge
Connect endpoints in a system that use different transports with the messaging bridge.
https://docs.particular.net/nservicebus/bridge/
1 day ago
0
0
0
Check out our guidance on selecting the message transport for your NServiceBus system. Includes detailed information and a handy decision chart
loading . . .
Selecting a transport • NServiceBus
A guide for selecting the right NServicebus transport.
https://docs.particular.net/transports/selecting
2 days ago
0
0
0
Transactions between your sagas and business data made possible with
#AzureCosmosDB
☁️
#NServiceBus
loading . . .
Transactions in Azure Cosmos DB persistence • NServiceBus.Persistence.CosmosDB
https://docs.particular.net/persistence/cosmosdb/transactions#sharing-the-transaction
3 days ago
0
0
0
Union Types are here in C# 15 and it looks genuinely exciting. For years we've modeled “one of many possible outcomes” using inheritance hierarchies, marker interfaces or lots of…
4 days ago
1
0
0
Seeing all message activity in one place changes how you debug. The All Messages view in the Particular Service Platform makes that possible
loading . . .
Audited/Failed Message Display and Discovery • ServicePulse
Describes how ServicePulse displays and allows filtering for audited and failed messages.
https://docs.particular.net/servicepulse/all-messages
4 days ago
0
0
0
"No way would a 'real' developer be caught dead using 'windows' on their character-mode terminal, no way. It was vi or nothing. Er, sorry, I meant emacs. vim. OK, whatever editor you chose to use, you used that editor, then shelled…
5 days ago
1
0
0
Businesses can adapt to out-of-order delivery of information so our software should be able to as well. Otherwise pizzas could only be delivered one at a time, and might get cold if the driver got lost on the delivery before you.
loading . . .
You don't need ordered delivery
In our family it’s a tradition that you get to decide what we’ll have for dinner when it’s your birthday. On my daughter’s last birthday, she picked pizza. I took her to the nearby pizza shop to…
https://particular.net/blog/you-dont-need-ordered-delivery
5 days ago
0
0
0
Idempotency in distributed systems is the property that saves you after the network lies, the queue retries, the client panics, and the operator hits replay. In production systems, duplicate delivery is normal. Duplicate side effects are the bug.
loading . . .
Idempotency in Distributed Systems That Actually Works
Idempotency in distributed systems is the property that saves you after the network lies, the queue...
https://dev.to/rosgluk/idempotency-in-distributed-systems-that-actually-works-5dl6
5 days ago
0
1
1
Carl and Richard talk to Dylan Beattie about the Use What Works movement, encouraging developers to use well-maintained open-source projects available today rather than rolling their own.
6 days ago
1
1
0
Sagas are powerful tools, but they're not ALL-powerful. When your process involves an external source of truth, the missing piece is reconciliation.
loading . . .
Why Sagas Feel Broken
Sagas are great for coordinating workflows, but they aren’t the source of truth. Use reconciliation to verify state across external systems.
https://codeopinion.com/why-sagas-feel-broken/
6 days ago
0
0
0
Model Context Protocol (MCP) servers are becoming a key part of how Claude Code extends its capabilities. They give the agent access to documentation, code…
6 days ago
1
1
0
If you're interested in the idea of vertical slices and ViewModel composition, you should check out ServiceComposer, which now includes OpenTelemetry support!
loading . . .
ServiceComposer 5.2 OpenTelemetry support
OpenTelemetry tracing is one of those things you don't want until you need it. With version 5.2, ServiceComposer integrates with ASP.NET tracing adding relev...
https://milestone.topics.it/2026/05/15/service-composer-telemetry.html
7 days ago
0
1
0
In this video, learn from @adamralph how to turn the remote working dial up to eleven. All you need is a laptop, a camper van, some SIM cards, and a thirst for adventure.
loading . . .
Code on the Road
🔗Transcription 00:10 Adam Ralph So yes, it's always great to be here. Thank you for coming to this keynote. I'm sorry I'm not Hadi, but I'll do my best to fit in. He definitely owes me a beer later…
https://particular.net/videos/code-on-the-road
7 days ago
0
0
0
Small code paths become expensive when cloud workloads execute them millions of times. The Azure Event Hubs partition key resolver is one of those paths. By…
7 days ago
1
1
1
IBM MQ is point-to-point. Pub/sub is a manual wiring job on the queue manager. There's no "publish an event and let subscribers handle it" model in the native client. Topic objects and durable subscriptions have to be configured…
8 days ago
1
0
0
In a web application, you probably just want to send NServiceBus messages without processing any or maintaining a queue. This sample will show you how to get that set up in an
#AspNetCore
WebAPI application.
loading . . .
Using NServiceBus in an ASP.NET Core Web Application • NServiceBus Samples
https://docs.particular.net/samples/web/asp-web-application/
8 days ago
0
0
0
Whether you are a seasoned architect or a developer just starting to explore DDD, understanding how to communicate between different parts of your system via events is a superpower.
loading . . .
Domain Events Webinar Recap
In this recap we walk through the key take‑aways from the Domain Events webinar, highlighting patterns, best practices and real‑world use cases.
https://blog.nimblepros.com/blogs/domain-events-webinar-recap/
8 days ago
0
0
0
If web development is your thing, here's one for the calendar. @csharpfritz is teaching a hands-on livestream workshop on modern web development. Practical, current, worth your time. We're proud to support it.
loading . . .
Web Development with Jeff Fritz
https://www.gapvelocity.ai/web-development-with-jeff-fritz
9 days ago
0
0
0
We've released a new version of our Azure Service Bus transport that supports dead-lettering and DLQ auto-forwarding among other improvements.
loading . . .
NServiceBus.Transport.AzureServiceBus 6.3.0 – Minor release available
Hi everyone, We’ve just released NServiceBus.Transport.AzureServiceBus 6.3.0. Improvements/Features #1400 Allow configuring max delivery count #1397 Align transport extension API with newly added transport properties #1373 Add support for native dead-lettering and DLQ auto-forwarding #1368 Fallback to inferred and deterministic message ID when Service Bus message ID is missing #1255 Add option ThrowOnMissingTopicWhenPublishing to fail message publishing when configured topic is missing in the...
https://discuss.particular.net/t/nservicebus-transport-azureservicebus-6-3-0-minor-release-available/4610
9 days ago
0
1
1
"We need to embrace the idea that some failures are inevitable. It's too expensive to try to prevent them completely. Instead we should focus on making sure we can detect issues quickly and compensate for them when they arise."
loading . . .
What Starbucks can teach us about software scalability
In 2004, Gregor Hohpe published his brilliant post “Starbucks Does Not Use Two-Phase Commit.” When I read it, my time working at Starbucks during my college years suddenly became relevant. Over the…
https://particular.net/blog/what-starbucks-can-teach-us-about-software-scalability
10 days ago
0
0
0
A useful reminder from Milan Jovanović: primary constructor parameters are captured as mutable variables, not readonly fields. The compiler will not stop you from reassigning them. In service classes that is rarely a real bug; in entities it can be.
loading . . .
Why I Switched to Primary Constructors for DI in C#
I resisted primary constructors for a while. They felt like a shortcut that would cost me later. But after using them across several projects, I'm sold, with one important caveat. Here's what convinced me to switch, and the one pitfall you need to watch out for.
https://www.milanjovanovic.tech/blog/why-i-switched-to-primary-constructors-for-di-in-csharp
11 days ago
0
1
0
NServiceBus allows you to focus on the domain logic and not the infrastructure code required to deserialize messages and invoke your business code on AWS Lambda.
loading . . .
Using NServiceBus in AWS Lambda with SQS • AWS Lambda (SQS) Samples
https://docs.particular.net/samples/aws/lambda-sqs/
11 days ago
0
0
0
Retries causing duplicates? Workflows breaking halfway? Services tightly coupled? Learn how to fix real microservice problems with ASP.NET Core + NServiceBus 10.
loading . . .
Microservice Architecture in ASP.NET Core
https://www.pluralsight.com/courses/microservice-architecture-aspnet-core
12 days ago
0
0
0
Using
#antirequirements
is a powerful way to increase autonomy by breaking your domain into separate islands that can evolve independently. Learn how to use anti-requirements in your system design in our blog post.
loading . . .
Using anti-requirements to find system boundaries
We all love building greenfield projects. 1 But inevitably, starting a new project involves lots of meetings with business stakeholders to hash out initial requirements and canonical data models.
https://particular.net/blog/antirequirements
12 days ago
0
0
0
A big thank you to the event organizers of
#TechoramaBE
, you pulled off another great edition of the event. A big thank you to everyone who came to the Particular Software booth. We loved talking all things messaging to you all. See you all at
#TechoramaNL
later this year.
12 days ago
0
0
0
Monitor all your systems together by exporting your NServiceBus message processing metrics to @NewRelic. This sample will show you how
loading . . .
Capture and visualize metrics using NewRelic • Metrics Samples
Illustrates how to capture, store, and visualize NServiceBus metrics in NewRelic.
https://docs.particular.net/samples/logging/new-relic/
12 days ago
0
0
0
Most real bugs in
#dotnet
services live at the seams, between handler and unit of work, between
#EF
Core and
#PostgreSQL
, between HTTP and authorization. Unit tests with mocks rarely catch them. Milan Jovanović explains why he changed the testing shape he ships with.
loading . . .
The Test Pyramid Is a Lie (and What I Do Instead)
The test pyramid made sense when integration tests meant a shared database server and a 20-minute build. It doesn't match how I build .NET systems in 2026. Most of my real bugs live at the seams, and unit tests don't catch any of them. Here's the testing shape I actually ship with.
https://www.milanjovanovic.tech/blog/the-test-pyramid-is-a-lie-and-what-i-do-instead
12 days ago
0
0
0
When a rule about your domain has to hold true every time you touch the object, why does it usually live in a validator, a handler, or a controller instead of on the object itself? Milan Jovanović on invariants and where they actually belong.
loading . . .
What Invariants Are (and Why a Domain Model Is the Best Place to Enforce Them)
Most 'DDD-ish' code I review enforces business rules everywhere except where it should: in the model itself. The same rule ends up duplicated across handlers, validators, and controllers, and each copy drifts a little over time. Here's how I think about invariants, and why an always-valid domain model is the cleanest way to enforce them.
https://www.milanjovanovic.tech/blog/what-invariants-are-and-why-a-domain-model-is-the-best-place-to-enforce-them
13 days ago
0
0
0
In this video, @indualagarsamy talks about the intersection of
#DDD
as a software discipline with
#messaging
as a technology counterpart
loading . . .
PracticalDDD: BoundedContexts + Events => Microservices
🔗Transcription 00:04 Indu Alagarsamy Thank you very much, Suzanne and QCon for having me here. I'm extremely excited. QCon is like one of my favorite conferences. If I can't be here, I try to watch…
https://particular.net/videos/practicalddd-boundedcontexts-events-microservices
13 days ago
1
1
0
All good things must come to an end and so does our time at
#TechoramaBE
. A big thank you to the event organizers, sponsors and the attendees. Thank you for the great talks, wonderful conversations and learnings. See you all at
#TechoramaNL
in October.
13 days ago
0
1
0
"This is the difficult leap of queueing technologies: not that they have an API that is difficult to use (they don't), but that they require letting go of more traditional request/response programming models." The network is reliable, on our blog:
loading . . .
Fallacy #1: The network is reliable
Anyone with a cable or DSL modem knows how temperamental network connections can be. The Internet just stops working, and the only way to get it going again is to unplug it for 15 seconds. (Or, put…
https://particular.net/blog/the-network-is-reliable
14 days ago
0
0
0
We are excited about this session from Clemens Vasters at
#TechoramaBE
. Learn from the lead architect of Azure Messaging himself on how Azure Service Bus is built and powers everthing from your airport check-in to unlocking your car with a mobile app
loading . . .
https://techorama.be/schedule/sessions/1119665
14 days ago
0
3
1
Event-driven systems aren’t hard - until you need to change them. @lailabougria is up next in Room 8 talking about practical techniques to evolve safely, maintain compatibility, and ship changes without downtime.
#TechoramaBE
loading . . .
https://techorama.be/schedule/sessions/1089406
14 days ago
0
2
1
OpenTelemetry promises better observability—but getting there isn’t easy. Where do you start? Jimmy Bogard will speak to you in Room 8 on how to adopt OpenTelemetry in brownfield systems with practical strategies from code to production at
#TechoramaBE
loading . . .
https://techorama.be/schedule/sessions/1135491
14 days ago
0
0
0
Why is Output Cache still one of the most underused tools in
#AspNetCore
Core? A clear writeup from Anton Martyniuk on how it differs from object caching, where it earns its place, and the safety problem you have to solve before turning it on for authenticated APIs.
loading . . .
ASP.NET Core Output Cache: How to Speed Up Your API with In-Memory Cache and Redis
Learn how to use Output Cache in ASP.NET Core using IMemoryCache, IDistributedCache, and Redis. This guide covers Output Cache setup in ASP.NET Core, expiration time, cache policies, VaryByHeader, VaryByQuery, VaryByRouteValue, VaryByValue, tag-based cache eviction, cache eviction based on entity and authenticated user, and how to handle caching safely in authenticated APIs.
https://antondevtips.com/blog/aspnetcore-output-cache-how-to-speed-up-your-api-with-in-memory-cache-and-redis
14 days ago
0
0
0
Why has it taken this long for C# to get a closed set of return types with exhaustive pattern matching? Good overview from Bill Wagner on what union types in C# 15 are trying to solve and what designs they make possible that traditional hierarchies cannot express.
loading . . .
Explore union types in C# 15 - .NET Blog
C# 15 introduces union types — declare a closed set of case types with implicit conversions and exhaustive pattern matching. Try unions in preview today and see the broader exhaustiveness roadmap.
https://devblogs.microsoft.com/dotnet/csharp-15-union-types/
14 days ago
0
0
0
Duplicate messages spreading through your system like wildfire? The Outbox pattern helps, but many implementations come straight from the Dark Ages, crushing your database. Szymon will help you evolve your Outbox in Room 7 at
#TechoramaBE
.
loading . . .
https://techorama.be/schedule/sessions/1175082
14 days ago
0
0
0
Modern .NET service workloads need to keep latency low even as data sources expand and external calls multiply. Jared Meade walks through the cache layer problem and why a tiered approach matters when in memory alone is volatile and a remote cache alone adds round trips.
loading . . .
High-Performance Distributed Caching with .NET and Postgres on Azure - .NET Blog
Adding caching to your application architecture can significantly improve key performance metrics, cut latency, and reduce load across downstream systems. In this walkthrough, we highlight the latest caching best practices and incorporate these design patterns into a reusable .NET application that you can reference when adding new capabilities to your application stack.
https://devblogs.microsoft.com/dotnet/high-performance-distributed-caching-dotnet-postgres-azure/
15 days ago
0
0
0
Pub/Sub is where most systems start. What happens when messages are lost, duplicated, or workflows stall? @PoornimaNayar has answers to these questions in her upcoming session at
#TechoramaBE
in Room 9. You don't wanna miss it!
loading . . .
https://techorama.be/schedule/sessions/1116183
15 days ago
0
0
0
Visit our booth and grab your copy of "Exceptions and ACKs" game. Play with your team mates and see who is the master of throwing others into exceptional situations. Don't worry. With NServiceBus, exceptions are harmless and messages can be retried.
#TechoramaBE
15 days ago
0
0
0
"Step forth, traveler Visit the Particular Software booth
#TechoramaBE
: tales of messaging… and treasures to be won 🪙 Only the curious shall leave with swag 🏰"
15 days ago
0
0
0
"Brave developers of TechoramaBE - venture to the Particular Software booth. Trade tales of lost messages and broken workflows for better messaging. Riches? No. Better - reliable systems.
#TechoramaBE
"
15 days ago
0
0
0
Every custom solution your team builds is a solution your team must maintain forever. Chris Woodruff makes the strategic case for why so much engineering budget gets quietly burned on infrastructure problems other people have already solved.
loading . . .
The Strategic Case for “Use What Works”: Why Smart Tech Leaders Stop Reinventing the Wheel - Chris Woody Woodruff | Fractional Architect
A peculiar kind of pride runs through the technology industry. Many leaders believe their problems are unique, their scale unprecedented, their requirements so specific that only a custom-built solution will do. This belief is also one of the most expensive mistakes your organization can make. The Hidden Cost of "Building It Ourselves" Every custom solution
https://woodruff.dev/the-strategic-case-for-use-what-works-why-smart-tech-leaders-stop-reinventing-the-wheel/
15 days ago
0
0
0
Question for teams running .NET on Azure: how much of your local dev pain is from mocking Azure services that have no real emulator? A useful comparison piece by Kamil Mrzygłód on closing that gap.
loading . . .
Topaz vs Azurite: what actually works locally and what doesn't
If you have ever written a line of Azure code on a laptop, you have used Azurite. It is the official...
https://dev.to/kamil-mrzyglod/topaz-vs-azurite-what-actually-works-locally-and-what-doesnt-231p
16 days ago
0
1
0
Most distributed systems don't fail in design — they fail in production. And these sessions at
#TechoramaBE
this year will help you tackle that futureproof your systems.
16 days ago
1
0
0
Order processing slides into inventory updates, email notifications, and loyalty calculations all in one transaction, and the codebase quietly turns into a big ball of mud. Sarah Dutkiewicz's recap covers using domain events so core entities stop knowing who is listening to them.
loading . . .
Domain Events Webinar Recap
In this recap we walk through the key take‑aways from the Domain Events webinar, highlighting patterns, best practices and real‑world use cases.
https://blog.nimblepros.com/blogs/domain-events-webinar-recap/
17 days ago
0
0
0
Load more
feeds!
log in