abg-cloud 是一款速度超凡的异步响应式RPC框架
Maven依赖:
<dependency>
<groupId>com.abg-cloud</groupId>
<artifactId>abg-cloud</artifactId>
<version>0.0.9</version>
</dependency>
<dependency>
<groupId>com.abg-cloud</groupId>
<artifactId>abg-kryo</artifactId>
<version>0.0.9</version>
</dependency>
<dependency>
<groupId>com.abg-cloud</groupId>
<artifactId>abg-protostuff</artifactId>
<version>0.0.9</version>
</dependency>
<dependency>
<groupId>com.abg-cloud</groupId>
<artifactId>abg-register-zk</artifactId>
<version>0.0.9</version>
</dependency>
<dependency>
<groupId>com.abg-cloud</groupId>
<artifactId>abg-spring-boot-starter</artifactId>
<version>0.0.9</version>
</dependency>
1.定义接口
@AbgService(version = "1.0.0")
public interface HelloService {
@AbgService(version = "1.0.0", rest = "hello")
default CompletableFuture<String> hello(String msg) {
// default实现会自动注册为失败回退方法,当远程调用失败时执行
return CompletableFuture.completedFuture("error");
}
}
2.服务端实现接口
@Component
public class HelloServiceImpl implements HelloService {
@Override
public CompletableFuture<String> hello(String msg) {
return CompletableFuture.completedFuture(msg);
}
}
3.配置abg-server.conf, 声明 服务器地址 序列化协议 注册地址 等信息
4.服务端启动
@SpringBootApplication(scanBasePackages = { "com.hello" })
@EnableabgServer
public class TruboServerBootTest {
public static void main(String[] args) {
SpringApplication.run(TruboServerBootTest.class, args);
}
}
5.客户端调用
@Component
public class HelloReferTest {
@Autowired
HelloService helloService;
public void doSomeThing(String msg) {
helloService.hello(msg)
.thenAccept(message -> System.out.println(message));
}
}
6.配置abg-client.conf, 声明 服务器地址 序列化协议 注册地址 等信息
7.客户端启动
@SpringBootApplication(scanBasePackages = { "com.hello" })
@EnableabgClient
public class HelloBootTest {
public static void main(String[] args) {
SpringApplication.run(HelloBootTest.class, args);
}
}
$ claude mcp add abg-rpc \
-- python -m otcore.mcp_server <graph>