## Spring Cloud
* [1.ä»ä¹æ¯ Spring Cloudï¼](#1ä»ä¹æ¯-spring-cloud)
* [2.使ç¨Spring Cloudæä»ä¹ä¼å¿ï¼](#2使ç¨spring-cloudæä»ä¹ä¼å¿)
* [3.æå¡æ³¨åååç°æ¯ä»ä¹ææï¼Spring Cloudå¦ä½å®ç°ï¼](#3æå¡æ³¨åååç°æ¯ä»ä¹ææspring-cloudå¦ä½å®ç°)
* [4.Spring Cloudç±åªäºç»ä»¶ç»æï¼](#4spring-cloudç±åªäºç»ä»¶ç»æ)
* [5.ä»ä¹æ¯Hystrixï¼å®å¦ä½å®ç°å®¹éï¼](#5ä»ä¹æ¯hystrixå®å¦ä½å®ç°å®¹é)
* [6.ä»ä¹æ¯Hystrixæè·¯å¨ï¼æä»¬éè¦å®åï¼](#6ä»ä¹æ¯hystrixæè·¯å¨æä»¬éè¦å®å)
* [7.ä»ä¹æ¯Netflix Feignï¼å®çä¼ç¹æ¯ä»ä¹ï¼](#7ä»ä¹æ¯netflix-feignå®çä¼ç¹æ¯ä»ä¹)
* [8.Eurekaçå·¥ä½åçï¼](#8eurekaçå·¥ä½åç)
* [9.说说Eurekaçèªæä¿æ¤æºå¶ï¼](#9说说eurekaçèªæä¿æ¤æºå¶)
* [10.ä»ä¹æ¯zuul?](#10ä»ä¹æ¯zuul)
* [11.zuulç工使µç¨?](#11zuulç工使µç¨)
* [12.ä»ä¹æ¯æå¡çæï¼ä»ä¹æ¯æå¡é级ï¼](#12ä»ä¹æ¯æå¡çæä»ä¹æ¯æå¡é级)
* [13.ä»ä¹æ¯æå¡éªå´©æåº?](#13ä»ä¹æ¯æå¡éªå´©æåº)
* [14.ZuulFilteræåªäºå¸¸ç¨æ¹æ³ï¼](#14zuulfilteræåªäºå¸¸ç¨æ¹æ³)
* [15.å¦ä½å®ç°å¨æZuulç½å
³è·¯ç±è½¬åï¼](#15å¦ä½å®ç°å¨æzuulç½å
³è·¯ç±è½¬å)
* [16.ä»ä¹æ¯ Spring Cloud Bus?](#16ä»ä¹æ¯-spring-cloud-bus)
* [17.Spring Cloud Bus åçï¼](#17spring-cloud-bus-åç)
* [18.SpringCloud Configå¯ä»¥å®ç°å®æ¶å·æ°å?](#18springcloud-configå¯ä»¥å®ç°å®æ¶å·æ°å)
* [19.Eurekaåzookeeperé½å¯ä»¥æä¾æå¡æ³¨åä¸åç°çåè½ï¼ä¸¤è
çåºå«](#19eurekaåzookeeperé½å¯ä»¥æä¾æå¡æ³¨åä¸åç°çåè½ä¸¤è
çåºå«)
* [åè龿¥](#åè龿¥)
#### 1.ä»ä¹æ¯ Spring Cloudï¼
spring cloud æ¯ä¸ç³»åæ¡æ¶çæåºéåãå®å©ç¨ spring boot çå¼åä¾¿å©æ§å·§å¦å°ç®åäºåå¸å¼ç³»ç»åºç¡è®¾æ½çå¼åï¼å¦æå¡åç°æ³¨åãé
ç½®ä¸å¿ãæ¶æ¯æ»çº¿ãè´è½½åè¡¡ãæè·¯å¨ãæ°æ®çæ§çï¼é½å¯ä»¥ç¨ spring boot çå¼å飿 ¼åå°ä¸é®å¯å¨åé¨ç½²ã
#### 2.使ç¨Spring Cloudæä»ä¹ä¼å¿ï¼
使ç¨Spring Bootå¼ååå¸å¼å¾®æå¡æ¶ï¼æä»¬é¢ä¸´ä»¥ä¸é®é¢
- ä¸åå¸å¼ç³»ç»ç¸å
³ç夿æ§-è¿ç§å¼éå
æ¬ç½ç»é®é¢ï¼å»¶è¿å¼éï¼å¸¦å®½é®é¢ï¼å®å
¨é®é¢ã
- æå¡åç°-æå¡åç°å·¥å
·ç®¡ç群éä¸çæµç¨åæå¡å¦ä½æ¥æ¾åäºç¸äº¤è°ã宿¶åä¸ä¸ªæå¡ç®å½ï¼å¨è¯¥ç®å½ä¸æ³¨åæå¡ï¼ç¶åè½å¤æ¥æ¾å¹¶è¿æ¥å°è¯¥ç®å½ä¸çæå¡ã
- åä½-åå¸å¼ç³»ç»ä¸çåä½é®é¢ã
- è´è½½å¹³è¡¡ --è´è½½å¹³è¡¡æ¹åè·¨å¤ä¸ªè®¡ç®èµæºçå·¥ä½è´è·ï¼è¯¸å¦è®¡ç®æºï¼è®¡ç®æºé群ï¼ç½ç»é¾è·¯ï¼ä¸å¤®å¤çåå
ï¼æç£ç驱å¨å¨çåå¸ã
- æ§è½-é®é¢ ç±äºåç§è¿è¥å¼é导è´çæ§è½é®é¢ã
- é¨ç½²å¤ææ§-Devopsæè½çè¦æ±ã
#### 3.æå¡æ³¨åååç°æ¯ä»ä¹ææï¼Spring Cloudå¦ä½å®ç°ï¼
彿们å¼å§ä¸ä¸ªé¡¹ç®æ¶ï¼æä»¬é常å¨å±æ§æä»¶ä¸è¿è¡ææçé
ç½®ãéçè¶æ¥è¶å¤çæå¡å¼ååé¨ç½²ï¼æ·»å åä¿®æ¹è¿äºå±æ§å徿´å 夿ãæäºæå¡å¯è½ä¼ä¸éï¼èæäºä½ç½®å¯è½ä¼åçååãæå¨æ´æ¹å±æ§å¯è½ä¼äº§çé®é¢ã Eurekaæå¡æ³¨åååç°å¯ä»¥å¨è¿ç§æ
åµä¸æä¾å¸®å©ãç±äºæææå¡é½å¨Eurekaæå¡å¨ä¸æ³¨åå¹¶éè¿è°ç¨Eurekaæå¡å¨å®ææ¥æ¾ï¼å æ¤æ éå¤çæå¡å°ç¹ç任使´æ¹åå¤çã
#### 4.Spring Cloudç±åªäºç»ä»¶ç»æï¼
`Eureka`ï¼æå¡æ³¨åä¸åç°
`Zuul`ï¼æå¡ç½å
³
`Ribbon`ï¼å®¢æ·ç«¯è´è½½åè¡¡
`Feign`ï¼å£°ææ§çWebæå¡å®¢æ·ç«¯
`Hystrix`ï¼æè·¯å¨
`Config`ï¼åå¸å¼ç»ä¸é
置管ç
ç20å ä¸ªæ¡æ¶ï¼å¼æºä¸ç´å¨æ´æ°

#### 5.ä»ä¹æ¯Hystrixï¼å®å¦ä½å®ç°å®¹éï¼
Hystrixæ¯ä¸ä¸ªå»¶è¿å容éåºï¼æ¨å¨é离è¿ç¨ç³»ç»ï¼æå¡åç¬¬ä¸æ¹åºç访é®ç¹ï¼å½åºç°æ
鿝ä¸å¯é¿å
çæ
éæ¶ï¼åæ¢çº§èæ
éå¹¶å¨å¤æçåå¸å¼ç³»ç»ä¸å®ç°å¼¹æ§ã
é常对äºä½¿ç¨å¾®æå¡æ¶æå¼åçç³»ç»ï¼æ¶åå°è®¸å¤å¾®æå¡ãè¿äºå¾®æå¡å½¼æ¤åä½ã
æè以ä¸å¾®æå¡

åè®¾å¦æä¸å¾ä¸çå¾®æå¡9失败äºï¼é£ä¹ä½¿ç¨ä¼ ç»æ¹æ³æä»¬å°ä¼ æä¸ä¸ªå¼å¸¸ãä½è¿ä»ç¶ä¼å¯¼è´æ´ä¸ªç³»ç»å´©æºã
éçå¾®æå¡æ°éçå¢å ï¼è¿ä¸ªé®é¢å徿´å 夿ãå¾®æå¡çæ°éå¯ä»¥é«è¾¾1000.è¿æ¯hystrixåºç°çå°æ¹ æä»¬å°ä½¿ç¨Hystrixå¨è¿ç§æ
åµä¸çFallbackæ¹æ³åè½ãæä»¬æä¸¤ä¸ªæå¡employee-consumer使ç¨ç±employee-consumerå
¬å¼çæå¡ã
ç®åå¾å¦ä¸æç¤º

ç°å¨å设ç±äºæç§åå ï¼employee-producerå
¬å¼çæå¡ä¼æåºå¼å¸¸ãæä»¬å¨è¿ç§æ
åµä¸ä½¿ç¨Hystrixå®ä¹äºä¸ä¸ªåéæ¹æ³ãè¿ç§å夿¹æ³åºè¯¥å
·æä¸å
¬å¼æå¡ç¸åçè¿åç±»åã妿æ´é²æå¡ä¸åºç°å¼å¸¸ï¼ååéæ¹æ³å°è¿åä¸äºå¼ã
#### 6.ä»ä¹æ¯Hystrixæè·¯å¨ï¼æä»¬éè¦å®åï¼
ç±äºæäºåå ï¼employee-consumerå
¬å¼æå¡ä¼å¼åå¼å¸¸ãå¨è¿ç§æ
åµä¸ä½¿ç¨Hystrixæä»¬å®ä¹äºä¸ä¸ªåéæ¹æ³ã妿å¨å
¬å¼æå¡ä¸åçå¼å¸¸ï¼ååéæ¹æ³è¿åä¸äºé»è®¤å¼ã

妿firstPage method() ä¸çå¼å¸¸ç»§ç»åçï¼åHystrixçµè·¯å°ä¸æï¼å¹¶ä¸å工使ç¨è
å°ä¸èµ·è·³è¿firtsPageæ¹æ³ï¼å¹¶ç´æ¥è°ç¨åéæ¹æ³ã æè·¯å¨çç®çæ¯ç»ç¬¬ä¸é¡µæ¹æ³æç¬¬ä¸é¡µæ¹æ³å¯è½è°ç¨çå
¶ä»æ¹æ³çåºæ¶é´ï¼å¹¶å¯¼è´å¼å¸¸æ¢å¤ãå¯è½åççæ
嵿¯ï¼å¨è´è½½è¾å°çæ
åµä¸ï¼å¯¼è´å¼å¸¸çé®é¢ææ´å¥½çæ¢å¤æºä¼ ã

#### 7.ä»ä¹æ¯Netflix Feignï¼å®çä¼ç¹æ¯ä»ä¹ï¼
Feignæ¯åå°Retrofitï¼JAXRS-2.0åWebSocketå¯åçjava客æ·ç«¯èç¼ç¨åºãFeignç第ä¸ä¸ªç®æ æ¯å°çº¦æåæ¯ç夿æ§ç»ä¸å°http apisï¼èä¸èèå
¶ç¨³å®æ§ãå¨employee-consumerçä¾åä¸ï¼æä»¬ä½¿ç¨äºemployee-producer使ç¨REST模æ¿å
¬å¼çRESTæå¡ã
使¯æä»¬å¿
é¡»ç¼å大éä»£ç æè½æ§è¡ä»¥ä¸æ¥éª¤
- 使ç¨åè½åºè¿è¡è´è½½å¹³è¡¡ã
- è·åæå¡å®ä¾ï¼ç¶åè·ååºæ¬URLã
- å©ç¨RESTæ¨¡æ¿æ¥ä½¿ç¨æå¡ã åé¢ç代ç å¦ä¸
```java
@Controller
public class ConsumerControllerClient {
@Autowired
private LoadBalancerClient loadBalancer;
public void getEmployee() throws RestClientException, IOException {
    ServiceInstance serviceInstance=loadBalancer.choose("employee-producer");
    System.out.println(serviceInstance.getUri());
    String baseUrl=serviceInstance.getUri().toString();
    baseUrl=baseUrl+"/employee";
    RestTemplate restTemplate = new RestTemplate();
    ResponseEntity response=null;
    try{
    response=restTemplate.exchange(baseUrl,
            HttpMethod.GET, getHeaders(),String.class);
    }catch (Exception ex)
    {
        System.out.println(ex);
    }
    System.out.println(response.getBody());
}
```
ä¹åç代ç ï¼æåNullPointerè¿æ ·çä¾å¤çæºä¼ï¼å¹¶ä¸æ¯æä¼çãæä»¬å°çå°å¦ä½ä½¿ç¨Netflix Feign使å¼å«å徿´å è½»æ¾åæ¸
æ´ã妿Netflix Ribbonä¾èµå
³ç³»ä¹å¨ç±»è·¯å¾ä¸ï¼é£ä¹Feigné»è®¤ä¹ä¼è´è´£è´è½½å¹³è¡¡ã
#### 8.Eurekaçå·¥ä½åçï¼
`Eureka`ï¼æå¡æ³¨åä¸å¿ï¼å¯ä»¥æ¯ä¸ä¸ªé群ï¼ï¼å¯¹å¤æ´é²èªå·±çå°å
`æä¾è
`ï¼å¯å¨ååEureka注åèªå·±ä¿¡æ¯ï¼å°åï¼æä¾ä»ä¹æå¡ï¼
`æ¶è´¹è
`ï¼åEureka订é
æå¡ï¼Eurekaä¼å°å¯¹åºæå¡çæææä¾è
å°åå表åéç»æ¶è´¹è
ï¼å¹¶ä¸å®ææ´æ°
`å¿è·³(ç»çº¦)`ï¼æä¾è
宿éè¿httpæ¹å¼åEurekaå·æ°èªå·±çç¶æï¼æ¯30s宿¶åEurekaServerå起请æ±ï¼
#### 9.说说Eurekaçèªæä¿æ¤æºå¶ï¼
å½ä¸ä¸ªæå¡æªææ¶è¿è¡å¿è·³ç»çº¦æ¶ï¼å¨ç产ç¯å¢ä¸ï¼å 为ç½ç»å»¶è¿çåå ï¼æ¤æ¶å°±ææå¡åé¤å表并ä¸å¦¥å½ï¼å 为æå¡å¯è½æ²¡æå®æºã Eureka就伿å½åå®ä¾ç注åä¿¡æ¯ä¿æ¤èµ·æ¥ï¼ä¸äºåé¤ãç产ç¯å¢ä¸è¿å¾ææï¼ä¿è¯äºå¤§å¤æ°æå¡ä¾ç¶å¯ç¨ã使¯æå¯è½ä¼é æä¸äºææçæå¡è¢«å餿延è¿ã
#### 10.ä»ä¹æ¯zuul?
zuulæ¯å¯¹SpringCloudæä¾çæç对ç`è·¯ç±æ¹æ¡`ï¼ä»ä¼æ ¹æ®è¯·æ±çè·¯å¾ä¸åï¼ç½å
³ä¼å®ä½å°æå®çå¾®æå¡ï¼å¹¶ä»£ç请æ±å°ä¸åçå¾®æå¡æ¥å£ï¼ä»å¯¹å¤éè½äºå¾®æå¡ççæ£æ¥å£å°åã
ä¸ä¸ªéè¦æ¦å¿µï¼
- `å¨æè·¯ç±è¡¨`ï¼Zuulæ¯æEurekaè·¯ç±ï¼æå¨é
置路ç±ï¼è¿ä¿©ç§é½æ¯æèªå¨æ´æ°
- `è·¯ç±å®ä½`ï¼æ ¹æ®è¯·æ±è·¯å¾ï¼Zuulæèªå·±çä¸å¥å®ä½æå¡è§å以åè·¯ç±è¡¨è¾¾å¼å¹é
- `åå代ç`ï¼å®¢æ·ç«¯è¯·æ±å°è·¯ç±ç½å
³ï¼ç½å
³åçä¹åï¼å¨å¯¹ç®æ åé请æ±ï¼æ¿å°ååºä¹åå¨ ç»å®¢æ·ç«¯
Zuulçåºç¨åºæ¯ï¼ 坹夿´é²ï¼æéæ ¡éªï¼æå¡èåï¼æ¥å¿å®¡è®¡ç
#### 11.zuulç工使µç¨?
å¨Spring Cloud Netflixä¸ï¼Zuulå·§å¦çæ´åäºEurekaæ¥å®ç°é¢åæå¡çè·¯ç±ã
å®é
ä¸ï¼APIç½å
³å°èªå·±æ³¨åå°Eurekaæå¡æ³¨åä¸å¿ä¸ï¼ä¹ä¼ä»æ³¨åä¸å¿è·åæææå¡ä»¥åå®ä»¬çå®ä¾æ¸
åãå¨Eurekaç帮å©ä¸ï¼APIç½å
³å·²ç»ç»´æ¤äºç³»ç»ä¸ææ`serviceIdä¸å®ä¾å°åçæ å°å
³ç³»`ã彿å¤é¨è¯·æ±å°è¾¾APIç½å
³çæ¶åï¼æ ¹æ®è¯·æ±çURLæ¾å°æå¹é
çpathï¼APIç½å
³å°±å¯ä»¥ç¥éè¦å°è¯¥è¯·æ±"è·¯ç±"å°åªä¸ªå
·ä½çserviceIdä¸å»ã æç»éè¿`Ribbonçè´è½½åè¡¡çç¥`å®ç°è¯·æ±çè·¯ç±ã
#### 12.ä»ä¹æ¯æå¡çæï¼ä»ä¹æ¯æå¡é级ï¼
æå¡çæï¼
çææºå¶æ¯åºå¯¹`éªå´©æåº`çä¸ç§å¾®æå¡`é¾è·¯ä¿æ¤æºå¶`ã
å½æä¸ªå¾®æå¡ä¸å¯ç¨æè
ååºæ¶é´å¤ªé¿æ¶ï¼ä¼è¿è¡æå¡é级ï¼è¿èçæè¯¥èç¹å¾®æå¡çè°ç¨ï¼å¿«éè¿åâé误âçååºä¿¡æ¯ã彿£æµå°è¯¥èç¹å¾®æå¡è°ç¨ååºæ£å¸¸åæ¢å¤è°ç¨é¾è·¯ã
å¨SpringCloudæ¡æ¶éçææºå¶éè¿`Hystrix`å®ç°ï¼Hystrixä¼çæ§å¾®æå¡é´è°ç¨çç¶åµï¼å½å¤±è´¥çè°ç¨å°ä¸å®éå¼ï¼ç¼ºçæ¯5ç§å
è°ç¨20次ï¼å¦æå¤±è´¥ï¼å°±ä¼å¯å¨çææºå¶ã
æå¡é级ï¼
æå¡é级ï¼ä¸è¬æ¯ä»æ´ä½è´è·èèãå°±æ¯å½æä¸ªæå¡çæä¹åï¼æå¡å¨å°ä¸å被è°ç¨ï¼æ¤æ¶å®¢æ·ç«¯å¯ä»¥èªå·±åå¤ä¸ä¸ªæ¬å°ç`fallbackåè°`ï¼è¿åä¸ä¸ªç¼ºçå¼ã
#### 13.ä»ä¹æ¯æå¡éªå´©æåº?
éªå´©æåºæ¯å¨å¤§åäºèç½é¡¹ç®ä¸ï¼å½æä¸ªæå¡åç宿ºæ¶ï¼è°ç¨è¿ä¸ªæå¡çå
¶ä»æå¡ä¹ä¼åç宿ºï¼å¤§å项ç®çå¾®æå¡ä¹é´çè°ç¨æ¯äºéçï¼è¿æ ·å°±ä¼å°æå¡çä¸å¯ç¨éæ¥æ©å¤§å°å个å
¶ä»æå¡ä¸ï¼ä»è使æ´ä¸ªé¡¹ç®çæå¡å®æºå´©æºã
#### 14.ZuulFilteræåªäºå¸¸ç¨æ¹æ³ï¼
`Run()`ï¼è¿æ»¤å¨çå
·ä½ä¸å¡é»è¾
`shouldFilter()`ï¼å¤æè¿æ»¤å¨æ¯å¦ææ
`filterOrder()`ï¼è¿æ»¤å¨æ§è¡é¡ºåº
`filterType()`ï¼è¿æ»¤å¨æ¦æªä½ç½®
#### 15.å¦ä½å®ç°å¨æZuulç½å
³è·¯ç±è½¬åï¼
éè¿`path`é
ç½®æ¦æªè¯·æ±ï¼éè¿ `Serviceld`å°é
ç½®ä¸å¿è·å转åçæå¡å表ï¼zuulå
é¨ä½¿ç¨ `Ribbon`å®ç°æ¬å°è´è½½åè¡¡å转åã
#### 16.ä»ä¹æ¯ Spring Cloud Bus?
Spring Cloud Buså°±å个åå¸å¼æ§è¡å¨ï¼ç¨äºæ©å±ç Spring Bootåºç¨ç¨åºçé
ç½®æä»¶ï¼ä½ä¹å¯ä»¥ç¨ä½åºç¨ç¨åºä¹é´çéä¿¡ééã
Spring Cloud Busä¸è½åç¬å®æéä¿¡ï¼éè¦é
åMQæ¯æ
Spring Cloud Busä¸è¬æ¯é
åSpring Cloud Configåé
ç½®ä¸å¿ç
Spring Cloud config宿¶å·æ°ä¹å¿
é¡»éç¨ SpringCloud Busæ¶æ¯æ»çº¿
#### 17.Spring Cloud Bus åçï¼
åé端ï¼endpointï¼æé äºä»¶eventï¼å°å
¶publishå°contextä¸ä¸æä¸ï¼spring cloud busæä¸ä¸ªç¶ä¸ä¸æï¼bootstrapï¼ï¼ç¶åå°äºä»¶åéå°channelä¸ï¼json串messageï¼ï¼æ¥æ¶ç«¯ä»channelä¸è·åå°messageï¼å°message转为äºä»¶eventï¼ç¶åå°eventäºä»¶publishå°contextä¸ä¸æä¸ï¼æåæ¥æ¶ç«¯ï¼Listenerï¼æ¶å°eventï¼è°ç¨æå¡è¿è¡å¤çã
æ´ä¸ªæµç¨ä¸ï¼åªæåé/æ¥æ¶ç«¯ä»contextä¸ä¸æä¸åäºä»¶ååéäºä»¶æ¯éè¦æä»¬å¨ä»£ç ä¸æç¡®ååºæ¥çï¼å
¶å®é¨åé½ç±æ¡æ¶å°è£
宿ã
#### 18.SpringCloud Configå¯ä»¥å®ç°å®æ¶å·æ°å?
springcloud config宿¶å·æ°éç¨ `SpringCloud Bus`æ¶æ¯æ»çº¿
#### 19.Eurekaåzookeeperé½å¯ä»¥æä¾æå¡æ³¨åä¸åç°çåè½ï¼ä¸¤è
çåºå«
Zookeeperä¿è¯äºCP(Cï¼ä¸è´æ§ï¼Pï¼ååºå®¹éæ§)ï¼Eurekaä¿è¯äºAP(Aï¼é«å¯ç¨ï¼Pï¼ååºå®¹é)
1ãZookeeper-----å½å注åä¸å¿æ¥è¯¢æå¡å表æ¶ï¼æä»¬å¯ä»¥å®¹å¿æ³¨åä¸å¿è¿åçæ¯å åé以åçä¿¡æ¯ï¼ä½ä¸è½å®¹å¿ç´æ¥downæä¸å¯ç¨çãä¹å°±æ¯è¯´æå¡æ³¨ååè½å¯¹é«å¯ç¨æ§è¦æ±æ¯è¾é«ï¼ä½æ¯zkä¼åºç°è¿æ ·çä¸ç§æ
åµï¼å½masterèç¹å 为ç½ç»æ
éä¸å
¶ä»èç¹å¤±å»èç³»æ¶ï¼å©ä½çèç¹ä¼éæ°éleaderãé®é¢å¨äºï¼éåleaderçæ¶é´è¿é¿(30~120s)ï¼ä¸éåæé´zké群é½ä¸å¯ç¨ï¼è¿æ ·å°±ä¼å¯¼è´éåæé´æ³¨åæå¡ç«çªãå¨äºé¨ç½²çç¯å¢ä¸ï¼å ç½ç»é®é¢ä½¿å¾zké群失å»masterèç¹æ¯è¾å¤§æ¦çä¼åççäºï¼è½ç¶æå¡æç»æ¢å¤ï¼ä½æ¯æ¼«é¿çéæ©æ¶é´å¯¼è´ç注åé¿æä¸å¯ç¨æ¯ä¸è½å®¹å¿ç
2ãEurekaåçæç½è¿ä¸ç¹ï¼å æ¤å设计çä¼å
ä¿è¯äºé«å¯ç¨æ§ãEurekaå个èç¹é½æ¯å¹³ççï¼å 个èç¹ææä¸ä¼å½±åå°æ£å¸¸èç¹çå·¥ä½ï¼å©ä½çèç¹ä¾ç¶å¯ä»¥æä¾æ³¨ååæ¥è¯¢æå¡ãèEurekaç客æ·ç«¯ååæä¸ªEurekaæ³¨åæ¶å¦æåç°è¿æ¥å¤±è´¥ï¼åä¼èªå¨åæ¢è³å
¶ä»èç¹ï¼åªè¦æä¸å°Eurekaè¿å¨ï¼å°±è½ä¿è¯æ³¨åæå¡çå¯ç¨(ä¿è¯å¯ç¨æ§)ï¼åªä¸è¿æ¥å°çä¿¡æ¯å¯è½ä¸æ¯ææ°ç(ä¸ä¿è¯ä¸è´æ§)ã餿¤ä¹å¤Eurekaè¿æä¸ç§èªæä¿æ¤æºå¶ï¼å¦æå¨15åéå
è¶
è¿85%çèç¹é½æ²¡ææ£å¸¸å¿è·³ï¼é£ä¹Eureka就认为客æ·ç«¯ä¸æ³¨åä¸å¿åºç°äºç½ç»æ
éï¼æ¤æ¶å°±ä¼åºç°ä»¥ä¸å ç§æ
åµï¼
1>ãEurekaä¸å仿³¨åå表移é¤å ä¸ºé¿æ¶é´æ²¡æ¶å°å¿è·³èåºè¯¥è¿æçæå¡
2>ãEurekaä»ç¶è½å¤æ¥åæ°æå¡ç注ååæ¥è¯¢è¯·æ±ï¼ä½æ¯ä¸ä¼è¢«åæ¥å°å
¶å®èç¹ä¸(ä¿è¯å½åèç¹å¯ç¨)
3>ãå½ç½ç»ç¨³å®æ¶ï¼å½åå®ä¾æ°ç注åä¿¡æ¯ä¼è¢«åæ¥å°å
¶å®èç¹ä¸
Eurekaè¿æå®¢æ·ç«¯ç¼ååè½(Eurekaå为客æ·ç«¯ç¨åºåæå¡å¨ç«¯ç¨åºä¸¤ä¸ªé¨åï¼å®¢æ·ç«¯ç¨åºè´è´£å夿便³¨åä¸åç°æå¡æ¥å£)ãæä»¥å³ä¾¿Eurekaéç¾¤ä¸ææèç¹é½å¤±æï¼æè
åçç½ç»åéæ
é导è´å®¢æ·ç«¯ä¸è½è®¿é®ä»»ä½ä¸å°Eurekaæå¡å¨ï¼Eurekaæå¡çæ¶è´¹è
ä»»ç¶å¯ä»¥éè¿Eureka客æ·ç«¯ç¼åæ¥è·åææçæå¡æ³¨åä¿¡æ¯ãçè³ææç«¯çç¯å¢ä¸ï¼æææ£å¸¸çEurekaèç¹é½ä¸å¯¹è¯·æ±äº§çååºä¹æ²¡ææ´å¥½çæå¡å¨è§£å³æ¹æ¡æ¥è§£å³è¿ç§é®é¢æ¶ï¼å¾çäºEurekaç客æ·ç«¯ç¼åææ¯ï¼æ¶è´¹è
æå¡ä»ç¶å¯ä»¥éè¿Eureka客æ·ç«¯æ¥è¯¢ä¸è·å注åæå¡ä¿¡æ¯ï¼è¿ç¹å¾éè¦ï¼å æ¤Eurekaå¯ä»¥å¾å¥½çåºå¯¹ç½ç»æ
é导è´é¨åèç¹å¤±å»èç³»çæ
åµï¼èä¸åZookeeper飿 ·ä½¿æ´ä¸ªæ³¨åæå¡ç«çªã
#### åè龿¥
https://blog.csdn.net/qq_39827935/article/details/96282405
https://blog.csdn.net/moakun/article/details/82817757
https://www.imooc.com/article/309292