Skip to content

Commit 4a80bcc

Browse files
committed
RDoc-2354 Client configuration view (Server wide) v7.1
1 parent 0949713 commit 4a80bcc

File tree

5 files changed

+82
-65
lines changed

5 files changed

+82
-65
lines changed

docs/studio/database/settings/client-configuration-per-database.mdx

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,30 @@ import TabItem from '@theme/TabItem';
1111
import CodeBlock from '@theme/CodeBlock';
1212
import LanguageSwitcher from "@site/src/components/LanguageSwitcher";
1313
import LanguageContent from "@site/src/components/LanguageContent";
14+
import ContentFrame from '@site/src/components/ContentFrame';
15+
import Panel from '@site/src/components/Panel';
1416

15-
# Client Configuration (for database)
1617
<Admonition type="note" title="">
1718

18-
* You can override the [client-configuration](../../../studio/server/client-configuration.mdx) that is set server-wide __per database__:
19-
20-
* From the Studio - as described in this article
21-
* From the Client API - see [put client-configuration operation](../../../client-api/operations/server-wide/configuration/put-serverwide-client-configuration.mdx#put-client-configuration-(server-wide))
22-
23-
* Setting the client-configuration from the studio sets the configuration on the RavenDB server.
24-
This enables administrators to dynamically control the client behavior even after it has started running.
25-
e.g. manage load balancing of client requests on the fly in response to changing system demands.
26-
19+
* You can **override** the [server-wide client configuration](../../../studio/server/client-configuration.mdx) per database:
20+
You can do this using:
21+
* The Studio - as described in this article
22+
* The Client API - see [Put client configuration operation](../../../client-api/operations/maintenance/configuration/put-client-configuration.mdx)
23+
24+
* When set from the Studio, the client configuration is stored directly on the RavenDB server
25+
and applies to any client that connects to the specific database.
26+
27+
* These settings override the client's own configuration,
28+
which was initially set in your application code when initializing the _DocumentStore_.
29+
This enables administrators to dynamically control client behavior, even after the client has started running.
30+
For example, adjusting load balancing behavior on the fly in response to changing system demands.
31+
32+
* In this article:
33+
* [Set the client configuration (for database)](../../todo)
34+
2735
</Admonition>
28-
## Set the client-configuration (for database)
36+
37+
## Set the client configuration (for database)
2938

3039
![Figure 1. Client Configuration Per Database](./assets/client-configuration-database-1.png)
3140

@@ -63,12 +72,9 @@ import LanguageContent from "@site/src/components/LanguageContent";
6372

6473
* For a detailed explanation see: [Read Balance Behavior](../../../client-api/configuration/load-balance/read-balance-behavior.mdx).
6574

66-
67-
6875
<Admonition type="info" title="Note" id="note" href="#note">
6976

7077
This view will be as in the above image when the general server [Client Configuration](../../../studio/server/client-configuration.mdx) is not yet defined.
7178
If a general server client-configuration is defined then this view will show the __effective configuration__ for the specific database.
7279

73-
</Admonition>
74-
80+
</Admonition>
151 KB
Loading
22.8 KB
Loading
-62.5 KB
Binary file not shown.

docs/studio/server/client-configuration.mdx

Lines changed: 61 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -11,59 +11,70 @@ import TabItem from '@theme/TabItem';
1111
import CodeBlock from '@theme/CodeBlock';
1212
import LanguageSwitcher from "@site/src/components/LanguageSwitcher";
1313
import LanguageContent from "@site/src/components/LanguageContent";
14+
import ContentFrame from '@site/src/components/ContentFrame';
15+
import Panel from '@site/src/components/Panel';
1416

15-
# Client Configuration (server-wide)
1617
<Admonition type="note" title="">
1718

18-
* Set the client-configuration for __all__ databases in the cluster:
19-
20-
* From the Studio - as described in this article
21-
22-
* From the Client API - see [put client-configuration operation](../../client-api/operations/server-wide/configuration/put-serverwide-client-configuration.mdx)
23-
24-
* These default values can be overwritten __per database__ in [client-configuration (for database)](../../studio/database/settings/client-configuration-per-database.mdx)
25-
26-
* Setting the client-configuration from the studio sets the configuration on the RavenDB server.
27-
This enables administrators to dynamically control the client behavior even after it has started running.
28-
e.g. manage load balancing of client requests on the fly in response to changing system demands.
19+
* The client configuration can be set for **ALL** databases in the cluster.
20+
You can do this using:
21+
* The Studio - as described in this article
22+
* The Client API - see [Put client configuration operation](../../client-api/operations/server-wide/configuration/put-serverwide-client-configuration.mdx)
23+
24+
* When set from the Studio, the client configuration is stored directly on the RavenDB server
25+
and applies to any client that connects to any database in the cluster.
26+
27+
* These settings override the client's own configuration,
28+
which was initially set in your application code when initializing the _DocumentStore_.
29+
This enables administrators to dynamically control client behavior, even after the client has started running.
30+
For example, adjusting load balancing behavior on the fly in response to changing system demands.
31+
32+
* To override these global values and define a separate client configuration for a specific database,
33+
see: [Client configuration (for database)](../../studio/database/settings/client-configuration-per-database.mdx)
34+
35+
* In this article:
36+
* [Set the client configuration (server-wide)](../../studio/server/client-configuration.mdx#set-the-client-configuration-server-wide)
2937

3038
</Admonition>
31-
## Set the client-configuration (server-wide)
32-
33-
![Figure 1. Client Requests Configuration](./assets/client-configuration.png)
34-
35-
**1. Identity parts separator**
36-
37-
* Changes the default **separator** for automatically generated document IDs.
38-
You can use any `char` except `|` (pipe).
39-
Default value: `/`
40-
41-
**2. Max number of requests per session**
42-
43-
* Set this number to restrict the number of requests (***Reads*** & ***Writes***) per session in the client API.
44-
Default value: 30
45-
46-
**3. Use Session Context for Load Balancing**
47-
48-
* Allow client sessions to select their topology by tag,
49-
so they'd be able to load-balance their requests.
50-
51-
* Optionally, select a hash seed to fix the topology that clients would use.
52-
53-
* For a detailed explanation see: [Load Balance Behavior](../../client-api/configuration/load-balance/load-balance-behavior.mdx).
54-
55-
**4. Read balance behavior**
56-
57-
* Set the load-balance method that the client will use when accessing a node with ***Read*** requests.
58-
The method selected will also affect the client's decision of which node to failover to in case of issues with the ***Read*** request.
59-
Note: ***Write*** requests will always access the [preferred node](../../client-api/configuration/load-balance/overview.mdx#the-preferred-node) calculated by the client.
60-
61-
* Available options are:
62-
* _None_
63-
* _Round Robin_
64-
* _Fastest Node_
65-
66-
* For a detailed explanation about each option see: [Read Balance Behavior](../../client-api/configuration/load-balance/read-balance-behavior.mdx).
67-
68-
6939

40+
<Panel heading="Set the client configuration (server-wide)">
41+
42+
![Server-wide client configuration](./assets/client-configuration-1.png)
43+
44+
1. Go to **Manage Server > Client Configuration**
45+
46+
2. **Identity parts separator**
47+
Set the **separator character** for automatically generated document IDs of type **identity**.
48+
You can use any single character except `|` (pipe).
49+
Default value: `/`
50+
This setting affects only IDs for identity documents created by the server.
51+
Learn more about identities in [Document identifier generation: Identity](../../server/kb/document-identifier-generation.mdx#strategy-identity).
52+
53+
3. **Maximum number of requests per session**
54+
Set this number to restrict the number of requests (***Reads*** & ***Writes***) allowed per session when using the Client API.
55+
Default value: `30`
56+
57+
4. **Load balance behavior**
58+
Set the Load balance method for ***Read*** & ***Write*** requests.
59+
For a detailed explanation see: [Load balance behavior](../../client-api/configuration/load-balance/load-balance-behavior.mdx).
60+
61+
Available options:
62+
* [None](../../client-api/configuration/load-balance/load-balance-behavior.mdx#none-default-option):
63+
Read requests - the node the client will target will be based on the "Read balance behavior" configuration.
64+
Write requests - will be sent to the [preferred node](../../client-api/configuration/load-balance/overview.mdx#the-preferred-node).
65+
* [Use session context](../../client-api/configuration/load-balance/load-balance-behavior.mdx#usesessioncontext):
66+
Sessions that are assigned the same context will have all their _Read_ & _Write_ requests routed to the same node.
67+
The session context is hashed from a context string (given by the client) and an optional `seed`.
68+
![Using session context](./assets/client-configuration-2.png)
69+
70+
5. **Read balance behavior**
71+
Set the "Read_ balance method" the client will use when accessing a node with ***Read*** requests.
72+
The method selected will also affect the client's decision of which node to failover to in case of issues with the ***Read*** request.
73+
For a detailed explanation see: [Read balance behavior](../../client-api/configuration/load-balance/read-balance-behavior.mdx).
74+
75+
Available options:
76+
* [None](../../client-api/configuration/load-balance/read-balance-behavior.mdx#none-default-option)
77+
* [Round Robin](../../client-api/configuration/load-balance/read-balance-behavior.mdx#roundrobin)
78+
* [Fastest Node](../../client-api/configuration/load-balance/read-balance-behavior.mdx#fastestnode)
79+
80+
</Panel>

0 commit comments

Comments
 (0)