all Technical posts

Fully Integrating with Microsoft Technology in Arcus Messaging v1.4

We have seen a whole new wave of changes in Arcus that only strengthens our relationship with Microsoft technology. The Arcus Messaging v1.4 release is no different.

Built-in W3C correlation tracking on received messages

Microsoft uses the new W3C correlation technology internally, to track connections between services. In short: this is made possible through the passing on of a traceparent value. This contains both the current transaction ID, which is the same across the entire operation call, and the parent ID that identifies the sender. Microsoft uses this value for multiple reasons. These include:

  1. When an HTTP request is made with the built-in HttpClient
  2. When a message is placed on an Azure Service Bus queue,
  3. When a SQL command is executed
  4. For any other Microsoft/Azure-related technology.

Because of this default behavior, service-to-service correlation tracking with only Microsoft/Azure technology is immediately available in Application Insights.

In the past, Arcus used the Hierarchical correlation system, which was not only deprecated but did not by default match the W3C correlation that Microsoft uses. The new v1.4 release has changed completely in that regard. Now W3C is the default. This means that any message that comes from Azure Service Bus or Azure EventHubs will automatically be tracked, without the sender needing to know about any Arcus technology on the sending side. This is a major improvement that provides real added value for projects. Arcus and Microsoft are now working together seamlessly.

⚡ Note that no code changes are required for this change on the receiving side — only a minor update to v1.4!

Register Azure messaging clients with synchronous secret retrieval

Microsoft provides some easy extensions to register a ServiceBusClient and EventHubsProducerClient to your application services. The problem is that when you do not use managed identity, you have to provide the authentication access signature yourself (and if this uses the application configuration, we know it is incorrect). v1.4 includes some minor but powerful changes regarding Azure messaging client registrations. This means that the clients are using the Arcus secret store for their access signatures.

Only a secret name is required when registering your Azure messaging client, easily delegating the complexity of secret management  to the secret store:

This is also a great example of how Arcus and Microsoft work together. In the past, both had their own way of registering clients, but with changes like these, we bridge the gap and strengthen each other.

For more information about this feature, see our dedicated feature documentation for Service Bus and EventHubs.

Pause message pumps when the dependent downstream service can't keep up

This feature is not the first one that circles back to the message pump, but it is the first one that can be simply used from within your message handler. In a perfect world, messages would be received by either a message pump/Azure Function and your implemented message handlers would hand them perfectly to any dependent downstream service. Unfortunately, this downstream service may work at a different speed than the speed at which messages are received. If the service works faster, then there may not be an immediate problem. However, if the service works slower, a rate problem could occur.

v1.4 fixes this problem by introducing an IMessagePumpLifetime service that is part of the application service and which any component can interact with. With a simple start/pause/stop functionality, the consumer can now control when a message pump should hold off from receiving messages until the downstream service is ready again.

This is a very practical feature that will hopefully help a lot of applications handle their service interactions. For more information about this feature, see our dedicated feature documentation.

Conclusion

Arcus Messaging v1.4 is a big step towards seamless incorporation with Microsoft technology. Our abstracted way of messaging has a real beneficial value and if we can reuse existing Microsoft technology, we only strengthen the bond.

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 the Arcus team at Codit.

Thanks for reading!
The Arcus team

Subscribe to our RSS feed

Hi there,
how can we help?

Got a project in mind?

Connect with us

Let's talk

Let's talk

Thanks, we'll be in touch soon!

Call us

Thanks, we've sent the link to your inbox

Invalid email address

Submit

Your download should start shortly!

Stay in Touch - Subscribe to Our Newsletter

Keep up to date with industry trends, events and the latest customer stories

Invalid email address

Submit

Great you’re on the list!