Skip to content

Commit bd706cf

Browse files
committed
update rpc-java to brpc-java
1 parent 8722482 commit bd706cf

32 files changed

Lines changed: 6303 additions & 6840 deletions

pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44

55
<groupId>com.github.wenweihu86.raft</groupId>
66
<artifactId>raft-java-all</artifactId>
7-
<version>1.8.0</version>
7+
<version>1.9.0</version>
88
<packaging>pom</packaging>
99

10-
<name>raft-java-all</name>
10+
<name>raft-java-parent</name>
1111
<url>http://maven.apache.org</url>
1212

1313
<properties>

raft-java-admin/pom.xml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<modelVersion>4.0.0</modelVersion>
66
<groupId>com.github.wenweihu86.raft</groupId>
77
<artifactId>raft-java-admin</artifactId>
8-
<version>1.8.0</version>
8+
<version>1.9.0</version>
99
<packaging>jar</packaging>
1010

1111
<name>raft-java-admin</name>
@@ -34,7 +34,12 @@
3434
<dependency>
3535
<groupId>com.github.wenweihu86.raft</groupId>
3636
<artifactId>raft-java-core</artifactId>
37-
<version>1.8.0</version>
37+
<version>1.9.0</version>
38+
</dependency>
39+
<dependency>
40+
<groupId>org.apache.logging.log4j</groupId>
41+
<artifactId>log4j-slf4j-impl</artifactId>
42+
<version>2.9.1</version>
3843
</dependency>
3944
<dependency>
4045
<groupId>junit</groupId>

raft-java-admin/src/main/java/com/github/wenweihu86/raft/admin/AdminMain.java

Lines changed: 20 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
package com.github.wenweihu86.raft.admin;
22

3-
import com.github.wenweihu86.raft.proto.RaftMessage;
3+
import com.github.wenweihu86.raft.proto.RaftProto;
44
import com.github.wenweihu86.raft.service.RaftClientService;
5-
import com.google.protobuf.InvalidProtocolBufferException;
6-
import com.google.protobuf.util.JsonFormat;
5+
import com.googlecode.protobuf.format.JsonFormat;
76
import org.apache.commons.lang3.Validate;
87

