亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么 Kafka 不能使用 Java Serializable 接口

為什么 Kafka 不能使用 Java Serializable 接口

忽然笑 2023-06-04 15:13:32
在普通的舊 Java 中,如果我實現一個帶有 Serializable 接口的類,Java 會負責序列化該類的實例,反之亦然。如果我們使用 Kafka,為什么我們需要提供一個單獨的 Serializer 和 Deserializer 類?如果類實現了 Serializable,為什么 Kafka 不能使用與 Java Runtime Engine 相同的機制來序列化和反序列化實例?你能解釋一下嗎?
查看完整描述

1 回答

?
30秒到達戰場

TA貢獻1828條經驗 獲得超6個贊

為了回答您的問題,Kafka 使用了一個單獨的 Serializer 和 Deserializer 類,以便應用程序可以選擇要使用的序列化格式。它是一種增加靈活性的可插入方法。

Kafka 確實“附帶”了兩個默認序列化器,一個字節和字符串反序列化器,因為您注意到這些都沒有使用 Java 序列化。正如其他評論提到的,當編寫器和讀取器應用程序緊密耦合、使用相同版本的 java 等時,經常會看到 java 序列化。在無法做出這些假設的環境中,問題變得更加明顯。像使用 Kafka 的環境。Kafka 在其 API 中也支持其他編程語言。

如果這是一個硬性要求,您可以使用默認字節反序列化器以字節形式從 java 中讀取消息,然后對這些消息進行后處理。您編寫的消息將是一個字節字符串,對應于您的 java 序列化對象。這基本上使用 Kafka 作為字節傳遞。


查看完整回答
反對 回復 2023-06-04
  • 1 回答
  • 0 關注
  • 175 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號