You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@rocketmq.apache.org by "Xin Wang (JIRA)" <ji...@apache.org> on 2018/01/27 11:23:00 UTC

[jira] [Work started] (ROCKETMQ-157) Serializer&Deserializer support for RocketMQ

     [ https://issues.apache.org/jira/browse/ROCKETMQ-157?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Work on ROCKETMQ-157 started by Xin Wang.
-----------------------------------------
> Serializer&Deserializer support for RocketMQ
> --------------------------------------------
>
>                 Key: ROCKETMQ-157
>                 URL: https://issues.apache.org/jira/browse/ROCKETMQ-157
>             Project: Apache RocketMQ
>          Issue Type: New Feature
>          Components: rocketmq-externals
>            Reporter: Xin Wang
>            Assignee: Xin Wang
>            Priority: Major
>
> # What is the purpose of the change
> RocketMQ-Serializer is a RocketMQ extend library for serializing and deserializing message body.
> Both APIs and implements(string, json, avro...) are included in this module.
> # Brief changelog
> ## APIs
> The core serializer & deserializer API are interfaces `RocketMQSerializer` and `RocketMQDeserializer`. 
> In order to centralized manage avro schemas, you can implement `SchemaRegistry` interface in `rocketmq-serializer-avro` module,
> and use `SchemaRegistry` registering and getting schemas.
> ## Implementations
> ### Supported Formats
> | Format | Serializer | Deserializer |
> | ------------- |:-------------:|:------:|
> | Raw String | Y | Y |
> | JSON | Y | Y |
> | Avro Generic | Y | Y |
> | Avro Specified | Y | Y |
> Some serializer performance research please refer to https://github.com/vongosling/jvm-serializer.
> ### User Defined Formats
> You can define your format just implements `RocketMQSerializer` and `RocketMQDeserializer`.
> ## Tools
> `Messages` provides methods like `newMessage` and `getMessageBody` to map between user class and byte array.
> `AvroUtils` provides methods `newGenericRecord` and `newSchema` to create avro records and schemas.
> ## Internals
> `rocketmq-serializer-avro` is powered by Apache Avro, and `rocketmq-serializer-json` is powered by fastjson.
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)