Java 如何在集群环境中使用Spring Security OAuth
我正在使用MemoryTokenStore中的Java 如何在集群环境中使用Spring Security OAuth,java,spring,spring-security,oauth-2.0,Java,Spring,Spring Security,Oauth 2.0,我正在使用MemoryTokenStore中的,在群集环境中不起作用。我必须将令牌存储在集群环境中可以轻松访问的地方 我不能使用JdbcTokenStore,因为我没有数据库的访问权限。 我想使用“Ehcache”或“RedistokeStore”。请帮助我哪种方法更好,以及我如何使用它 首先,您有一个集群环境,这意味着 应用程序正在处理严重的业务逻辑 将inMemory数据从一个servlet容器应用到另一个非常昂贵。好的是,你已经意识到为了更好的解决方案而努力 EhCache是一个用于跨网络
,
在群集环境中不起作用。我必须将令牌存储在集群环境中可以轻松访问的地方
我不能使用JdbcTokenStore
,因为我没有数据库的访问权限。
我想使用“Ehcache”或“RedistokeStore”。请帮助我哪种方法更好,以及我如何使用它
首先,您有一个集群环境,这意味着
应用程序正在处理严重的业务逻辑
将inMemory
数据从一个servlet容器应用到另一个非常昂贵。好的是,你已经意识到为了更好的解决方案而努力
EhCache是一个用于跨网络中的所有节点维护缓存的工具
集群环境
EhCache本身不是一种缓存类型,只是一种工具。也,
EhCache不维护缓存,它只是触发一些
跨节点的操作/服务,以便每个节点可以
重新刷新/更新自己的缓存
- 用于处理缓存一致性问题的技术
跨群集节点包括:
- 每次需要时都从存储(DB)中提取数据(无缓存)。一般来说,这是一项昂贵的操作,并且
基于web的多用户应用程序中的性能影响李>
- 通过按预先配置的间隔轮询和刷新,使本地缓存保持最新李>
- 跨群集节点复制缓存数据李>
- 根据通知集群成员更改的分布式事件,使本地缓存保持最新
Redis在分布式环境中工作得非常好,尤其是在
和。我的建议是赞成
这些教程将帮助您了解实现:
我在集群应用程序中使用了JCache(JSR107)规范的实现
您可以按以下方式设置缓存:
Ignite ignite = Ignition.ignite();
CacheConfiguration<CacheKey, Object> cacheCfg = new CacheConfiguration<CacheKey, Object>(cacheName.toString());
cacheCfg.setCacheMode(CacheMode.PARTITIONED);
cacheCfg.setBackups(1);
cacheCfg.setWriteSynchronizationMode(CacheWriteSynchronizationMode.FULL_SYNC);
cacheCfg.setExpiryPolicyFactory(CreatedExpiryPolicy.factoryOf(new Duration(TimeUnit.SECONDS, 604800)));
IgniteCache<CacheKey, Object> igniteCache = ignite.getOrCreateCache(cacheCfg);
请说出我的答案。如果有帮助,请接受!此外,您还可以探索JWT。
igniteCache.get(key);
igniteCache.put(key, o);