サービス登録及び発見の成分、Eureka2.0既にクローズドソースが、このチュートリアルは、コア拡張としてユーレカにあるとしてユーレカ。
1、三つのモジュール
春クラウドユーレカはNetflixのマイクロ春クラウド、ベースNetflixのユーレカは、第二のパッケージを作った一連のサービスの一つであり、サービス管理機能マイクロサービスアーキテクチャの完了を担当しています。
3重要なモジュールeuekaの、ユーレカ・サーバーは、サービス・プロバイダは、サービス・コンシューマー
ユーレカ・サーバー:サーバー、サービスの登録と発見、
ユーレカ・クライアント・サービス・プロバイダ:サーバー、サービスプロバイダ、HTTP経由に通知休みますサーバの登録、更新、サービスをキャンセルし、
ユーレカ・クライアント・サービス・コンシューマー:クライアント、サービス利用者は、http残りを介してサーバからサービスのリストのアドレスを取得する必要があり、その後、負荷の一部で呼び出し、サーバにポリシー(リボン)を均衡サービス。
2、ユーレカサーバ
ユーレカサーバーサービス登録データ記憶層は、二重のConcurrentHashMap(スレッドセーフで効率的な地図コレクション)です。
第一層キー= spring.application.nameアプリケーション名は、クライアント・インスタンスを登録し、値は、ネストされたConcurrentHashMapのです。
第二層=するinstanceIdすなわちサービス、IP、ポート、および他の特性を含むこの例の全てのオブジェクトリース、リースオブジェクトストア登録情報の値の一意のインスタンスIDキー。
Declareステートメントは、以下の通りである:
ConcurrentHashMapの決勝<文字列、地図のプライベート<文字列、ConcurrentHashMapの新しい新しい= <文字列のリース<InstanceInfo >>>レジストリ、地図<文字列、リース<InstanceInfo >>>();
サービスレジストリがデータベースに永続化されていない、私はそれがパフォーマンス上の理由から正しいと思います。すべての後、レジストリ情報は定期的に更新を取得する必要があります。
3.サービスを作成し、レジストリ--demo
導入のpom.xmlに依存して3.1、
<依存性> <! - www.1b23.com - > <依存> <groupIdを> org.springframework.boot </ groupIdを> <たartifactId>春・ブート・スターター・ウェブ</たartifactId> </依存関係> <依存関係> <のgroupId> org.springframework.cloud </のgroupId> <たartifactId>ばねクラウドスタータのNetflix、ユーレカサーバ</たartifactId> </依存> <依存性> <のgroupId> org.springframework.boot </のgroupId> <たartifactId>ばねブートスタータ試験</たartifactId> <スコープ>テスト</スコープ> </依存関係> </依存関係>
3.2、ユーレカサーバーの起動コード
//www.1b23.com @SpringBootApplication @EnableEurekaServer パブリッククラスEurekaServerApplication {パブリック静的無効メイン(文字列[] args){SpringApplication.run(EurekaServerApplication.class、引数)。 } }
主な役割@EnableEurekaServer EurekaServerオペレーティング環境およびコンテキストを開始することです。
3.3、アプリケーション構成ファイル
アプリケーション構成ファイルがXMLまたはYML構造とすることができ、私はXML構造を好む、YMLは、私は簡単に間違っていると思う、インデント形式です。
server.port = 8080
spring.application.name:ユーレカ・サーバー
ホスト名#サービスレジストリインスタンス
eureka.instance.hostname:ローカルホスト
#EurekaServerに自身を登録するかどうかを示し、デフォルトはtrueです。現在のアプリケーションは、それがfalseに設定され、EurekaServerあるのために
偽:eureka.client.register-と、ユーレカ
#表示表示是否从EurekaServer获取注册信息,默认为true。单节点不需要同步其他的EurekaServer节点的数据
eureka.client.fetch-registry: false
#设置Eureka的地址
eureka.client.service-url.defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
3.4、查看eureka server
访问http://localhost:8080/地址。如图上部分
Environment: 环境,默认为test,生产环境建议改下,看着顺眼
Data center: 数据中心,生产环境建议改下
Current time:当前的系统时间
Uptime:已经运行了多少时间
Lease expiration enabled:是否启用租约过期 ,自我保护机制关闭时,该值默认是true, 自我保护机制开启之后为false。
Renews threshold: 每分钟最少续约数,Eureka Server 期望每分钟收到客户端实例续约的总数。
Renews (last min): 最后一分钟的续约数量(不含当前,1分钟更新一次),Eureka Server 最后 1 分钟收到客户端实例续约的总数。
页面下部分:
total-avail-memory : 总共可用的内存
environment : 环境名称,默认test
num-of-cpus : CPU的个数
current-memory-usage : 当前已经使用内存的百分比
server-uptime : 服务启动时间
registered-replicas : 相邻集群复制节点
unavailable-replicas :不可用的集群复制节点,
available-replicas :可用的相邻集群复制节点
ipAddr:eureka服务端IP
status:eureka服务端状态