98
import java.util.ArrayList;
@@ -13,7 +12,7 @@
1312
* Created by wenweihu86 on 2017/5/14.
1413
*/
1514
public class AdminMain {
16-
private static final JsonFormat.Printer PRINTER = JsonFormat.printer().omittingInsignificantWhitespace();
15+
private static final JsonFormat jsonFormat = new JsonFormat();
1716

1817
public static void main(String[] args) {
1918
// parse args
@@ -31,33 +30,29 @@ public static void main(String[] args) {
3130
|| subCmd.equals("del"));
3231
RaftClientService client = new RaftClientServiceProxy(servers);
3332
if (subCmd.equals("get")) {
34-
RaftMessage.GetConfigurationRequest request = RaftMessage.GetConfigurationRequest.newBuilder().build();
35-
RaftMessage.GetConfigurationResponse response = client.getConfiguration(request);
36-
try {
37-
if (response != null) {
38-
System.out.println(PRINTER.print(response));
39-
} else {
40-
System.out.printf("response == null");
41-
}
42-
} catch (InvalidProtocolBufferException ex) {
43-
ex.printStackTrace();
33+
RaftProto.GetConfigurationRequest request = RaftProto.GetConfigurationRequest.newBuilder().build();
34+
RaftProto.GetConfigurationResponse response = client.getConfiguration(request);
35+
if (response != null) {
36+
System.out.println(jsonFormat.printToString(response));
37+
} else {
38+
System.out.printf("response == null");
4439
}
4540

4641
} else if (subCmd.equals("add")) {
47-
List<RaftMessage.Server> serverList = parseServers(args[3]);
48-
RaftMessage.AddPeersRequest request = RaftMessage.AddPeersRequest.newBuilder()
42+
List<RaftProto.Server> serverList = parseServers(args[3]);
43+
RaftProto.AddPeersRequest request = RaftProto.AddPeersRequest.newBuilder()
4944
.addAllServers(serverList).build();
50-
RaftMessage.AddPeersResponse response = client.addPeers(request);
45+
RaftProto.AddPeersResponse response = client.addPeers(request);
5146
if (response != null) {
5247
System.out.println(response.getResCode());
5348
} else {
5449
System.out.printf("response == null");
5550
}
5651
} else if (subCmd.equals("del")) {
57-
List<RaftMessage.Server> serverList = parseServers(args[3]);
58-
RaftMessage.RemovePeersRequest request = RaftMessage.RemovePeersRequest.newBuilder()
52+
List<RaftProto.Server> serverList = parseServers(args[3]);
53+
RaftProto.RemovePeersRequest request = RaftProto.RemovePeersRequest.newBuilder()
5954
.addAllServers(serverList).build();
60-
RaftMessage.RemovePeersResponse response = client.removePeers(request);
55+
RaftProto.RemovePeersResponse response = client.removePeers(request);
6156
if (response != null) {
6257
System.out.println(response.getResCode());
6358
} else {
@@ -67,16 +62,16 @@ public static void main(String[] args) {
6762
((RaftClientServiceProxy) client).stop();
6863
}
6964

70-
public static List<RaftMessage.Server> parseServers(String serversString) {
71-
List<RaftMessage.Server> serverList = new ArrayList<>();
65+
public static List<RaftProto.Server> parseServers(String serversString) {
66+
List<RaftProto.Server> serverList = new ArrayList<>();
7267
String[] splitArray1 = serversString.split(",");
7368
for (String addr : splitArray1) {
7469
String[] splitArray2 = addr.split(":");
75-
RaftMessage.EndPoint endPoint = RaftMessage.EndPoint.newBuilder()
70+
RaftProto.Endpoint endPoint = RaftProto.Endpoint.newBuilder()
7671
.setHost(splitArray2[0])
7772
.setPort(Integer.parseInt(splitArray2[1])).build();
78-
RaftMessage.Server server = RaftMessage.Server.newBuilder()
79-
.setEndPoint(endPoint)
73+
RaftProto.Server server = RaftProto.Server.newBuilder()
74+
.setEndpoint(endPoint)
8075
.setServerId(Integer.parseInt(splitArray2[2])).build();
8176
serverList.add(server);
8277
}
Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
package com.github.wenweihu86.raft.admin;
22

3-
import com.github.wenweihu86.raft.proto.RaftMessage;
3+
import com.baidu.brpc.client.BrpcProxy;
4+
import com.baidu.brpc.client.RpcClient;
5+
import com.baidu.brpc.client.RpcClientOptions;
6+
import com.baidu.brpc.client.instance.Endpoint;
7+
import com.github.wenweihu86.raft.proto.RaftProto;
48
import com.github.wenweihu86.raft.service.RaftClientService;
5-
import com.github.wenweihu86.rpc.client.EndPoint;
6-
import com.github.wenweihu86.rpc.client.RPCClient;
7-
import com.github.wenweihu86.rpc.client.RPCClientOptions;
8-
import com.github.wenweihu86.rpc.client.RPCProxy;
9-
import com.google.protobuf.util.JsonFormat;
9+
import com.googlecode.protobuf.format.JsonFormat;
1010
import org.slf4j.Logger;
1111
import org.slf4j.LoggerFactory;
1212

@@ -18,52 +18,52 @@
1818
*/
1919
public class RaftClientServiceProxy implements RaftClientService {
2020
private static final Logger LOG = LoggerFactory.getLogger(RaftClientServiceProxy.class);
21-
private static final JsonFormat.Printer PRINTER = JsonFormat.printer().omittingInsignificantWhitespace();
21+
private static final JsonFormat jsonFormat = new JsonFormat();
2222

23-
private List<RaftMessage.Server> cluster;
24-
private RPCClient clusterRPCClient;
23+
private List<RaftProto.Server> cluster;
24+
private RpcClient clusterRPCClient;
2525
private RaftClientService clusterRaftClientService;
2626

27-
private RaftMessage.Server leader;
28-
private RPCClient leaderRPCClient;
27+
private RaftProto.Server leader;
28+
private RpcClient leaderRPCClient;
2929
private RaftClientService leaderRaftClientService;
3030

31-
private RPCClientOptions rpcClientOptions = new RPCClientOptions();
31+
private RpcClientOptions rpcClientOptions = new RpcClientOptions();
3232

3333
// servers format is 10.1.1.1:8888,10.2.2.2:9999
3434
public RaftClientServiceProxy(String ipPorts) {
3535
rpcClientOptions.setConnectTimeoutMillis(1000); // 1s
3636
rpcClientOptions.setReadTimeoutMillis(3600000); // 1hour
3737
rpcClientOptions.setWriteTimeoutMillis(1000); // 1s
38-
clusterRPCClient = new RPCClient(ipPorts, rpcClientOptions);
39-
clusterRaftClientService = RPCProxy.getProxy(clusterRPCClient, RaftClientService.class);
38+
clusterRPCClient = new RpcClient(ipPorts, rpcClientOptions);
39+
clusterRaftClientService = BrpcProxy.getProxy(clusterRPCClient, RaftClientService.class);
4040
updateConfiguration();
4141
}
4242

4343
@Override
44-
public RaftMessage.GetLeaderResponse getLeader(RaftMessage.GetLeaderRequest request) {
44+
public RaftProto.GetLeaderResponse getLeader(RaftProto.GetLeaderRequest request) {
4545
return clusterRaftClientService.getLeader(request);
4646
}
4747

4848
@Override
49-
public RaftMessage.GetConfigurationResponse getConfiguration(RaftMessage.GetConfigurationRequest request) {
49+
public RaftProto.GetConfigurationResponse getConfiguration(RaftProto.GetConfigurationRequest request) {
5050
return clusterRaftClientService.getConfiguration(request);
5151
}
5252

5353
@Override
54-
public RaftMessage.AddPeersResponse addPeers(RaftMessage.AddPeersRequest request) {
55-
RaftMessage.AddPeersResponse response = leaderRaftClientService.addPeers(request);
56-
if (response != null && response.getResCode() == RaftMessage.ResCode.RES_CODE_NOT_LEADER) {
54+
public RaftProto.AddPeersResponse addPeers(RaftProto.AddPeersRequest request) {
55+
RaftProto.AddPeersResponse response = leaderRaftClientService.addPeers(request);
56+
if (response != null && response.getResCode() == RaftProto.ResCode.RES_CODE_NOT_LEADER) {
5757
updateConfiguration();
5858
response = leaderRaftClientService.addPeers(request);
5959
}
6060
return response;
6161
}
6262

6363
@Override
64-
public RaftMessage.RemovePeersResponse removePeers(RaftMessage.RemovePeersRequest request) {
65-
RaftMessage.RemovePeersResponse response = leaderRaftClientService.removePeers(request);
66-
if (response != null && response.getResCode() == RaftMessage.ResCode.RES_CODE_NOT_LEADER) {
64+
public RaftProto.RemovePeersResponse removePeers(RaftProto.RemovePeersRequest request) {
65+
RaftProto.RemovePeersResponse response = leaderRaftClientService.removePeers(request);
66+
if (response != null && response.getResCode() == RaftProto.ResCode.RES_CODE_NOT_LEADER) {
6767
updateConfiguration();
6868
response = leaderRaftClientService.removePeers(request);
6969
}
@@ -80,22 +80,22 @@ public void stop() {
8080
}
8181

8282
private boolean updateConfiguration() {
83-
RaftMessage.GetConfigurationRequest request = RaftMessage.GetConfigurationRequest.newBuilder().build();
84-
RaftMessage.GetConfigurationResponse response = clusterRaftClientService.getConfiguration(request);
85-
if (response != null && response.getResCode() == RaftMessage.ResCode.RES_CODE_SUCCESS) {
83+
RaftProto.GetConfigurationRequest request = RaftProto.GetConfigurationRequest.newBuilder().build();
84+
RaftProto.GetConfigurationResponse response = clusterRaftClientService.getConfiguration(request);
85+
if (response != null && response.getResCode() == RaftProto.ResCode.RES_CODE_SUCCESS) {
8686
if (leaderRPCClient != null) {
8787
leaderRPCClient.stop();
8888
}
8989
leader = response.getLeader();
90-
leaderRPCClient = new RPCClient(convertEndPoint(leader.getEndPoint()), rpcClientOptions);
91-
leaderRaftClientService = RPCProxy.getProxy(leaderRPCClient, RaftClientService.class);
90+
leaderRPCClient = new RpcClient(convertEndPoint(leader.getEndpoint()), rpcClientOptions);
91+
leaderRaftClientService = BrpcProxy.getProxy(leaderRPCClient, RaftClientService.class);
9292
return true;
9393
}
9494
return false;
9595
}
9696

97-
private EndPoint convertEndPoint(RaftMessage.EndPoint endPoint) {
98-
return new EndPoint(endPoint.getHost(), endPoint.getPort());
97+
private Endpoint convertEndPoint(RaftProto.Endpoint endPoint) {
98+
return new Endpoint(endPoint.getHost(), endPoint.getPort());
9999
}
100100

101101
}

raft-java-core/pom.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
<groupId>com.github.wenweihu86.raft</groupId>
66
<artifactId>raft-java-core</artifactId>
7-
<version>1.8.0</version>
7+
<version>1.9.0</version>
88
<packaging>jar</packaging>
99

1010
<name>raft-java-core</name>
@@ -115,9 +115,9 @@
115115

116116
<dependencies>
117117
<dependency>
118-
<groupId>com.github.wenweihu86.rpc</groupId>
119-
<artifactId>rpc-java</artifactId>
120-
<version>1.8.0</version>
118+
<groupId>com.baidu</groupId>
119+
<artifactId>brpc-java</artifactId>
120+
<version>2.5.2</version>
121121
</dependency>
122122
<dependency>
123123
<groupId>commons-io</groupId>

raft-java-core/src/main/java/com/github/wenweihu86/raft/Peer.java

Lines changed: 13 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,17 @@
11
package com.github.wenweihu86.raft;
22

3-
import com.github.wenweihu86.raft.proto.RaftMessage;
4-
import com.github.wenweihu86.raft.service.RaftConsensusService;
3+
import com.baidu.brpc.client.BrpcProxy;
4+
import com.baidu.brpc.client.RpcClient;
5+
import com.baidu.brpc.client.instance.Endpoint;
6+
import com.github.wenweihu86.raft.proto.RaftProto;
57
import com.github.wenweihu86.raft.service.RaftConsensusServiceAsync;
6-
import com.github.wenweihu86.rpc.client.EndPoint;
7-
import com.github.wenweihu86.rpc.client.RPCClient;
8-
import com.github.wenweihu86.rpc.client.RPCProxy;
98

109
/**
1110
* Created by wenweihu86 on 2017/5/5.
1211
*/
1312
public class Peer {
14-
private RaftMessage.Server server;
15-
private RPCClient rpcClient;
16-
private RaftConsensusService raftConsensusService;
13+
private RaftProto.Server server;
14+
private RpcClient rpcClient;
1715
private RaftConsensusServiceAsync raftConsensusServiceAsync;
1816
// 需要发送给follower的下一个日志条目的索引值,只对leader有效
1917
private long nextIndex;
@@ -22,28 +20,23 @@ public class Peer {
2220
private volatile Boolean voteGranted;
2321
private volatile boolean isCatchUp;
2422

25-
public Peer(RaftMessage.Server server) {
23+
public Peer(RaftProto.Server server) {
2624
this.server = server;
27-
this.rpcClient = new RPCClient(new EndPoint(
28-
server.getEndPoint().getHost(),
29-
server.getEndPoint().getPort()));
30-
raftConsensusService = RPCProxy.getProxy(rpcClient, RaftConsensusService.class);
31-
raftConsensusServiceAsync = RPCProxy.getProxy(rpcClient, RaftConsensusServiceAsync.class);
25+
this.rpcClient = new RpcClient(new Endpoint(
26+
server.getEndpoint().getHost(),
27+
server.getEndpoint().getPort()));
28+
raftConsensusServiceAsync = BrpcProxy.getProxy(rpcClient, RaftConsensusServiceAsync.class);
3229
isCatchUp = false;
3330
}
3431

35-
public RaftMessage.Server getServer() {
32+
public RaftProto.Server getServer() {
3633
return server;
3734
}
3835

39-
public RPCClient getRpcClient() {
36+
public RpcClient getRpcClient() {
4037
return rpcClient;
4138
}
4239

43-
public RaftConsensusService getRaftConsensusService() {
44-
return raftConsensusService;
45-
}
46-
4740
public RaftConsensusServiceAsync getRaftConsensusServiceAsync() {
4841
return raftConsensusServiceAsync;
4942
}

0 commit comments

Comments
 (0)