• Dubbo:Dubbo Admin环境搭建


    1.Zookeeper环境搭建

    这里不再赘述。。

    2.下载Dobbo Admin

    https://github.com/apache/dubbo-admin,点击该网址,下载并解压。

     解压后,是这样的目录。进入dubbo-admin-ui,命令行运行npm install(前提已经安装node环境),安装依赖。然后npm run dev,这样前端环境就搭建和运行成功了。

    导入该项目到idea,进入dubbo-admin-server,这是一个普通的spring boot项目,先修改配置文件application.properties,将注册中心的配置修改好。

     然后运行springboot项目。进入localhost:8081,看到如下界面,说明基本搭建完成。

    网页的账号密码都是root.

     3.创建ZK元数据中心节点

    在代码中写一个test方法,创建如下节点,否则前端会报无元数据信息的错。

    或者手动在zookeeper的命令行手动执行命令添加节点数据。

    public class Test {
        public static void main(String[] args) {
            try {
                CuratorFramework zkClient = CuratorFrameworkFactory.builder().
                        connectString("192.168.10.132:2181").
                        retryPolicy(new ExponentialBackoffRetry(1000, 3)).build();
                zkClient.start();
    
                if (zkClient.checkExists().forPath("/dubbo/config/dubbo/dubbo.properties") == null) {
                    zkClient.create().creatingParentsIfNeeded().forPath("/dubbo/config/dubbo/dubbo.properties");
                }
                zkClient.setData().forPath("/dubbo/config/dubbo/dubbo.properties", ("dubbo.registry.address=zookeeper://192.168.10.132:2181
    " +
                        "dubbo.metadata-report.address=zookeeper://192.168.10.132:2181").getBytes());
    
            }catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    

    4.测试dubbo

    新建一个maven项目,引入dubbo依赖。

    maven依赖:这里注意dubbo的版本要与dubbo admin中的dubbo版本一致,否则会出现一些奇怪的错误。

            <dependency>
                <groupId>org.apache.dubbo</groupId>
                <artifactId>dubbo</artifactId>
                <version>2.7.3</version>
            </dependency>
            <dependency>
                <groupId>org.apache.curator</groupId>
                <artifactId>curator-framework</artifactId>
                <version>2.12.0</version>
            </dependency>
            <dependency>
                <groupId>org.apache.curator</groupId>
                <artifactId>curator-recipes</artifactId>
                <version>2.8.0</version>
            </dependency>
    

      applicationContext.xml

    <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"
           xmlns="http://www.springframework.org/schema/beans"
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
           http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd">
    
        <dubbo:application name="dubbo-server-provider"/>
        <dubbo:registry address="zookeeper://192.168.10.132:2181"/>
        <dubbo:protocol name="dubbo" port="10000"/>
        <dubbo:service interface="com.wj.UserService" ref="userServiceImpl"/>
    
        <bean id="userServiceImpl" class="com.wj.service.impl.UserServiceImpl"/>
    </beans>
    

     UserServiceImpl.java

    public class UserServiceImpl implements UserService {
    
        @Override
        public List<User> getAll() {
            User user1 = new User(1, "张三", 12, "北京");
            User user2 = new User(2, "李四", 13, "北京");
            return Arrays.asList(user1, user2);
        }
    }
    

     主方法:

    public class ProviderMain {
        public static void main(String[] args) throws IOException {
            ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
            context.start();
            System.in.read();
        }
    }
    

     运行该主方法,到dubbo admin的页面观察。可以看到发布的服务。

    这里如果服务为空,可以将dubbo项目的主方法重新运行、dubbo admin的boot项目重新运行,应该就可以看到服务了。

    点击详情,可以看到服务的详细信息。

     

  • 相关阅读:
    画江恩线
    从装饰者模式的理解说JAVA的IO包
    Form表单标签的Enctype属性的作用及应用示例介绍
    spring中的通配符
    简析SynchronousQueue,LinkedBlockingQueue,ArrayBlockingQueue
    Java数据封装成树形结构,多级
    详解InitializingBean、initMethod和@PostConstruct
    SpringCloud确保服务只能通过gateway转发访问,禁止直接调用接口访问
    Spring中的InitializingBean接口的使用
    Linux下Centos7对外开放端口
  • 原文地址:https://www.cnblogs.com/wwjj4811/p/12963554.html
Copyright © 2020-2023  润新知