资讯专栏INFORMATION COLUMN

基于Netty实现的轻量级分布式服务框架

Dogee / 3266人阅读

摘要:对分布式技术比较感兴趣,于是在闲暇时间写了一个简单的框架娱乐一下,项目持续更新中项目地址如果感觉对你有帮助可以顺手点个哦哈哈直接看一下示例代码吧第一步启动注册中心创建服务注册中心启动注册中心第二步启动服务提供者创建服务提供者和服务包装器连接

对分布式技术比较感兴趣,于是在闲暇时间写了一个简单的RPC框架娱乐一下,项目持续更新中...... GitHub项目地址: Pudding
如果感觉Pudding对你有帮助可以顺手点个Star哦......哈哈
直接看一下示例代码吧 第一步: 启动注册中心
public class RegistryTest {
    public static void main(String[] args) {
        // 创建服务注册中心
        ServiceRegistry registry = new DefaultServiceRegistry();
        // 启动注册中心
        registry.startRegistry(20000);
    }
}
第二步: 启动服务提供者
public class ProviderTest {
    public static void main(String[] args) {
        // 创建服务提供者和服务包装器
        ServiceProvider provider = new DefaultServiceProvider();
        ServiceWrapper serviceWrapper = new DefaultServiceWrapper();
        // 连接注册中心
        provider.connectRegistry("127.0.0.1:20000");
        // 创建服务
        MyService myService = new MyServiceImpl();
        // 包装服务为ServiceMeta
        Service service = serviceWrapper.build(myService, "127.0.0.1:30001");
        // 启用服务
        provider.startService(service);
        // 发布所有已启用的服务
        provider.publishAllService();
    }
}
第三步: 启动服务消费者 同步调用
public class SyncConsumerTest {
    public static void main(String[] args) {
        // 创建服务消费者
        ServiceConsumer serviceConsumer = new DefaultServiceConsumer();
        // 连接注册中心
        serviceConsumer.connectRegistry("127.0.0.1:20000");
        // 订阅服务
        serviceConsumer.subscribeService(MyService.class);
        // 创建同步服务代理
        MyService myService = ProxyFactory.createSyncProxy(MyService.class);
        try {
            // 发起调用
            int result = myService.add(100, 200);
            System.out.println("调用结果: " + result);
        } catch (InvokeTimeoutException e) {
            System.out.println("远程调用超时");
        } catch (InvokeFailedException e) {
            System.out.println("远程调用失败");
        }
    }
}
异步调用
public class AsyncConsumerTest {
    public static void main(String[] args) {
        // 创建服务消费者
        ServiceConsumer serviceConsumer = new DefaultServiceConsumer();
        // 连接注册中心
        serviceConsumer.connectRegistry("127.0.0.1:20000");
        // 订阅服务
        serviceConsumer.subscribeService(MyService.class);
        // 创建同步服务代理
        MyService myService = ProxyFactory.createAsyncProxy(MyService.class);
        // 发起调用
        myService.add(100, 200);
        // 监听调用结果
        InvokeFuture.addInvokeFutureListener(new InvokeFutureListener() {
            @Override
            public void success(Integer result) {
                System.out.println("调用结果: " + result);
            }

            @Override
            public void failure(Exception e) {
                e.printStackTrace();
            }
        });
    }
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/66932.html

相关文章

  • Java 程序员必备 15 个框架,前 3 个地位无可动摇!

    摘要:官网源码推荐从开始手写一个框架更多请在技术栈微信公众号后台回复关键字。是一个开放源代码的对象关系映射框架,它对进行了非常轻量级的对象封装,它将与数据库表建立映射关系,是一个全自动的框架。 Java 程序员方向太多,且不说移动开发、大数据、区块链、人工智能这些,大部分 Java 程序员都是 Java Web/后端开发。那作为一名 Java Web 开发程序员必须需要熟悉哪些框架呢? 今天...

    galaxy_robot 评论0 收藏0
  • 后端好书阅读与推荐(续三)

    摘要:后端好书阅读与推荐系列文章后端好书阅读与推荐后端好书阅读与推荐续后端好书阅读与推荐续二后端好书阅读与推荐续三这里依然记录一下每本书的亮点与自己读书心得和体会,分享并求拍砖。然后又请求封锁,当释放了上的封锁之后,系统又批准了的请求一直等待。 后端好书阅读与推荐系列文章:后端好书阅读与推荐后端好书阅读与推荐(续)后端好书阅读与推荐(续二)后端好书阅读与推荐(续三) 这里依然记录一下每本书的...

    lauren_liuling 评论0 收藏0
  • 后端好书阅读与推荐(续三)

    摘要:后端好书阅读与推荐系列文章后端好书阅读与推荐后端好书阅读与推荐续后端好书阅读与推荐续二后端好书阅读与推荐续三这里依然记录一下每本书的亮点与自己读书心得和体会,分享并求拍砖。然后又请求封锁,当释放了上的封锁之后,系统又批准了的请求一直等待。 后端好书阅读与推荐系列文章:后端好书阅读与推荐后端好书阅读与推荐(续)后端好书阅读与推荐(续二)后端好书阅读与推荐(续三) 这里依然记录一下每本书的...

    ckllj 评论0 收藏0
  • 后端好书阅读与推荐(续三)

    摘要:后端好书阅读与推荐系列文章后端好书阅读与推荐后端好书阅读与推荐续后端好书阅读与推荐续二后端好书阅读与推荐续三这里依然记录一下每本书的亮点与自己读书心得和体会,分享并求拍砖。然后又请求封锁,当释放了上的封锁之后,系统又批准了的请求一直等待。 后端好书阅读与推荐系列文章:后端好书阅读与推荐后端好书阅读与推荐(续)后端好书阅读与推荐(续二)后端好书阅读与推荐(续三) 这里依然记录一下每本书的...

    jcc 评论0 收藏0
  • dubbo源码解析(一)Hello,Dubbo

    摘要:英文全名为,也叫远程过程调用,其实就是一个计算机通信协议,它是一种通过网络从远程计算机程序上请求服务而不需要了解底层网络技术的协议。 Hello,Dubbo 你好,dubbo,初次见面,我想和你交个朋友。 Dubbo你到底是什么? 先给出一套官方的说法:Apache Dubbo是一款高性能、轻量级基于Java的RPC开源框架。 那么什么是RPC? 文档地址:http://dubbo.a...

    evin2016 评论0 收藏0

发表评论

0条评论

Dogee

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<