「SpringCloudAlibabaマイクロサービスアーキテクチャ」トピック(8)-Spring CloudAlibabaのNacos高可用性クラスター環境の構築

1はじめに

前回の調査では、SpringCloud上に構築されたマイクロサービスプロジェクトで、サービスEurekaの登録と発見を実現するための登録センターとして機能しました。このような組み合わせは、第1世代のSpringCloudマイクロサービスでまだ多く使用されていました。SpringCloud拡張と拡張に基づく独自のマイクロサービスコンポーネントのいくつかとともに、第2世代のマイクロサービスSpring Cloud Alibabaが登場しました。これらのコンポーネントのいくつかはまだ比較的高いです。たとえばnacosnacos登録センターと構成センターが統合されているため、必要性第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するファイルのポート番号を884888498850
ここに画像の説明を挿入します

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つだけ登録してください。
ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/BruceLiu_code/article/details/113863722