雖然 rocketmq 沒有 kafka 的批量傳送的功能。但在傳送訊息的時候,如果訊息大小超過了 128k ,這條訊息是不允許傳送的。但如果訊息 大小超過了 4k,那麼,這條訊息將會被壓縮。
校驗工作的方法:
validators.checkmessage(msg, this.defaultmqproducer);
如果訊息大小 大於 4k,那麼,這條訊息將會被壓縮。
// 嘗試著去壓縮訊息。原生訊息 >4k ,將壓縮訊息
if (this.trytocompressmessage(msg))
這樣,最終 broker 儲存了是 經過壓縮後的訊息的。但在**解壓呢?其實,壓縮後的訊息是在 消費端進行解的。
rocketmq 的解壓訊息的工具類及方法:
解壓工具:utilall.uncoress
客戶端在拉取訊息後,會進行訊息的處理的,如果這條訊息是曾經壓縮過的,那麼,將會被解壓的。否則,按照正常邏。
壓縮解壓縮
壓縮 壓縮後的檔名 包含物理路徑 待壓縮的資料夾 包含物理路徑 public static void packfiles string filename,string directory catch exception 解壓縮 待解壓檔名 包含物理路徑 解壓到哪個目錄中 包含物理路徑 public ...
壓縮 解壓縮
linux使用最廣泛的壓縮格式位gz,使用gzip命令進行壓縮和解壓縮 1 gzip,gunzip,壓縮 解壓縮檔案,compress or expand files gzip acdfhkllnnrtvv19 s suffix name gunzip acfhkllnnrtvv s suffix ...
Linux 壓縮 解壓縮
1.以.a為副檔名的檔案 tar xv file.a 2.以.z為副檔名的檔案 uncompress file.z 3.以.gz為副檔名的檔案 gunzip file.gz 4.以.bz2為副檔名的檔案 bunzip2 file.bz2 5.以.tar.z為副檔名的檔案 tar xvzf file....