河南建站网站,网站底部导航,上海网站建设定制开发,办公装修设计本文主要记录如何在本地搭建Nacos调试环境来进一步学习其源码#xff0c;如果你也刚好刷到这篇文章#xff0c;希望对你有所帮助。
1、本地环境准备 Maven: 3.5.4 Java: 1.8 开发工具#xff1a;idea 版本控制工具: git 2、下载源码
官方仓库地址 #xff1a;https://git…本文主要记录如何在本地搭建Nacos调试环境来进一步学习其源码如果你也刚好刷到这篇文章希望对你有所帮助。
1、本地环境准备 Maven: 3.5.4 Java: 1.8 开发工具idea 版本控制工具: git 2、下载源码
官方仓库地址 https://github.com/alibaba/nacos
#下载源码
git clone https://github.com/alibaba/nacos.git# 选择2.4.3 分支
cd nacos
git checkout 2.4.3
接下来将项目导入idea中选择maven compile一下
3、启动server端
入口在console模块 com.alibaba.nacos.Nacos 启动前先编辑一下设置成单机模式启动
-Dnacos.standalonetrue启动后观察控制台日志显示成功启动
2024-12-06 11:14:03.709 INFO 18384 --- [ main] s.a.ScheduledAnnotationBeanPostProcessor : No TaskScheduler/ScheduledExecutorService bean found for scheduled processing
2024-12-06 11:14:03.729 INFO 18384 --- [ main] c.a.n.c.l.StartingApplicationListener : Nacos started successfully in stand alone mode. use embedded storage
2024-12-06 11:14:04.095 INFO 18384 --- [7)-192.168.22.3] o.s.web.servlet.DispatcherServlet : Initializing Servlet dispatcherServlet
2024-12-06 11:14:04.096 INFO 18384 --- [7)-192.168.22.3] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms在浏览器里输入http://localhost:8848/nacos/index.html 至此已经启动成功了
4、写个demo尝试注册一下
这个我是在client模块下的test包中添加了一个类com.alibaba.nacos.client.naming.MyTest 通过Nacos 工厂类获取了一个NamingService 对象然后假设存在一个testService的服务通过调用registerInstance方法将其注册到Nacos。
/*** description:* date: 2024/12/5**/
public class MyTest {public static void main(String[] args) throws NacosException {Properties properties new Properties();properties.setProperty(serverAddr, localhost);properties.put(PropertyKeyConst.NAMESPACE, public);//超时时间可以设置长点这样方便后面debug调试观察properties.put(CommonParams.NAMING_REQUEST_TIMEOUT, 10000);NamingService namingService NacosFactory.createNamingService(properties);namingService.registerInstance(testService, 127.0.0.1, 8080);System.out.println(服务注册成功!);}
}这里可以在最后一行打个断点方便观察运行main方法后我们去控制台页面查看一下发现已经注册上了 当然我们在实际项目中不会这样手动去注册服务通过引入spring-cloud-starter-alibaba-nacos-discovery包然后借助spring自动装配机制来进行自动注册熟悉spring的朋友应该会很清楚这点。