The NServiceBus transport is the way the messages are sent from one node to another. The system can be a distributed deployment, such as a local CM4D Site database and a cloud-based Results database. There are multiple transport options available. The transport is configured by selecting the Transport option during the Results service installation. The Results services must be connected to the same database and have the same transport type as the ServiceControl configuration you are using.
The SQL transport uses database tables to implement the message queues that connect the different services. This service is simple to configure as it can use the SQL Server that is used for CM4D databases. However, it does not provide the same throughput and scalability as other transport options.
The CM4D Results Services installation uses the SQL transport as the default configuration. Replace the empty transport connection string with the CM4D Site database connection string. The database connection string is configured in the appsettings.json of each component.
This transport type is configured by setting the Transport Name to SQL and setting the connection string.
"Transport": {
“Name": "SQL",
"TransactionMode": "ReceiveOnly",
"ConnectionString": "Data Source=SERVER;Initial Catalog=DATABASE;User ID=USER;
Password=PASSWORD; TrustServerCertificate=True;MultipleActiveResultSets = True"
}
RabbitMQ is a high-performance open-source message broker with wide industry usage. RabbitMQ can be installed on-premises on a server, as a container or used as a service at service providers like CloudAQMP. The free plan is sufficient to test this transport. A RabbitMQ connection string requires a host, username, password and a virtual host. RabbitMQ has a message size limit of 2GB.
This transport type is configured by setting the Transport Name to RabbitMQ and by setting the connection string.
"Transport": {
“Name": "RabbitMQ",
"ConnectionString": “host=SERVER;username=USER;password=PASSWORD;VirtualHost=VHOST"
}
Azure storage queues are a transport option for cloud-based or hybrid deployments. This option requires an Azure Storage Account. The connection string can be copied from the Azure storage account access key page. Azure has a message size limit of 64KB.
This transport type is configured by setting the Transport Name to AzureStorageQueues and by setting the connection string.
"Transport": {
“Name": "AzureStorageQueues",
"ConnectionString": “DefaultEndpointsProtocol=https;AccountName=ACCOUNTNAME;AccountKey=ACCOUNTKEY"
}
Can we improve this topic?