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版本一致,否则会出现一些奇怪的错误。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <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
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项目重新运行,应该就可以看到服务了。
点击详情,可以看到服务的详细信息。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· 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