bunny gem を使用して、json 文字列であるメッセージを rabbitmq サーバーに公開しています。コードは次のとおりです。
def send_rabbitmq value
conn = Bunny.new(:host => "xxx.xxx.xxx.xxx", :vhost => "/", :user => "abc", :password =>"123")
conn.start
ch = conn.create_channel
ch.basic_publish( value ,"exchange.x", "routing.key", :payload_encoding => "string")
sleep 1.0
end
ただし、rabbitmq サーバーから取得するのは、base64
. 公開するメッセージ(コード内の値)は 90000 サイズを超えています。すべての文字列をエンコード ツールにコピーして、乱雑な文字列を でデコードすることbase64
で解決します。公開されたデータは、角かっこ、コンマ、またはいくつかのキー/値がないため、切り捨てられているようです。
それで、ここに私の質問があります.rabbitmqに巨大なメッセージを公開することは提案されていませんが、なぜデータがbase64にエンコードされ、なぜ切り捨てられるのか.
何か案は?どうも。