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
[DOC-11500]: Completely incorrect and misleading example. (#3707)
Fixed diagrams and text in services.adoc to reflect the recommended production configuration.
Replaced LibreOffice diagrams with PlantUMl diagrams, which are better at scaling to different sizes.
* *Data*: Supports the storing, setting, and retrieving of data-items, specified by key.
24
+
* *Data*: Supports the storing, setting, and retrieving of data-items, specified by a key.
25
25
* *Query*: Parses queries specified in the _N1QL_ query-language, executes the queries, and returns results.
26
26
The Query Service interacts with both the Data and Index services.
27
27
* *Index*: Creates indexes, for use by the Query and Analytics services.
28
-
* *Search*: Create indexes specially purposed for _FullText Search_.
28
+
* *Search*: Create indexes specially purposed for _Full-Text Search_.
29
29
This supports language-aware searching; allowing users to search for, say, the word `beauties`, and additionally obtain results for `beauty` and `beautiful`.
30
30
* *Analytics*: Supports join, set, aggregation, and grouping operations; which are expected to be large, long-running, and highly consumptive of memory and CPU resources.
31
-
* *Eventing*: Supports near real-time handling of changes to data: code can be executed both in response to document-mutations, and as scheduled by timers.
31
+
* *Eventing*: Supports near real-time handling of changes to data: code can be executed both in response to documentmutations and as scheduled by timers.
32
32
* *Backup*: Supports the scheduling of full and incremental data backups, either for specific individual buckets, or for all buckets on the cluster.
33
33
Also allows the scheduling of _merges_ of previously made backups.
34
34
@@ -40,36 +40,41 @@ workload-requirements.
40
40
[#setting-up-services]
41
41
== Setting Up Services
42
42
43
-
Services are set up on a pernode basis.
43
+
Services are set up on a per-node basis.
44
44
Each node can run at most one instance of a service.
45
45
Each node can run any number of services, up to the maximum, which is seven.
46
46
In Couchbase Enterprise Server Version 7.6+, a node can be configured to run _no_ service.
47
47
The _Data Service_ must run on at least one node of the cluster.
48
-
Some services are interdependent, and therefore require at least one instance of
49
-
each of their dependencies to be running on the cluster (for example, the
48
+
Some services are interdependent and therefore require at least one instance of
49
+
each of their dependencies to be running on the cluster — (for example, the
50
50
_Query Service_ depends on the _Index Service_ and on the _Data Service_).
51
51
52
52
When the first node in a cluster is initialized, the services assigned to it become the default assignment for each other node subsequently to be added to the cluster.
53
-
However, this default can be departed from, node by node; with one or more services omitted from the default, and one or more added.
53
+
However, this default can be departed from, node by node, with one or more services omitted from the default, and one or more added.
54
54
55
55
When first allocated to a node, a service requires the assignment of a specific memory quota, which becomes standard for that service in each of its instances across the cluster.
56
56
(The exceptions to this are the Query and Backup Services, which never require a memory quota.)
57
57
58
-
Service-allocation should be designed based on workload-analysis: if a particular service is expected to handle a heavy workload, it should be allocated with a larger memory quota, and potentially as the only service on the node.
59
-
Alternatively, if a cluster is to be used for development purposes only, it may be convenient to allocate services in the quickest and most convenient way, with some quotas being equal.
58
+
Service allocation should be designed based on workload-analysis:
59
+
if a particular service is expected to handle a heavy workload,
60
+
it should be allocated with a larger memory quota, and potentially as the only service on the node.
61
+
Alternatively, if a cluster is to be used for development only,
62
+
it may be convenient to allocate services in the quickest and most convenient way,
63
+
with some quotas being equal.
60
64
61
65
For example, the following illustration shows how four services — Data, Index, Query, and Search — might be allocated evenly across the five nodes of a _development_ cluster:
This configuration might provide perfectly acceptable performance for each of the four services, in the context of development and testing.
67
-
However, if a large amount of data needed, in production, to be intensively indexed, and addressed by means of Query and Search, the following configuration would be more efficient:
71
+
However, if a large amount of data is required to be intensively indexed and addressed by means of Query and Search, the following production configuration would be more efficient:
In this revised configuration, the Data Service is the only service to run on two of the nodes; the Index Service the only service on two futher nodes; and the Query and Search Services share the fifth and final node.
76
+
In this revised configuration, the Data Service is the only service to run on three of the nodes;
77
+
the Index Service is running on two further nodes; and the Query and Search Services share the sixth and final node.
73
78
74
79
For a more detailed explanation of service memory quotas, see xref:buckets-memory-and-storage/memory.adoc[Memory].
75
80
For information on the practical steps required to initialize a cluster, including the allocation of services to nodes, see
@@ -86,9 +91,9 @@ nodes can be removed, reconfigured to run the Search Service, and re-added to th
86
91
cluster.
87
92
88
93
Alternatively, additional hardware-resources (CPU, memory, disk-capacity) can be
89
-
added to targeted nodes in the cluster, in order to support the performance of
90
-
key services. This ability to provision services independently from one another, and
91
-
thereby
92
-
scale their performance individually up and down as required, provides the greatest
93
-
flexibility in terms of handling changing business requirements, and redeploying
94
+
added to targeted nodes in the cluster to support the performance of
95
+
key services.
96
+
This ability to provision services independently of one another, and
97
+
thereby scale their performance individually up and down as required, provides the greatest
98
+
flexibility in terms of handling changing business requirements and redeploying
94
99
existing resources to ensure continuously heightened efficiency.
0 commit comments