Skip to content

Commit a7067b2

Browse files
ramonsmitstmasternaklailabougria
authored
Improved upgrade guidance for SC 6.4.0 with ASB due to topology breaking change (#7129)
Co-authored-by: Tomasz Masternak <[email protected]> Co-authored-by: Laila Bougria <[email protected]>
1 parent 4c6176f commit a7067b2

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

servicecontrol/transports.md

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,16 +27,25 @@ Follow the link for each transport for additional information on configuration o
2727

2828
## Azure Service Bus
2929

30-
Starting from version 6.4, ServiceControl runs Azure Service Bus transport that, by default, uses [topic-per-event topology](/transports/azure-service-bus/topology.md), as opposed to previously used [single-topic topology](/transports/azure-service-bus/topology.md?version=asbs_4). This change affects the publishing of [integration events](/servicecontrol/contracts.md). In order to continue using the single-topic topology, the topic name has to be specified exlicitly using the `TopicName=<topic-bundle-name>` connection string option.
30+
### Topic-per-event topology for integration events
3131

32-
The new topology uses event type's full name as the name of the topic to which an event is published e.g. `servicecontrol.contracts.messagefailed`. This mapping can be customized by providing the [topology description in json](/transports/azure-service-bus/configuration.md#entity-creation-topology-mapping-options) using `ServiceControl.Transport.ASBS/Toplogy` application setting or `ServiceControl_Transport_ASBS_Toplogy` environment variable.
32+
Starting from version 6.4.0, ServiceControl runs Azure Service Bus transport that, by default, uses [topic-per-event topology](/transports/azure-service-bus/topology.md), as opposed to previously used [single-topic topology](/transports/azure-service-bus/topology.md?version=asbs_4). This breaking change affects the publishing of [integration events](/servicecontrol/contracts.md).
33+
34+
In order to continue using the single-topic topology, the topic name has to be specified explicitly using the `TopicName=<topic-bundle-name>` connection string option.
35+
36+
> [!WARNING]
37+
> If any subscribers exist for these integration events and these endpoints have not yet been upgraded to NServiceBus.Transport.AzureServiceBus 5.x, then ServiceControl must be configured to use `TopicName=bundle-<topic-bundle-name>`
38+
39+
The new topology uses the event type's full name as the name of the topic to which an event is published e.g. `servicecontrol.contracts.messagefailed`. This mapping can be customized by providing the [topology description in JSON](/transports/azure-service-bus/configuration.md#entity-creation-topology-mapping-options) using `ServiceControl.Transport.ASBS/Topology` application setting or `ServiceControl_Transport_ASBS_Topology` environment variable.
3340

3441
Furthermore, in addition to the [connection string options of the transport](/transports/azure-service-bus/configuration.md#configuring-an-endpoint) the following ServiceControl specific options are available in versions 4.4 and above:
3542

3643
* `TransportType=AmqpWebSockets` - Configures the transport to use [AMQP over websockets](/transports/azure-service-bus/configuration.md#connectivity).
3744
* `TopicName=<topic-bundle-name>` - Specifies the [topic name](/transports/azure-service-bus/configuration.md#entity-creation) to be used by the instance. The default value is `bundle-1`.
3845
* `QueueLengthQueryDelayInterval=<value_in_milliseconds>` - Specifies the delay between queue length refresh queries for queue length monitoring. The default value is 500 ms.
3946

47+
### Enabling Managed Identity
48+
4049
As of version 4.21.8 of ServiceControl, the following options can be used to enable [Managed Identity](https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview) authentication:
4150

4251
* Setting the connection string to a [fully-qualified namespace](https://docs.microsoft.com/en-us/dotnet/api/azure.messaging.servicebus.servicebusclient.fullyqualifiednamespace) (eg. `my-namespace.servicebus.windows.net`)
@@ -47,6 +56,8 @@ As of version 4.21.8 of ServiceControl, the following options can be used to ena
4756
* When specifying managed identity for the connection string, a [`ManagedIdentityCredential`](https://docs.microsoft.com/en-us/dotnet/api/azure.identity.managedidentitycredential) will be used.
4857
* Set the `ClientId=some-client-id` connectionstring option to use a specific [user-assigned identity](https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview#managed-identity-types)
4958

59+
### Enabling Partitioned Entities
60+
5061
As of versions 4.33.3 and 5.0.5 of ServiceControl, support for partitioned entities can be enabled by adding the following connection string parameter:
5162

5263
* `EnablePartitioning=<True|False>` — Configures the transport to create entities that support partitioning. The default value is `false`.

0 commit comments

Comments
 (0)