春節電影聽巳月說都還可以,我不信,我覺得還是要看看看過的觀眾怎麼說,於是我點開了流浪地球2 … 看起來好像不錯的樣子,8.2的評分,三十多億的票房 就是這評價也太多了,那我們今天就把網友對它的評論獲取下來,做成可視化詞雲圖看看大家討論最多的是什麼。 準備工作 使用的環境 Python 3.8 解釋器 ...
網上有不少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里,一定要加上下麵這幾行:
spring.cloud.nacos.config.namespace=bd1caf11-e4f1-4dd0-9a4b-2c32041c64e2 //指明命名空間id spring.cloud.nacos.config.extension-configs[0].data-id=nacos-config-sample.properties//指明properties的名稱,否則獲取不到刷新後的配置 spring.cloud.nacos.config.extension-configs[0].refresh=true //設置刷新refresu=true
上面的幾個配置說明如下:
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
這個配置必須加上,否則獲取不到刷新後的配置。