【问题标题】:How to share communication models between Akka microservices?Akka 微服务之间如何共享通信模型?
【发布时间】:2016-04-30 14:45:49
【问题描述】:

我们使用 Akka 作为我们的微服务平台。我们暂时不支持非 JVM 平台,因此我们使用 Akka Actor 之间的直接消息传递作为通信平台。

这样,我们的通信单元只是案例类。我们是否必须重复自己并为每个微服务定义案例类,或者我们可以将所有消息类放到一个项目中并在微服务项目之间共享?

我知道不建议在微服务之间共享模型,但是由于我们使用 Akka 通信协议,我不确定在多个项目中创建相同的通信案例类是否正确。如果一个微服务改变了它的模型而其他的没有呢?我们如何在不破坏整个系统的情况下处理版本控制和升级到新版本的通信模型。

【问题讨论】:

    标签: scala akka microservices


    【解决方案1】:

    一种可能的解决方案是将每个微服务构建为几个包并通过 SBT 处理版本控制:

    • model - 在微服务之间划分的一组类
    • core - 微服务逻辑,依赖于模型包
    • 网关 - 主要微服务的接口,依赖于模型包,被其他微服务包含,这里可以缓存一些信息

    【讨论】:

      猜你喜欢
      • 2019-08-19
      • 1970-01-01
      • 2016-03-28
      • 2021-06-20
      • 2017-05-29
      • 2017-05-27
      • 2016-07-30
      • 2016-11-05
      • 1970-01-01
      相关资源
      最近更新 更多