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

Xin Wang updated ROCKETMQ-157:
------------------------------
    Description: 
# 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.

 

 

  was:As we all know, Apache Avro(http://avro.apache.org) is a popular data 
serialization system. It will bring strong features and improvements if Rocket 
integrate with it.


> 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)

Reply via email to