【发布时间】:2017-09-08 11:08:51
【问题描述】:
我们的应用程序由几个微服务组成。每个微服务都有自己的 hazelcast 实例的配置。所有 hazelcast 实例形成一个具有分布式数据的集群。 Hazelcast 复制映射被用作在这些微服务之间复制数据对象(DTO 包括几个字段)的一种方式。微服务托管在 AWS 上。
数据对象序列化存在问题,这就是我们使用自定义序列化配置创建单独项目的原因。我们要复制的所有数据对象(java 类)都列在此配置代码中。从这个非常配置项目构建的工件作为 maven 依赖项包含在每个微服务中。这有助于解决序列化问题。
这个解决方案让我们遇到了一个新问题,如果需要添加新的数据对象会出现什么问题。首先我们应该将这个数据对象添加到配置项目中,然后重建这个项目。之后,我们应该用更新的依赖关系重建所有微服务并重新部署。如果至少有一个微服务没有被重建,就会出现序列化错误,因为这个非常微服务 hazelcast 实例不知道如何序列化新的数据对象。重建和重新部署所有应用程序的过程对我们来说不是那么方便。
请分享您的经验!有没有办法让它变得更容易?
【问题讨论】:
标签: java microservices hazelcast distributed-cache hazelcast-imap