<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                微服務系列 | Nacos云原生配置中心介紹與使用 ## 概述 本文主要學習和使用 nacos 配置中心,從 nacos 配置中心原理出發,深入到實際項目中的nacos配置中心使用。 應用程序在啟動和運行的時候往往需要讀取一些配置信息,配置基本上伴隨著應用程序的整個生命周期,比如:數據庫連接參數、啟動參數等。應用程序根據配置改變自身的行為,但一般程序不會去修改配置。 對于配置,大家在日常開發中應該很熟悉。配置的加載有多種方式,其中硬寫代碼在應用中的方式最不可取的,而配置文件、環境變量、啟動參數、甚至數據庫的方式。 在微服務架構中多機器、多應用、多實例的情況下也有很大不足,會使得配置分散,不易于管理。想象一下,如果你啟動了一個服務的多個實例,一旦配置需要更改,在沒有配置中心的情況,你得將每個實例的配置信息改一遍,這將是非常繁瑣且低效的工作。 > 配置中心就是一種統一管理各種應用配置的基礎服務組件,它將將配置從各應用中剝離出來,對配置進行統一管理,應用自身不需要自己去管理配置。 ### 什么是Nacos? Nacos 致力于幫助您發現、配置和管理微服務;是微服務/SOA架構體系中服務治理環節的重要成員服務;簡單的可以把Nacos理解為一個配置中心和一個服務注冊中心。 ### 什么時候用Nacos? * 當我們的服務越來越大、越來越復雜,需要配置的地方越來越多,配置存放的地方也越來越多的時候,為了可以方便統一管理配置,這時候就可以引入Nacos。 * 當我們的服務越來越多,有些時候部署需要做到彈性伸縮,需要用到一些負載策略的時候,可以引入Nacos進行服務的治理。 ## nacos 基本配置信息 * **namespace**:命名空間,默認`public`,標識不同執行環境,如:`dev`,`test`,`prod` … * **group** :組標識,默認`DEFAULT_GROUP`,標識不同項目,如:`ORDER_GROUP`,`USER_GROUP` … * **DataId**:文件唯一標識,簡單理解為文件名(在同組中唯一)。 > 如:`dev_ORDER_GROUP_application.yaml` 表示` dev環境_訂單項目_ application.yaml`配置文件。 ![](https://img.kancloud.cn/d1/73/d1730f07ef0bea843a045c888427996d_715x159.png) ## 配置中心使用 ### nacos 服務端 這里使用Docker 快速開始,詳細可以參考官方文檔:https://nacos.io/zh-cn/docs/quickstart/quick-start-docker/ > 部署登錄成功界面如下所示: ![](https://img.kancloud.cn/16/0a/160a93dccafece66f8f5b8825480b114_1042x544.png) ### nacos 客戶端 客戶端使用兔子大佬的webman的nacos插件:https://www.workerman.net/plugin/50 **安裝** ``` composer require workbunny/webman-nacos ``` **配置** 配置文件`plugin/workbunny/webman-nacos/app.php` ``` ... 'host' => '192.168.3.29', 'port' => 8848, 'username' => 'nacos', 'password' => 'nacos', ... ``` 以上配置文件主要修改一下nacos的主機端口以及賬號和密碼。配置完確認無誤后,就可以啟動webman了。 > 啟動界面如下所示: ![](https://img.kancloud.cn/0a/d6/0ad6a61ce9b4314d5ce3b83f9cc20bef_1606x393.png) ### 配置文件 新建`webman`命名空間 ![](https://img.kancloud.cn/9f/64/9f64b012ad2b02d8ab4bc87cedd02a49_1028x296.png) 在`webman`命名空間下新增`config.yaml`配置文件 ![](https://img.kancloud.cn/81/2a/812a2c5a3a416c7c04a8ec9e8f5f1561_1090x334.png) ![](https://img.kancloud.cn/27/65/2765d8cfc1ee24116e1e2ecd131ebc7c_1089x691.png) `config.yaml`配置文件內容 ``` # Redis配置 redis: master: host: '192.168.3.29' port: 6379 password: '123456' # MySQL數據庫 mysql: master: host: '127.0.0.8' port: 3306 username: 'root' password: '123456' ``` ## 項目中動態讀取配置 運行項目查看配置結果是否一致。定義測試控制器`IndexController`,讀取redis默認配置項代碼 ``` <?php /** * @desc 微服務系列 | Nacos云原生配置中心介紹與使用 * @author Tinywan(ShaoBo Wan) * @date 2024/6/16 20:14 */ declare(strict_types=1); namespace app\controller; use support\Request; use support\Response; class IndexController { /** * @desc nacos * @param Request $request * @return Response * @author Tinywan(ShaoBo Wan) */ public function nacos(Request $request): Response { $config = \config('redis.default'); return json(['code' => 0, 'msg' => 'ok', 'data' => $config]); } } ``` 訪問地址:`http://127.0.0.1:8787/index/nacos` > 請求結果如下: ```json { "code": 0, "msg": "ok", "data": { "host": "192.168.3.29", "port": 6379, "password": "123456", "database": 0 } } ``` 嘗試修改nacos配置中心redis配置的密碼配置,由`123456`修改為`nacos-resty-123456` > 修改前后內容比較 ![](https://img.kancloud.cn/24/1c/241c883ef28d2f7e95f734953fa97f54_1523x538.png) webman終端監控日志打印輸出 ``` POST /nacos/v1/cs/configs/listener?Listening-Configs=config.yaml%02DEFAULT_GROUP%0294dcc283232b714a5ea3fe4d411b308e%0225cb4090-bb73-4134-aa49-7292b6755b22%01&accessToken=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTcxODQ4NTkzMH0.A4W57FBg02RR-UQ8omz7Z4RhWVxlMZ7svykin-bNQcs HTTP/1.1 Host: 192.168.3.29:8848 User-Agent: workerman/http-client Connection: keep-alive, keep-alive Long-Pulling-Timeout: 30000 /var/www/plugin.admin.webman/config.yaml update and reload. Workerman[start.php] reloading POST /nacos/v1/cs/configs/listener?Listening-Configs=config.yaml%02DEFAULT_GROUP%029baa48521801e997b2fb2e0a2d47cafb%0225cb4090-bb73-4134-aa49-7292b6755b22%01&accessToken=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTcxODQ4NTkzNX0.M8CXTy7f_xuTM4cpNqcpaMMIyeENw3eghtcNSoA2Oik HTTP/1.1 Host: 192.168.3.29:8848 User-Agent: workerman/http-client Connection: keep-alive, keep-alive Long-Pulling-Timeout: 30000 ``` **通過項目重新讀取配置信息** ```json { "code": 0, "msg": "ok", "data": { "host": "192.168.3.29", "port": 6379, "password": "nacos-resty-123456", "database": 0 } } ``` 查看歷史修改記錄的詳情 ![](https://img.kancloud.cn/66/28/6628a04c00d77b5205dc455332a0086a_1105x614.png) 可以通過歷史記錄進行回滾 ![](https://img.kancloud.cn/ee/99/ee999d44f5432c25adfbaabafbd7e6db_1110x593.png) 監聽查詢 ![](https://img.kancloud.cn/1c/25/1c25db7e7b69a79c5e21a8e4f6a9b89d_1236x344.png) ## 小結 本文主要介紹了webman如何集成Nacos作為配置中心。本次主要通過webman nacos插件來使用Nacos作為配置中心和發現中心,代碼示例僅展示配置中心的使用,發現中心的使用建議參考官方文檔說明。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看