Feign實現GZIP壓縮

2021-10-04 05:23:07 字數 2083 閱讀 2138

spring cloud feign 支援對請求和響應進行gzip壓縮,以提高通訊效率。
fegin預設的client對響應流不支援對gzip後的位元組流進行解析,所以在序列化成物件時會存在解析問題。我們可以使用過濾器實現。開始實現。

1.依賴引入,pom檔案新增feign-httpclient,將feign的http元件改為okhttp

//(使用okhttp)

feign.compression.request.enabled=

true

//開啟請求壓縮

feign.compression.request.min-request-size=

1024

//設定請求大小,1024kb以上開始壓縮

feign.compression.response.enabled=

true

//響應壓縮

feign.compression.response.usegzipdecoder=

true

//響應解碼3.配置啟動類

//啟用fegin註解

@enablefeignclients

//啟用過濾器,下面使用當前過濾器所在包名

@servletcomponentscan

(basepackages =

)public

class

}4.配置過濾器

@webfilter

(filtername=

"gzipfilter"

,urlpatterns=

"/*"

)@slf4j

public

class

gzipfilter

implements

filter

filterchain.

dofilter

(request,servletresponse);}

public

class

extends

@override

public servletinputstream getinputstream()

throws ioexception

@override

public

boolean

isfinished()

@override

public

boolean

isready()

@override

public

void

setreadlistener

(readlistener arg0)};

return newstream;

}catch

(exception e)

return stream;}}

}

使Apache實現gzip壓縮

apache預設的http.conf配置檔案中沒有開啟gzip壓縮,apache1.3.x可以用mod gzip進行優化網頁瀏覽的速度,在apache2中也嘗試用mod gzip,但是配置後確發現網頁不能正確顯示 空白頁 所以改換為mod deflate。下面說一下怎樣在apache2下開啟gzip...

使Apache實現gzip壓縮

apache預設的http.conf配置檔案中沒有開啟gzip壓縮,apache1.3.x可以用mod gzip進行優化網頁瀏覽的速度,在apache2中也嘗試用mod gzip,但是配置後確發現網頁不能正確顯示 空白頁 所以改換為mod deflate。下面說一下怎樣在apache2下開啟gzip...

開啟gzip壓縮

前端gzip壓縮一直都是必備的,簡單又能能壓縮不少的檔案體積,用了好久了今天記錄一下。我們伺服器用的nginx,進入伺服器下nginx.conf檔案,gzip on gzip min length 1k gzip buffers 4 16k gzip comp level 4 壓縮程度,1 9,建議...