本明細書の利点:押圧操作のステップかもしれない文字列一緒に
二つの部分、ユーレカ・サーバーとユーレカ・クライアントへの登録センター
I.概要:
1.eurekaサーバ:登録(追加)、サービスへのアクセス(問い合わせ):主要な保守サービスアドレス情報ユーレカ・クライアントは、二重のマップの使用は、その後、実際には、のようなこのマップ上の変更検索へのインターフェイスの追加および削除を提供し、 (削除)、同期(初期取得の全額、新規登録が同期を排除する)、およびキャッシュの二つのレベルを追加し、同期、および2つのタスクから削除を除くリニューアル(更新有効期限)、
2.eureka-クライアント:主なサービスは、新たな使命をタスク(増分の全額)を登録して得ることがあります
二つのカーディングコード.eurekaサーバ
ポンポン依存ユーレカ・サーバーを見つけ1.
<依存性> <! -ユーレカ服务注册中心起動- > <依存> <groupIdを> org.springframework.cloud </ groupIdを> <たartifactId>春・クラウド・スターター・ネットフリックス-ユーレカ・サーバー</たartifactId> </依存関係> <! -ユーレカ服务注册中心終わり- > </依存関係>
2.春 - クラウド・スターター・ネットフリックス - ユーレカ・サーバーをクリックして、次の依存性を見つけます
<依存> <groupIdを> org.springframework.cloud </ groupIdを> <たartifactId>春・クラウド・ネットフリックス-ユーレカ・サーバー</たartifactId> </依存関係>
3.検索春-クラウドNetflixの-ユーレカ・サーバー、およびポイントへ
、パッケージの下spring.factoriesを探しEnableAutoConfiguration下EurekaServerAutoConfigurationを見つけて、外出先でクリックし、このクラスは以下のクラスは、このクラスがロードされるかを分析ユーレカ・サーバーの自動負荷4をあります
PS:あなたは春ブーツのポイントを理解する必要が自動的にロードの知識
5.クリックし、春のブート起動クラスを見つけ@SpringBootApplicationコメント
6. @EnableAutoConfigurationのコメントを見つけて、クリックしてください
7.クラスをクリックして、@import({AutoConfigurationImportSelector.classを})以下探し
8.AutoConfigurationImportSelector ImportSelectorクラスが実装するインタフェース、このインターフェースは手動注入Beanインタフェースであります
PS:それは春の事前知識と理解されるべきです
図1は、下部クラスAutoConfigurationImportSelector図です。
彼らはステップの内容をスキャンMETA-INF、ここspring.factoriesをスキャン、赤いボックス法にクリック4
次のようにselectImport方法は、invokeBeanFactoryPostProcessorsにリフレッシュと呼ばれています。
9.进入EurekaServerAutoConfiguration类,@ConditonalOnBean就是后边的Marker类存在则加载本类,进入程序启动类,点击@EnableEurekaServer注解,这里加载了Marker类,所以这个注解是开启eureka-server.
进入程序启动类,点击@EnableEurekaServer
点击EurekaServerMarkerConfiguration
如下类注入了Marker,则激活了EurekaServerAutoConfiguration类(eureka-server自动装配类)
10.进入EurekaServerAutoConfiguration类
找到eurekaServerBootstrap方法,然后搜索PeerAwareInstanceRegistry注入的地方
11.找到PeerAwareInstanceRegistry,点击new InstanceRegistry方法,一直点super方法,最终定位到AbstractInstanceRegistry类,这个类中提供了注册,续约,服务获取,剔除等方法,如下图
12.服务同步和剔除任务则在如下Import的红框类中,这个类实现了SmartLifecycle接口,则在bean装载并初始化完后执行start方法
下图中sysup是服务同步方法,this.registry.openForTraffic方法则是启动剔除服务
三.eureka-client代码分析
略