Dubbo学习总结(二)--实现接口抽取、依赖管理及简单的dubbo服务集群

本次针对dubbo demo代码进行简单的升级,包括以下:
    1. dubbo接口抽取
    2. dubbo依赖版本统一管理实现
    3. dubbo服务集群简单实现

一. dubbo接口抽取
    1. 新建Maven工程 dubbo-demo-api
    public interface DemoProviderService {
        public String sayHello(String name);
    }
    删除原来的provider中的接口(实现类保留),删除原来的provider中的接口
    2. 在provider与consumer的pom.xml中,加入依赖:
        <dependency>
            <groupId>com.****.dubbo</groupId>
            <artifactId>dubbo-demo-api</artifactId>
        </dependency>

二. dubbo依赖版本统一管理实现
    1. 新建Maven工程 dubbo-demo-parent 
    2. 在子项目中引入parent:
        <parent>
            <groupId>com.****.dubbo</groupId>
            <artifactId>dubbo-demo-parent</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </parent>
        接着删除子项目pom.xml中不必要的版本信息
    3. 在 dubbo-demo-parent 的 pom.xml 中写入:
        <properties>
            <dubbo-demo-api.version>0.0.1-SNAPSHOT</dubbo-demo-api.version>
            <dubbo.verison>2.6.0</dubbo.verison>
            <zkclient.version>0.10</zkclient.version>
            <curator-framework.version>4.0.1</curator-framework.version>
            <fastjson.version>1.2.46</fastjson.version>
            <log4j.version>1.2.17</log4j.version>
            <slf4j-api.version>1.7.25</slf4j-api.version>
            <commons-lang3.version>3.4</commons-lang3.version>
            <netty-all.version>4.0.35.Final</netty-all.version>
            <junit.version>4.12</junit.version>
        </properties>
        统一版本管理之后,用el表达式的方式,在每个jar包的版本,如:
        <version>${dubbo-demo-api.version}</version>

三. dubbo服务集群简单实现步骤:
    1. 启动zookeeper,启动一个provider服务
    2. 现在内存中已经有一个provider服务
       <dubbo:protocol name="dubbo" port="20880"/>
        public class Provider {
            public static void main(String[] args) {
                //从类路径下读取XML文件生成上下文环境
                ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("dubbo-demo-provider.xml");
                context.start();
                System.out.println("服务提供者向zookeeper注册中心注册服务成功(端口:20880)");
                try {
                    System.in.read();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                context.close();
            }
        }
       启动dubbo-demo-provider服务,然后再修改:
        <dubbo:protocol name="dubbo" port="20880"/>端口,20881
        public class Provider {
            public static void main(String[] args) {
                //从类路径下读取XML文件生成上下文环境
                ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("dubbo-demo-provider.xml");
                context.start();
                System.out.println("服务提供者向zookeeper注册中心注册服务成功(端口:20881)");
                try {
                    System.in.read();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                context.close();
            }
        }
       启动dubbo-demo-provider服务,再启动一个服务,这时候,可以搞一个dubbo admin就可以查到两个provider在提供服务了
       这就是简单的dubbo服务集群的简单实现。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值