首页IT科技nacos实现分布式锁(分布式配置nacos搭建踩坑指南(上))

nacos实现分布式锁(分布式配置nacos搭建踩坑指南(上))

时间2025-09-20 00:33:52分类IT科技浏览5195
导读:网上有不少nacos搭建的文章,阿里巴巴甚至出了一本<<Spring Cloud Alibaba从入门到实战>>的书,书名如下:...

网上有不少nacos搭建的文章                ,阿里巴巴甚至出了一本<<Spring Cloud Alibaba从入门到实战>>的书                      ,书名如下:

里面有讲到nacos分布式配置               。不清楚是作者没讲清楚       ,还是nacos,spring cloud版本等的问题                ,按照这些配置来搭建                       ,会碰到各种各样的问题       ,让你看不到预期的效果                       。本文章分上和下两篇        ,上篇讲典型的踩坑                       ,下篇讲详细的搭建               ,并附上源代码       。

踩坑1

现象:nacos安装文件下回来了        ,在windows dos下运行:startup.cmd,发现报异常:org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat                       ,截图如下

解决方案:这种情况是由于在单机运行               ,我们需要指定单机运行模式,正确运行方式是:.\startup.cmd -m standalone

踩坑2

现象:nacos运行起来了                       ,在Spring Cloud中也能够读取到nacos中配置的数据                      ,但当nacos刷新数据后,在Spring Cloud中居然读不到,SpringCloud 控制台Console输出如下:

o.s.c.e.event.RefreshEventListener :Refresh keys changed: [].仔细观察日志                ,发现应该是没有keys刷新                      ,要不然Refresh keys changed的数组不会是一个空值[].

解决方案:在bootstrap.properties里       ,一定要加上下面这几行:

上面的几个配置说明如下:

1)spring.cloud.nacos.config.namespace=bd1caf11-e4f1-4dd0-9a4b-2c32041c64e2

新建一个namespace,记住它的id,然后再此namespace下新建配置,例如下面新建了一个名为testnamespace的namespace                ,它的ID为bd1caf11-e4f1-4dd0-9a4b-2c32041c64e2                       ,在这个namespace下       ,新建了一个名为nacos-config-sample.properties的配置        。那么在spring cloud的bootstrap.properties里需要指明config的namespace.

2)spring.cloud.nacos.config.extension-configs[0].data-id=nacos-config-sample.properties

设置对应的data-id        ,格式是:应用名称.properties,例如项目名为:nacos-config-sample,故data-id为nacos-config-sample.properties                       。如下所示:

3)spring.cloud.nacos.config.extension-configs[0].refresh=true

这个配置必须加上                       ,否则获取不到刷新后的配置               。

声明:本站所有文章               ,如无特殊说明或标注        ,均为本站原创发布        。任何个人或组织                       ,在未征得本站同意时               ,禁止复制               、盗用                       、采集       、发布本站内容到任何网站        、书籍等各类媒体平台                       。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理               。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
python不同类型的数据不能相互运算怎么办(python不同类型变量如何计算)