Recommendations for service control instance


Nswrvicebus version - NSB 5, NSB 7.
Transport - SQL transport & SQL persistence.

Different endpoints has their queue on different database insurance, what’s the recommendation to have service control instance ? Should it be one instance for all endpoints (having queue on different database instance? Or should it be different service control instance based on each database instance ?


Hi @Nirav,

You can host a single ServiceControl instance for your system, considering the following:

  • you can split ServiceControl into a dedicated error instance and a separate audit instance
  • you can make use of multiple audit instances if you’re looking at high throughput in your system (thousands of messages per second) to allow for greater message ingestion by ServiceControl.

I’m understanding that the different endpoints have their queues on the same database server, but store their data in different databases. In that scenario you can make use of ServiceControl Adapter per endpoint, to connect the endpoints to the ServiceControl instance. You can find more information on ServiceControl adapters here.

I hope that helps,
Kind regards,

Thanks you, Need one more clarification,
In my scenario we have endpoint queue on one database instance(say DEV2) & error, audit queue on another database instance(say DEV3), now when any message failed & we try to retry message using ServiceInsight, it try to find EndpointQueue on same database instance(DEV3) where we have error queue, do we required any code/configuration to redirect messages to EndpointQueue which is on different database instance(DEV2)?

Hi @Nirav,

We saw that you raised a dedicated support case for this issue. Let’s continue the discussion there so that we can gather all the information in one place.

For reference, v5 used to support configuring the error queue on a separate instance. However, this feature was removed in later versions and v5 is out of (extended) support.

Kind regards,