将akka远程迁移到akka-http如何在没有大量工作的情况下序列化为json而不是protocolBuffer

时间:2018-01-07 10:56:55

标签: scala akka akka-http play-json akka-remote-actor

我在scala中已经存在一个应用程序,它使用akka-remote将消息从webserver发送到appserver。我将把它改为http请求。

我看到今天 akka-remote已经为我处理了所有序列化和反序列化而没有编写任何序列化器/反序列化器,但协议是协议缓冲区。

使用http请求 - 响应,我想使用json而不是protocol-buffer。

从webserver发送到appserver的消息是复杂的案例类。我不想编写所有的编写器/阅读器/格式化程序来执行json序列化,就像不需要使用akka远程编写协议缓冲区序列化一样。

是否有任何解决方案可以让我在不编写所有编写器/读者的情况下进行json序列化?

由于

1 个答案:

答案 0 :(得分:0)

使用circe JSON库。其他库如play json,spray json等都要求你为每个case类明确指定格式化程序。另一种方法是使用Avro序列化和schema-registry。它包含了json的一些附加信息,因此它也是可读的。这种方法需要一些例程来启动和运行,但它可以保护您免受向后不兼容的更改。