目次
1はじめに
前回の調査では、SpringCloud上に構築されたマイクロサービスプロジェクトで、サービスEureka
の登録と発見を実現するための登録センターとして機能しました。このような組み合わせは、第1世代のSpringCloudマイクロサービスでまだ多く使用されていました。SpringCloud
拡張と拡張に基づく独自のマイクロサービスコンポーネントのいくつかとともに、第2世代のマイクロサービスSpring Cloud Alibabaが登場しました。これらのコンポーネントのいくつかはまだ比較的高いです。たとえばnacos
、nacos
登録センターと構成センターが統合されているため、必要性第1世代のマイクロサービスでは、構成ファイルをメッセージバスSpring Cloud Config
と組み合わせてSpring Cloud Bus
構成ファイルを動的に更新する必要があり、構成ファイルをGitバージョンコントロールライブラリに保存する必要があります。これは面倒で、Nacosが付属しています。動的に構成してログインできるコンソールインターフェイスを備えています。バックグラウンドインターフェイスでは、管理が非常に便利です。
2.ユーレカクラスターとナコスクラスターの違い
ご存知のとおり、Eureka
コアは分散化です。つまり、Eureka Serverサービスをクラスター化する必要がある場合、それらEureka Server
は相互に登録します。サーバーが複数ある場合は、相互に登録します。次の8つの単語を使用できます。 「あなたとあなたは私の中にいます。」「理解すると、集中化とは、複数のクラスターノードにボスがあり、分散化にはボスがいないことを意味します。誰もがボスであり、誰もが平等であり、複数のノードが平等です。nacos
複数のノードをクラスターとして使用する場合は、マスターノードが必要になるため、選出プロセスがあります。
3.ケース
プロジェクト環境が次のようにデプロイされていると仮定すると、クライアントは最初にアクセスしNginx
、次にNginx
パスしnacos
、次に次の特定のサブサービスに、次にキャッシュに、そして最後に到着しDB
ます。Nginx
ここでは1つしかないと仮定します。次にnacos
、クラスター化する方法を考えます。次の3つのノード?
4.Nacosクラスターの展開と構築
促す:
Nacos
クラスター展開は、nacos-serverが提供するcluster.conf
構成ファイルでクラスターノードのIP +ポート
アドレスを構成することであり、複数のノードが複数のIP+Port
アドレスを書き込むことができます。それ自体cluster.conf
がクラスター展開を必要とするシナリオを提供します。非常に単純であると言えます。ここで、クラスターノードのIPアドレスはイントラネットのIPでなければならないことを強調する必要があります。
4.1.cluster.confの名前を変更します
ここでは、最初にnacos-server
インストールパッケージの場所を見つけ、cluster.config.example
ディレクトリでファイルを見つけ、名前をcluster.conf
次のように変更します。
4.2。クラスターノード構成の編集
cluster.conf
ファイルを開きます。デフォルトの内容は次のとおりです。
#it is ip
#example
10.10.109.214
11.16.128.34
11.16.128.36
3つのユニットnacos
は、192.168.1.6:8848、192.168.1.6:8849、および192.168.1.6:8850であると想定されています。上記のデフォルト構成を次の構成に置き換えます。
192.168.1.6:8848
192.168.1.6:8849
192.168.1.6:8850
ここで、192.168.1.6はイントラネットIPであり、ローカルクラスター環境のアドレスを127.0.0.1と書くことはできません。覚えておいてください。
その後、nacos-server
修正項、それぞれ、部品3をコピーapplication.properties
するファイルのポート番号を8848
、8849
、8850
。
5.ローカルHostsファイルを変更します
ディレクトリを見つけます:C:\Windows\System32\drivers\etc
次のhosts
ファイルを追加します:
6.Nginxを構成します
Nginxインストールディレクトリを見つけ、nginx.configファイルを構成し、アクセスドメイン名を構成します。3つのnacoswww.brucenacos.com
ノードに自動的にポーリングし
、構成nginx.config
構成を次のように変更します。
#user nobody;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
upstream brucenacos{
server 192.168.1.6:8848;
server 192.168.1.6:8849;
server 192.168.1.6:8850;
}
server {
listen 80;
server_name www.brucenacos.com;
location /nacos/ {
proxy_pass http://brucenacos/nacos/;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
ダブルクリックして開始するnginx.exe
と、http://www.brucenacos.com/
次のインターフェイスが表示され、nginxの構成に問題がなく、起動が成功したことを示します。
7.クラスターモードでnacosを起動します
注:Windwos環境では、デフォルトのスタートアップはシングルトンです。nacosがクラスターノードを構成している場合、デフォルトのスタートアップ方法でstartup.cmdをダブルクリックすることはできません。この方法は、クラスターノードモードではなく、デフォルトでシングルトンスタートアップです。開始するので、nacos-8848、nacos-8849、nacos-8850の3つのノードを開始し、次のコマンドで開始します。
startup.cmd -m cluster
コンソールからはクラスターモードでnacos-8848
起動していることがわかります。nacos-8849
コンソールからはクラスターモードで起動していることがnacos-8850
わかります。コンソールからはクラスターモードで起動していることがわかります。AccessNginx:http://www.brucenacos.com/nacos/
8.まとめ
要約1:ノードが1つLEADER
または2つあることがわかりました。つまりFOLLOWER
、ノードの1つがダウンすると、適切なLEADER
ノードを選択するための再選出プロセスが発生します。
概要2:クラスター環境では、SpringCloud
マイクロサービスプロジェクトでは、サービス登録を変更する必要はなく、1nacos
つだけ登録します。サービスが特定のノードに登録されると、他のノードと自動的に同期され、最下層はRaftアルゴリズムを介しています。データの整合性を維持するという問題を認識してください。
まとめ3:
Nacosは、Windowsバージョンではデフォルトでスタンドアロンモードで実行され、クラスター操作では実行コマンドを指定する必要があります。startup.cmd -m cluster
Linuxバージョンでは、Nacosはデフォルトでクラスターモードで実行されます。スタンドアロンマシンとして起動する場合は、実行コマンドを指定する必要があります。 startup.cmd –m standalone
注:複数の登録済みアドレスをコンマで区切る必要はありません。1つだけ登録してください。