【问题标题】:Ehcache of spring doesn't work correctly between microservicesSpring 的 Ehcache 在微服务之间无法正常工作
【发布时间】:2023-04-10 06:30:02
【问题描述】:

我有一个单体应用程序。根据微服务外观和需要适应这种外观的它被拆分成小 APP。您假设在拆分后每个微服务都有一个模型,该模型在所有微服务中都有一个相同的对象。以下示例用于清算。

进入 Micro1:

Class A {
private Object obj;

//getter and setter
}

进入 Micro2:

Class B {
private Object obj;

//getter and setter
}

Object obj 拥有自己的存储库、服务和控制器层。
在这个模型的服务层中保存方法中有spring的ehcash的配置。像这样:

@Transactional
@Override
@Caching(evict = { @CacheEvict(value = "obj", key = "#obj.id" ) })
public Integer save(Object obj) {
    //Code here
}

当应用程序是一个整体时它可以工作,但是在拆分后因为这个obj因为依赖关系是所有微服务并且这个方法(保存方法)被重复到每个微服务中,ehcash 不能正常工作。 当每个微服务都影响到其他微服务意识到的 Object obj 时,我该怎么做。

【问题讨论】:

    标签: java spring-boot ehcache microservices


    【解决方案1】:

    有很多解决方案可以帮助你解决这个问题,redis 与 spring 有很好的集成,你可以很容易地使用它来解决你的问题,你可以在link中阅读更多关于它的信息

    还有像 Hazelcast 这样的解决方案,它是一个数据网格,而不仅仅是一个简单的键值缓存。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-06
      • 1970-01-01
      • 2018-05-28
      • 2018-01-08
      • 1970-01-01
      • 2018-01-22
      相关资源
      最近更新 更多