我有一个服务A,该服务A通过该服务A的客户端包被多个微服务(内部)使用,该服务包包含MyRequest,MyResponse等模型。我们在客户端akka ask {{1}上使用akka-scala actor }模式。这是当前系统。
现在,我想在?
中添加属性x
。但是,当我部署它时,具有旧客户端的服务停止工作并且没有从服务A接收任何信息。我想将此更改以不间断的方式进行推送,因为它被多个服务使用,因此不可能更新所有他们一次。为此,我已经为case class MyResponse(a: Int, b: String, x: Option[String] = None)
添加了默认值。
需要帮助找出此处的错误以及使用akka系统发布此类更改的最佳方法是什么?
答案 0 :(得分:0)
仅就我的理解而言:您有带有案例类MyResponse(a:Int,b:String)的服务器A和带有MyResponse(a:Int,b:String,x:Option [String] = None)的服务器B? 如果是这样,听起来好像是不同的消息...服务器B向服务器A发送了无法处理的消息(如果这样,它将到达死字母Q)
如果B发送给A,则应该是部署步骤: 1.部署服务器A支持它的新消息 2.向服务器B部署新消息并开始使用它 3.从服务器B删除消息 4.从服务器A删除消息