springcloud 啓動類註解說明

sprigcloud 註冊中心啓動類

package com.southwind;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@SpringBootApplication
@EnableEurekaServer
public class Test {
 public static void main(String[] args) {
 SpringApplication.run(Test.class,args);
 }
}

註解說明:
@SpringBootApplication :聲明該類是 Spring Boot 服務的⼊⼝。
@EnableEurekaServer :聲明該類是⼀個 Eureka Server 微服務,提供服務註冊和服務發現功能,即
註冊中⼼。

服務⽹關啓動類

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
@EnableZuulProxy
@EnableAutoConfiguration
public class ZuulApplication {
 public static void main(String[] args) {
 SpringApplication.run(ZuulApplication.class,args);
 }
}

註解說明:
@EnableZuulProxy :包含了 @EnableZuulServer ,設置該類是⽹關的啓動類。
@EnableAutoConfiguration :可以幫助 Spring Boot 應⽤將所有符合條件的 @Configuration 配
置加載到當前 Spring Boot 創建並使⽤的 IoC 容器中。

Ribbon 負載均衡:
Ribbon 是 Netflix 發佈的負載均衡器,Spring Cloud Ribbon 是基於 Netflix Ribbon 實現的,是⼀個⽤於對 HTTP 請求進⾏控制的負載均衡客戶端。在註冊中⼼對 Ribbon 進⾏註冊之後,Ribbon 就可以基於某種負載均衡算法,如輪詢、隨機、加權輪詢、加權隨機等⾃動幫助服務消費者調⽤接⼝,開發者也可以根據具體需求⾃定義 Ribbon 負載均衡算法。實際開發中,Spring Cloud Ribbon 需要結合 Spring Cloud Eureka 來使⽤,Eureka Server 提供所有可以調⽤的服務提供者列表,Ribbon 基於特定的負載均衡算法從這些服務提供者中選擇要調⽤的具體實例。

啓動類:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;
@SpringBootApplication
public class RibbonApplication {
 public static void main(String[] args) {
 SpringApplication.run(RibbonApplication.class,args);
 }
 @Bean
 @LoadBalanced
 public RestTemplate restTemplate(){
 return new RestTemplate();
 }
}

@LoadBalanced :聲明⼀個基於 Ribbon 的負載均衡。

Feign
與 Ribbon ⼀樣,Feign 也是由 Netflix 提供的,Feign 是⼀個聲明式、模版化的 Web Service 客戶端,
它簡化了開發者編寫 Web 服務客戶端的操作,開發者可以通過簡單的接⼝和註解來調⽤ HTTP API,
Spring Cloud Feign,它整合了 Ribbon 和 Hystrix,具有可插拔、基於註解、負載均衡、服務熔斷等⼀
系列便捷功能。
相⽐較於 Ribbon + RestTemplate 的⽅式,Feign ⼤⼤簡化了代碼的開發,Feign ⽀持多種註解,包括
Feign 註解、JAX-RS 註解、Spring MVC 註解等,Spring Cloud 對 Feing 進⾏了優化,整合了 Ribbon
和 Eureka,從⽽讓 Feign 的使⽤更加⽅便。
Ribbon 和 Feign 的區別
Ribbon 是⼀個通⽤的 HTTP 客戶端⼯具,Feign 是基於 Ribbon 實現的。
Feign 的tedian
1、Feign 是⼀個聲明式的 Web Service 客戶端。
2、⽀持 Feign 註解、Spring MVC 註解、JAX-RS 註解。
3、Feign 基於 Ribbon 實現,使⽤起來更加簡單。
4、Feign 集成了 Hystrix,具備服務熔斷的功能。

Hystrix 容錯機制
在不改變各個微服務調⽤關係的前提下,針對錯誤情況進⾏預先處理。
2、服務降級機制
3、熔斷機制
4、提供實時的監控和報警功能
5、提供實時的配置修改功能
Hystrix 數據監控需要結合 Spring Boot Actuator 來使⽤,Actuator 提供了對服務的健康健康、數據統
計,可以通過 hystrix.stream 節點獲取監控的請求數據,提供了可視化的監控界⾯。

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
import
org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;
import org.springframework.cloud.openfeign.EnableFeignClients;
@SpringBootApplication
@EnableFeignClients
@EnableCircuitBreaker
@EnableHystrixDashboard
public class HystrixApplication {
 public static void main(String[] args) {
 SpringApplication.run(HystrixApplication.class,args);
 }
}

註解說明:
@EnableCircuitBreaker :聲明啓⽤數據監控
@EnableHystrixDashboard :聲明啓⽤可視化數據監控

配置中心 啓動類加:

@EnableConfigServer :聲明配置中⼼。

服務跟蹤
中請求數據的組件,讓開發者可以更加直觀的監控到請求在
各個微服務所耗費的時間等,Zipkin:Zipkin Server、Zipkin Client。

啓動類加:
@EnableZipkinServer :聲明啓動 Zipkin Server

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章