私はビッグデータエンジニアですが、バックエンドとして業務をやらざるを得なくなり、プロジェクトを引き継ぐことになりました、やってみよう!ナコスというものがあります。触っていないと動作せず、最適化されます。GRのspringcloudを担当しているビッグデータエンジニアです ネット上ではspringbootを統合して統合しろと言っている人が多いです 全然立ち上がれず、赤十字もエラーだらけなので、国内のデータ数を増やすためにブログでは、そのような虚偽の記事を放棄し、国内ブログのスタイルに倣い、信頼性を高めるためにこの記事を掲載しています。
そこで公式サイトに行ったのですが、公式サイトがまだ完成しておらず、特にクイックスタートの springboot-nacos がこれに従うと絶対に立ち上がれないので、最後に公式の git コードサンプルを見に行きました。 、それが違うことに気づくだけです。次にバージョンの問題ですが、nacos のどのバージョンが springBoot に対応しているのかは書いていませんでした。要するにこれらが問題で、nacos のブログにはさまざまな広告が溢れていて、テクノロジーに関する内容はほとんどありませんでした。長い間、インターネットと練習を続けてきましたが、ついにこの春、公式記事よりも完全な Boot-nacos 記事を書きました。
nacos は登録センターです。登録センターとは、つまり他のサービスを一つのサービスに引き継いで管理するというもので、他のサービスを管理するセンターを登録センターと呼びますが、どのような機能があるのでしょうか?これはアプリケーション内の元の構成であり、すべてインターネット (nacos) から構成され、その後動的に更新されます。
サーバーのバックエンドの学生がサーバーを構築したので、あとはコード内でクライアントを接続するだけです。
springBoot-web プロジェクトを作成し、nacos 公式サンプルで必要な依存関係、依存関係、および対応するバージョンをインポートします。赤でマークした部分を参照してください。
上記のコードでは、nacos は最初に依存関係をインポートします。
<?xml version="1.0"coding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3 .org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.5.6</version> < relativePath/> <!-- リポジトリから親を検索 --> </parent> <groupId>com.example</groupId> <artifactId>codeTest1</artifactId> <version>0.0.1-SNAPSHOT</version> <name>codeTest1</name> <description>codeTest1</description> <groupId>com.alibaba.boot</groupId> <プロパティ> <java.version>1.8</java.version> <nacos-config-spring-boot.version>0.2.1</nacos-config-spring-boot.version> </properties> < 依存関係> <依存関係> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <artifactId>nacos-config-spring-boot-starter</artifactId> <version>${nacos-config -spring-boot.version}</version> </dependency> <dependency> <groupId>com.alibaba.boot</groupId> <artifactId>nacos-config-spring-boot-actuator</artifactId> <version>${nacos-config-spring-boot.version} </version> </dependency> </dependency> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin > </プラグイン> </ビルド> </プロジェクト>
次に、デフォルトの springBoot 構成は application.properties と呼ばれ、nacos アドレスを構成します。
http は追加せず、IP とポート番号を直接書きます。
nacos.config.server-addr=192.168.9.31:8848
springApplication スタートアップ クラスで、注釈を追加し、指すデータ ID を選択して、自動更新を有効にします。
@SpringBootApplication @NacosPropertySource(dataId = "zhibo-test", autoRefreshed = true) public class CodeTestApplication { public static void main(String[] args) { SpringApplication.run(CodeTestApplication.class, args); } }
主にこれを追加しました @NacosPropertySource(dataId = "zhibo-test", autoRefreshed = true)
これはデータ ID の場所です (最初に作成するのではなく、後で作成します)
コード、コントローラーテストを書く
package com.example.codetest1.controller;
import com.alibaba.nacos.api.config.annotation.NacosValue;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import static org.springframework.web.bind.annotation.RequestMethod.GET;
@Controller
@RequestMapping
public class TestNacos {
@NacosValue(value = "${test:0}", autoRefreshed = true)
private String data;
@RequestMapping(value = "/get", method = GET)
@ResponseBody
public String get() {
return data;
}
}
@NacosValue(値 = "${test:0}", autoRefreshed = true)
nacos から test の値を取得することを示します。0 はそのデフォルト値を表します。nacos で zhibo-test を作成しなかった場合、リクエストを通じて戻り値は 0 になります。
nacos [server] で作成したデータ ID は test_zhibo にあるので、変更し、1 を追加し、test=123
その後、再度リクエストして、123 に変更されていれば、nacos が springBoot プログラムを動的に更新したことを意味します。
プロセス全体で springBoot サービスを再起動しませんでした
成功!
参考:
---詳しくは【公式サイトのコード例】を読むことをお勧めします。
https://mvnrepository.com/artifact/com.alibaba.boot/nacos-config-spring-boot-starter/0.2.7