サービスの登録と発見-Eureka(サービス管理)

1.Eurekaはじめ、  
   ユーレカは、サービス登録と発見を実現するためにNetflixのツールを生産しています。春の雲はユーレカを統合し、箱から出してサポートを提供します。これは、ユーレカサーバーとクライアントユーレカに細分化することができます。
  1、ユーレカは、Netflixのサービス発見フレームワークによって開発された春の雲がそれをサポートして提供し、彼らの春-クラウドNetflixのサブプロジェクトでそれを統合します。
  HTTPS://github.com/Netflix 2は、Githubの上のNetflixの企業は、オープンソース・プロジェクトの多くは、ユーレカは、Netflixのオープンソースホームひとつである
  3、NetflixのユーレカGitHubのオープンソースアドレスします。https://github.com/Netflix/eureka。弾力性の中間層のためのAWSサービスレジストリのロードバランシングとフェイルオーバー。(ユーレカは、 サービスレジストリAWS弾性中間層のロード・バランシングとフェイルオーバーです) 
  。4、それがユーレカREST(表象状態遷移層)サービス、主に基づいています負荷分散と中間層のフェイルオーバーサーバーのためのAWS(アマゾンウェブサービス-アマゾンウェブサービス)クラウドロケーションサービスのため。
  5、ビルドが理由のjava8を必要 java8(サーボ)しているいくつかの必要なライブラリが、ソースとターゲットの互換性はまだ1.7に設定されている。( そのうちのいくつかは、Java8を使用するライブラリを持っているので、JavaのJDK 1.8以降が必要ですユーレカプロジェクトをビルドします)
  6、Netflixのユーレカの公式文書します。https://github.com/Netflix/eureka/wikiは、最新バージョンは2019年1月11ですV1.9.9を更新します。
  7は、オリジナルバージョン2.xのNetflixのユーレカの公式ウェブサイトは、いくつかの理由で、後者は、メンテナンスの2.Xバージョンを停止したが、1.Xバージョンはまだ活発に開発、保守、および使用の下で、まだアクティブです。
2.Eureka基本的な特性は、

。サービスの開始時に(1)基本的な情報オブジェクトサービスInstanceInfoを生成し、それはサービス管理センタに登録を開始します。
(2)登録が完了すると、ローカルにキャッシュされ、サービス管理センターから、すべてのサービス情報を引っ張ってきます。
(3)サービスは、30代(設定)された後、ハートビート・メッセージは、サービス契約を送信します。
(4)サービス制御センターは、90年代におけるサービス契約を受信しない場合、サービスがハングアップされていると思いますが、サービス登録情報が削除されます。
サービスが停止される前に、(5)、サービスが求められていない要求を送信し、情報サービス管理センターは、このサービスを削除します停止。
(6)ユーレカサーバハートビートパケットは、85%(設定可能)の正常値未満受け取った場合、自己保護モードに入る。このモードでは、ユーレカServerサービスは、任意の情報を削除しません。
3.Eureka原則

image.png

公式ウェブサイトのアドレス:
https://github.com/Netflix/eureka/wiki/Eureka-at-a-glance
4.eureka Linuxプラットフォームのサービス管理スクリプトのコンテンツを開発する; 
!#/ビン/バッシュ
#構成情報
CURDIR = $(CDの$(DIRNAMEの $ {BASH_SOURCE [0]}); PWD)#### リモートスクリプト、自動的に現在のスクリプトを取得しますパス######## 
CD $ CURDIR 
のappName =ユーレカの
ホストeureka1-dev.com = 
ポート= 8000 
なmanagementport = $ {ポート} 
APPPATH = "/ CHJ /アプリケーション/ユーリカ/" 
クラスタ= HTTP:// eureka2- dev.com:8000/eureka,http://eureka3-dev.com:8000/eureka 
ゾーンクラスタ} = $ { 
JAR = "ユーレカ-k8s.jar" 
=メモリ512M 
########### ############################################### 

#サービスの設定情報
LOGDIR = "/ CHJ /データ/ログ/ appNameの{} $" 
ます。mkdir -p $ {LOGDIR} 
ソースファイル情報./script/fn.sh環境変数#### 
#の機能情報
機能fnstart(){
    nohupを$ {CMD} >> $ {LOGDIR} /console.log 2>&1&
    PROCESSID = $!
    エコー$ {PROCESSID}> $ {APPPATH} / PID 
    エコー"启动完毕" 
    エコー"PID为$ {PROCESSID}" 
} 

関数fnstop(){ 
    PIDファイル= "/ CHJ /アプリ/ユーレカ/ PID" 
    PROCESSID = $(猫$ {pidファイル})
    エコー"开始停止服务、PID为:$ {PROCESSID}が" 
    殺す$ {PROCESSID} 
    真> $ {pidファイル}  
    echo "を停止完毕" 
} 

関数fnrestart(){ 
    fnstopは
    fnstart 
    Trueを返す
} 


{)(関数fstatusを
  プロセス= $(猫$ {APPPATH} / PID)
  [-s $ {APPPATH} / PID]あれば
  、次に
      エコー" 
      "flase"エコー
  Fiの
} 


################################## 
場合$ 1 
        スタート)
            fnstart 
    ;; 

        ストップ)
            fnstop 
    ;; 
        再起動)
            fnrestart 
    ;; 
        インストール)
            fninstall 
    ;; 
         状態)
           fstatusの
ESACの

猫./script/fn.sh 
#!/ binに/ bashの
JAVA_OPS = " - -Xmx $ {}メモリ-Xms $ {メモリは} -verbose -d64サーバー:GC" 
JAVA_OPS = "$ {} JAVA_OPS - XX:+ PrintGCDateStamps -XX:+ PrintGCTimeStamps」
JAVA_OPS = "$ {JAVA_OPS} -XX:+ PrintGCDetails -XX:+ PrintTenuringDistribution -XX:+ PrintCommandLineFlags -XX:+ DisableExplicitGC" 
JAVA_OPS = "$ {JAVA_OPS} -XX:+ UseConcMarkSweepGCを-XX:+ UseParNewGC -XX:+ CMSParallelRemarkEnabled -Xloggc:$ {LOGDIR} /gc.log」
JAVA_OPS = "$ {JAVA_OPS} -Djava.security.egd =ファイル:/ devの/./ urandomの" 
JAVA_OPS = "$ {JAVA_OPS} -DappName = $ {appNameは}" 
CMD = "Javaの$ {JAVA_OPS} -dhost = $ {ホスト} -Dport = $ {ポート} -Dcluster = $ {クラスタ} -Dzone = $ {ゾーン} -jar $ {ジャー} --spring.profiles.active =ピア」


次のようにディレクトリ構造があります

image.png


パッケージには、アドレスが取得されます。

https://download.csdn.net/download/u011127348/10628971


おすすめ

転載: blog.51cto.com/breaklinux/2443934