Atomix安装和使用

Atomix的安装和使用

Atomix 依赖

Atomix 核心依赖

1
2
3
4
5
<dependency>
<groupId>io.atomix</groupId>
<artifactId>atomix</artifactId>
<version>3.1.0-beta2</version>
</dependency>

根据系统的一致性、容错性和持久性要求需要选择不同的依赖

  • atomix-raft - RaftPartitionGroup and MultiRaftProtocol
  • atomix-primary-backup - PrimaryBackupPartitionGroup and `MultiPrimaryProtocol
  • atomix-log - LogPartitionGroup and `DistributedLogProtocol
  • atomix-gossip - AntiEntropyProtocol and CrdtProtocol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<dependency>
<groupId>io.atomix</groupId>
<artifactId>atomix</artifactId>
<version>3.1.0-beta2</version>
</dependency>
<dependency>
<groupId>io.atomix</groupId>
<artifactId>atomix-raft</artifactId>
<version>3.1.0-beta2</version>
</dependency>
<dependency>
<groupId>io.atomix</groupId>
<artifactId>atomix-log</artifactId>
<version>3.1.0-beta2</version>
</dependency>
<dependency>
<groupId>io.atomix</groupId>
<artifactId>atomix-primary-backup</artifactId>
<version>3.1.0-beta2</version>
</dependency>

单机部署

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Atomix atomix = Atomix.builder()
.withMemberId("member1")
.withNodeDiscovery(BootstrapDiscoveryProvider.builder()
.withNodes(
Node.builder()
.withId("member1")
.withAddress("10.192.19.181:5679")
.build(),
Node.builder()
.withId("member2")
.withAddress("10.192.19.182:5679")
.build(),
Node.builder()
.withId("member3")
.withAddress("10.192.19.183:5679")
.build())
.build())
.withManagementGroup(RaftPartitionGroup.builder("system")
.withNumPartitions(1)
.withMembers("member1", "member2", "member3")
.build())
.withPartitionGroups(RaftPartitionGroup.builder("raft")
.withPartitionSize(3)
.withNumPartitions(3)
.withMembers("member1", "member2", "member3")
.build())
.build();
//开始启动集群
atomix.start().join();