spring cload的基本使用(二)

2021-09-11 07:17:31 字數 3296 閱讀 4007

org.springframework.cloud

spring-cloud-starter-netflix-hystrix

@enablediscoveryclient

@enablecircuitbreaker

(一),降級方法寫在方法上面,這個時候降級方法,必須降級方法,必須跟方法的返回值和引數一致

@hystrixcommand(fallbackmethod = "defaultmethod")

public user querybyid(@pathvariable("id") long id)

public user defaultmethod(long id)
(二)降級方法寫在類上

在類上面新增註解

@defaultproperties(defaultfallback = "defaultmethod")
在方法新增註解

@hystrixcommand
編寫降級方法,降級方法不能有任何引數,但是返回值必須與上面的方法返回值一樣

public user defaultmethod()
hystrix:

command:

default:

execution:

isolation:

thread:

timeoutinmillisecond: 6000 # 設定hystrix的超時時間為6000ms

//@hystrixcommand(fallbackmethod = "defaultmethod")

@hystrixcommand(commandproperties = )

public user querybyid(@pathvariable("id") long id) )

public user querybyid(@pathvariable("id") long id) (一)。在yml檔案中將hystix的支援開啟

feign:

hystrix:

enabled: true # 開啟feign的熔斷功能

(二)。實現feign對請求路徑包裝的介面類,注意這個類,要交給sping來管理

@component

public class userclientimpl implements userclient

}

(三)將上面的實現類,配置到介面類上

@feignclient(value = "user-service",fallback = userclientimpl.class)
(一),壓縮是否開啟

feign:

compression:

request:

enabled: true # 開啟請求壓縮

response:

enabled: true # 開啟響應壓縮

(二),壓縮引數配置

feign:

compression:

request:

enabled: true # 開啟請求壓縮

min-request-size: 2048 # 設定觸發壓縮的大小下限

因為我們服務介面預設是對外暴露的,若是讓使用者直接訪問,會有一定得風險,但是如果為每乙個服務加上許可權驗證又過於複雜,因此我們需要使用zuul,zuul的作用,是使用者所有的請求全部攔截到zuul,然後zuul根據訪問路徑,來決定呼叫那乙個服務

org.springframework.cloud

spring-cloud-starter-netflix-zuul

org.springframework.cloud

spring-cloud-starter-netflix-eureka-client

@enablezuulproxy // 開啟zuul的閘道器功能

public static void main(string args)

}

server:

port: 10000

eureka:

client:

service-url:

defaultzone:

spring:

name: zuulgetway

zuul:

routes:

user-service: # 這裡是路由id,隨意寫

path: /user-service/** # 這裡是對映路徑

serviceid: user-service # 指定服務名稱 ,如果不使用eureka可以將路徑配置成下面形式

# url: # 對映路徑對應的實際url位址

zuul規則可以不寫,按照預設規則,所有的訪問路徑就是類似於下面這樣

http:// + zuul的ip和埠號 + 服務id + 具體的攔截路徑 + 引數

如果我們不想這麼麻煩的訪問,只想直接http://localhost:12306/cunsumer/2就訪問到具體的方法,我們進行如下配置

zuul:

routes:

consumer-service: # 這裡是路由id,隨意寫

path: /consumer/** # 這裡是對映路徑

serviceid: consumer-service # 指定服務名稱

strip-prefix: false # 即對映路徑裡面的consumer也作為訪問路徑

zuul:

ignored-services:

-user-service

@component

public class loginfilter extends zuulfilter

@override

public int filterorder()

@override

public boolean shouldfilter()

@override

public object run()

return null;

}

iOS MBProgressHUD的基本使用

方式1.直接在view上show hud mbprogresshud showhudaddedto self.view animated yes retain hud.delegate self 常用的設定 小矩形的背景色 hud.color uicolor clearcolor 這兒表示無背景 顯...

scanf gets getchar的基本使用

scanf 是在c語言中最常用的輸入函式,它需要我們嚴格按照要求進行輸入,除非你用對scanf 使用了正規表示式 對於scanf 當它遇到空格 回車 或者tab鍵時,都會自動停止輸入,剩下的內容逗留在緩衝區中,所以如果需要輸入字串,不推薦使用它。關於正規表示式 是個集合的標誌,特指讀入此集合所限定的...

PHP Elasticsearch的基本使用方法

一 連線elasticsearch 1 elasticsearch開啟之後,可以直接通過檢視基本資訊。2 將composer vendor下的檔案複製到ot thinkphp library vendor elasticsearch目錄下。3 連線elasticsearch,public es 初始...