Loading

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的命令行手动执行命令添加节点数据。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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\n" +
                    "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版本一致,否则会出现一些奇怪的错误。

  applicationContext.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
<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

1
2
3
4
5
6
7
8
9
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);
    }
}

 主方法:

1
2
3
4
5
6
7
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项目重新运行,应该就可以看到服务了。

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

 

 

posted @   秋风飒飒吹  阅读(975)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示