You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Weusea [`ServiceEndpoint`](https://github.com/Azure/azure-signalr/blob/dev/src/Microsoft.Azure.SignalR.Common/Endpoints/ServiceEndpoint.cs) object to represent a SignalR Service instance. You can define an service endpoint with its `<EndpointName>` and `<EndpointType>` in the entry key, and the connection string in the entry value. The keys are in the following format :
120
+
Weusea [`ServiceEndpoint`](https://github.com/Azure/azure-signalr/blob/dev/src/Microsoft.Azure.SignalR.Common/Endpoints/ServiceEndpoint.cs) object to represent a SignalR Service instance. You can define a service endpoint with its `<EndpointName>` and `<EndpointType>` in the entry key, and the connection string in the entry value. The keys are in the following format :
Copy file name to clipboardExpand all lines: articles/azure-signalr/signalr-howto-scale-multi-instances.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -277,7 +277,7 @@ To enable multiple SignalR Service instances, you should:
277
277
278
278
2. Configure multiple SignalR Service endpoints entries in your configuration.
279
279
280
-
We use a [`ServiceEndpoint`](https://github.com/Azure/azure-signalr/blob/dev/src/Microsoft.Azure.SignalR.Common/Endpoints/ServiceEndpoint.cs) object to represent a SignalR Service instance. You can define an service endpoint with its `<EndpointName>` and `<EndpointType>` in the entry key, and the connection string in the entry value. The keys are in the following format:
280
+
We use a [`ServiceEndpoint`](https://github.com/Azure/azure-signalr/blob/dev/src/Microsoft.Azure.SignalR.Common/Endpoints/ServiceEndpoint.cs) object to represent a SignalR Service instance. You can define a service endpoint with its `<EndpointName>` and `<EndpointType>` in the entry key, and the connection string in the entry value. The keys are in the following format:
@@ -313,9 +313,9 @@ By default, the functions binding uses the [DefaultEndpointRouter](https://githu
313
313
##### C# in-process model
314
314
315
315
Here are the steps:
316
-
* Implement a customized router. You can leverage information provided from [`ServiceEndpoint`](https://github.com/Azure/azure-signalr/blob/dev/src/Microsoft.Azure.SignalR.Common/Endpoints/ServiceEndpoint.cs) to make routing decision. See guide here: [customize-route-algorithm](https://github.com/Azure/azure-signalr/blob/dev/docs/sharding.md#customize-route-algorithm). **Please note that Http trigger is required in the negotiation function when you need `HttpContext` in custom negotiation method.**
316
+
1. Implement a customized router. You can leverage information provided from [`ServiceEndpoint`](https://github.com/Azure/azure-signalr/blob/dev/src/Microsoft.Azure.SignalR.Common/Endpoints/ServiceEndpoint.cs) to make routing decision. See guide here: [customize-route-algorithm](https://github.com/Azure/azure-signalr/blob/dev/docs/sharding.md#customize-route-algorithm). **Please note that Http trigger is required in the negotiation function when you need `HttpContext` in custom negotiation method.**
317
317
318
-
* Register the router to DI container.
318
+
1. Register the router to DI container.
319
319
```cs
320
320
using Microsoft.Azure.Functions.Extensions.DependencyInjection;
321
321
using Microsoft.Azure.SignalR;
@@ -339,7 +339,7 @@ namespace SimpleChatV3
339
339
For functions running on isolated-process model, we support specifying target endpoints in each request. You will use new binding types to get endpoint information.
340
340
341
341
###### Client routing
342
-
The `SignalRConnectionInfo` binding selects one endpoint according the default routing rule. If you want to customize routing rule, you should use `SignalRNegotiation` binding instead of `SignalRConnectionInfo` binding.
342
+
The `SignalRConnectionInfo` binding selects one endpoint according to the default routing rule. If you want to customize routing rule, you should use `SignalRNegotiation` binding instead of `SignalRConnectionInfo` binding.
343
343
344
344
`SignalRNegotiation` binding configuration properties are the same as `SignalRConnectionInfo`. Here's a `function.json` file sample:
345
345
```json
@@ -468,11 +468,11 @@ By default, the SDK uses the [DefaultEndpointRouter](https://github.com/Azure/az
468
468
469
469
#### Default behavior
470
470
471
-
1. Client request routing:
471
+
* Client request routing:
472
472
473
473
When client `/negotiate` with the app server. By default, SDK **randomly selects** one endpoint from the set of available service endpoints.
474
474
475
-
2. Server message routing:
475
+
* Server message routing:
476
476
477
477
When sending a message to a specific *connection* and the target connection is routed to the current server, the message goes directly to that connected endpoint. Otherwise, the messages are broadcasted to every Azure SignalR endpoint.
478
478
@@ -569,4 +569,4 @@ When no `primary` endpoint is available, the client's `/negotiate` picks from th
569
569
You can use multiple endpoints in high availability and disaster recovery scenarios.
570
570
571
571
> [!div class="nextstepaction"]
572
-
> [Setup SignalR Service for disaster recovery and high availability](./signalr-concept-disaster-recovery.md)
572
+
> [Set up SignalR Service for disaster recovery and high availability](./signalr-concept-disaster-recovery.md)
0 commit comments