我正在开发一个应用程序,我们需要从客户端以及从服务器向客户端发送一些数据。客户端使用C ++,服务器使用Java。数据将是实时的,并且是微批的;所以,性能是我们主要关注的问题。我们将Avro视为序列化格式。问题是我们的数据将非常小,但架构将足够大。 Avro每次发送数据时都会发送架构。这会使我们的数据文件变得庞大,不必要。
问题是:
1。)Avro是否可以只发送数据和架构版本?并且,将模式分别存储在客户端和服务器中。
2。)我是否应该考虑其他数据序列化技术,而不是Avro?
3。)对于这个特定的用例,普通的JSON格式然后压缩它会比Avro格式更紧凑吗?