Skip to content

Commit 4a84947

Browse files
Merge pull request #60 from yuriy-glotanov/2021.1
README.md fix
2 parents 3a30635 + d8a532b commit 4a84947

1 file changed

Lines changed: 7 additions & 7 deletions

File tree

README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ contacts: info@inteference.su
1313

1414
## Concepts & features
1515

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.
1717

18-
######i.o.cluster is a opensource, pure java software.
18+
###### i.o.cluster is a opensource, pure java software.
1919

2020
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.
2121

@@ -39,7 +39,7 @@ Nodes can be joined into a cluster, at the cluster level with inter-node interac
3939
- support of complex event processing (CEP) and simple streaming SQL
4040
- i.o.cluster nodes does not require the launch of any additional coordinators
4141

42-
##Overview
42+
## Overview
4343

4444
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.
4545

@@ -58,7 +58,7 @@ a brief diagram of the internal implementation of the service on the example of
5858

5959
![Screenshot](doc/interference.png)
6060

61-
##Distributed persistent model
61+
## Distributed persistent model
6262

6363
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).
6464

@@ -70,7 +70,7 @@ Within the framework of these rules, all nodes of the Interference open cluster
7070

7171
Running commit in a local user session automatically ensures that the changed data is visible on all nodes in the cluster.
7272

73-
##Distribute rules
73+
## Distribute rules
7474

7575
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:
7676

@@ -92,12 +92,12 @@ Thus, let's repeat again:
9292
- 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
9393
- the cluster does not use any additional checks for uniqueness, requiring locks at the cluster level
9494

95-
##SQL horizontal-scaling queries
95+
## SQL horizontal-scaling queries
9696

9797
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.)
9898
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.
9999

100-
##Complex event processing concepts
100+
## Complex event processing concepts
101101

102102
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.
103103

0 commit comments

Comments
 (0)