alle Technical posts

Taking messaging to the next level with Arcus Messaging v1.0

Arcus Messaging v1.0 release is the biggest one yet, providing more ways to authenticate and many other improvements.

Because the new version contains a few breaking changes, we provide a dedicated migration guide to help end-users to migrate to our new approach.

Come and take a quick look what the release has to offer in this overview blog post.

New Azure SDK

Microsoft released a new client library SDK for interacting with Azure Service Bus resources. This new library is part of the overall Azure SDK updates.

We believe we need to align with this new strategy, so we have adopted it in Arcus Security and now it was time to align Arcus Messaging.

The most notable change here for end-users is the move from the Azure Service Bus Message model towards the ServiceBusReceivedMessage.

This breaking change has the most impact on our extensions & fallback message handlers, which receive the full Azure Service Bus message in their implementation.

Here is an example of our new signature:

Microsoft also provides a dedicated migration guide for this new Azure SDK, if you are curious about any new functionality or changes.

Extracted message routing for multi-purpose message handling

Before v1.0, our message pump was in charge of both receiving and routing messages to the required message handler. With this release, we are separating these two responsibilities into dedicated components and laying the groundwork for more powerful message processing.

The message pump is still in charge of receiving messages, but relies on our message router to determine what message handler will process the message. By doing this, it allows us to re-use our routing functionality and bring it to other message pumps such as Azure Functions. Your Azure Function will replace the Arcus message pump and route messages to your message handlers accordingly. This allows you to fully decouple the message pump from your business logic and build re-usable components without a lock-in.

Are you excited about this? So are we! But we need to wait for the official release of Microsoft.Azure.WebJobs.Extensions.ServiceBus first.

To get you exicted, here is an example of our upcoming Azure Functions support:

Managed identity authentication

We leverage a new way of authenticating the Azure Service Bus message pump by using password-less authentication with managed identity authentication for both Azure Service Bus queues and topics.

Managed identity authentication allows you to remove secrets and fully rely on the automatically assigned identity to authenticate with any Azure service.
For more information, see the offical Microsoft documentation.

Flexible message parsing

Our built-in JSON deserialization is using strict schema parsing by default when parsing incoming messages. Only when all the properties in the JSON body match the properties in the defined message, it will be passed to the message handler to be processed. This allows a very secure approach as you know that you’re processing the correct type of message.

But message scenarios evolve and so does your contract, so we allow you to be more flexible.

In the following example, the .Deserialization.AdditionalMembers property is set to Ignore, which means any additional members that are in the incoming messaging model but are not in the Order message type will be ignored instead of errrored (default).

Conclusion

Arcus Messaging v1.0 is a big improvement with a lot of changes and improvements making it more production-ready.
Have a look at our release notes and official documentation for more information on this new release.

If you have any questions, remarks, comments, or just want to discuss something with us; feel free to contact us.

Thanks for reading!
The Arcus team

Abonneer je op onze RSS feed

Hallo,
hoe kunnen we je helpen?

Een project in gedachten?

Neem contact op

Let's talk

Let's talk

Bedankt, we nemen snel contact op met je!

Bel ons

Bedankt, we sturen het verhaal naar jouw inbox

Ongeldig email-adres

Verstuur

Je download zal binnen enkele seconden starten!

Houd contact met ons - schrijf je in voor onze nieuwsbrief

Blijf op de hoogte van trends, events en de laatste verhalen van klanten

Ongeldig email-adres

Verstuur

Mooi, je bent ingeschreven!