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
Copy file name to clipboardExpand all lines: README.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
@@ -13,9 +13,9 @@ contacts: info@inteference.su
13
13
14
14
## Concepts & features
15
15
16
-
######i.o.cluster also known as interference open cluster is a simple java framework enables you to launch a distributed database and complex event processing service within your java application, using JPA-like interface and annotations for structure mapping and data operations. This software inherits its name from the interference project, within which its mechanisms were developed.
16
+
######i.o.cluster also known as interference open cluster is a simple java framework enables you to launch a distributed database and complex event processing service within your java application, using JPA-like interface and annotations for structure mapping and data operations. This software inherits its name from the interference project, within which its mechanisms were developed.
17
17
18
-
######i.o.cluster is a opensource, pure java software.
18
+
######i.o.cluster is a opensource, pure java software.
19
19
20
20
The basic unit of the i.o.cluster service is a node - it can be a standalone running service, or a service running within some java application.
21
21
@@ -39,7 +39,7 @@ Nodes can be joined into a cluster, at the cluster level with inter-node interac
39
39
- support of complex event processing (CEP) and simple streaming SQL
40
40
- i.o.cluster nodes does not require the launch of any additional coordinators
41
41
42
-
##Overview
42
+
##Overview
43
43
44
44
Initially, the service was designed in such a way that each node is a java application that can be launched both by sharing one JVM with the client application using the service, or autonomously.
45
45
@@ -58,7 +58,7 @@ a brief diagram of the internal implementation of the service on the example of
58
58
59
59

60
60
61
-
##Distributed persistent model
61
+
##Distributed persistent model
62
62
63
63
To include a node in the cluster, you must specify the full list of cluster nodes (excluding this one) in the cluster.nodes configuration parameter. The minimum number of cluster nodes is 2, and the maximum is 64 (for more details, see cluster configuration rules below).
64
64
@@ -70,7 +70,7 @@ Within the framework of these rules, all nodes of the Interference open cluster
70
70
71
71
Running commit in a local user session automatically ensures that the changed data is visible on all nodes in the cluster.
72
72
73
-
##Distribute rules
73
+
##Distribute rules
74
74
75
75
The concept of interference open cluster is based on a simple basic requirement, which can be literally expressed as follows: we must allow insertion and modification of data at the cluster level from any node, and we must allow data retrieval from any node, using as much as possible the computing resources of the cluster as a whole. Further, we accept the condition that all cluster nodes must be healthy and powered on, if any of the nodes has been turned off for a while, it will not be turned on to receive data until her storage is synchronized with other nodes. In practice, in the absence of changes in the moment, this means that there are identical copies of the storage on the cluster nodes. To prevent conflicts of changes in cluster, several lock modes are used:
76
76
@@ -92,12 +92,12 @@ Thus, let's repeat again:
92
92
- the cluster uses the generation of unique identifiers for entities (@DistributedId annotation) so that the identifier is unique within the cluster, but not just within the same node
93
93
- the cluster does not use any additional checks for uniqueness, requiring locks at the cluster level
94
94
95
-
##SQL horizontal-scaling queries
95
+
##SQL horizontal-scaling queries
96
96
97
97
All SQL queries called on any of the cluster nodes will be automatically distributed among the cluster nodes for parallel processing, if such a decision is made by the node based on the analysis of the volume of tasks (the volume of the query tables is large enough, etc.)
98
98
If during the processing of a request a node is unavailable, the task distributed for this node will be automatically rescheduled to another available node.
99
99
100
-
##Complex event processing concepts
100
+
##Complex event processing concepts
101
101
102
102
So, we must allow insertion and modification of data at the cluster level from any node, and we must allow data retrieval from any node, using as much as possible the computing resources of the cluster as a whole.
0 commit comments