Chapter 33. Data Interoperability
33.1. Protocol Interoperability
For instructions on how to enable compatibility mode refer to the Administration and Configuration Guide.
33.1.1. Use Cases and Requirements
Table 33.1. Compatibility Mode Use Cases
|Use Case||Client A (Reader or Writer)||Client B (Write/Read Counterpart of Client A)|
|1||Memcached||Hot Rod Java|
|2||REST||Hot Rod Java|
|4||Hot Rod Java||Hot Rod C++|
|5||Hot Rod Java||Hot Rod C#|
|6||Memcached||Hot Rod C++|
Personinstance, it would use a String as a key.
Client A Side
- A uses a third-party marshaller, such as Protobuf or Avro, to serialize the
Personvalue into a byte. A UTF-8 encoded string must be used as the key (according to Memcached protocol requirements).
- A writes a key-value pair to the server (key as UTF-8 string, the value as byte arrays).
Client B Side
- B must read a
Personfor a specific key (String).
- B serializes the same UTF-8 key into the corresponding byte.
- B invokes
- B obtains a byte representing the serialized object.
- B uses the same marshaller as A to unmarshall the byte into the corresponding
- In Use Case 4, the Protostream Marshaller, which is included with the Hot Rod Java client, is recommended. For the Hot Rod C++ client, the Protobuf Marshaller from Google (https://developers.google.com/protocol-buffers/docs/overview) is recommended.
- In Use Case 5, the default Hot Rod marshaller can be used.
33.1.2. Protocol Interoperability Over REST
application/json. Any other byte arrays are treated as