将Hazelcast / Redis隐藏在REST控制器后面是否过分

问题描述 投票:0回答:1

我们正在使用In内存数据存储可能是Hazecast或Redis(技术尚未确定)主要是内存数据存储将用作缓存提供程序,但也作为运行某些分析的计算平台。 Hazelcast / Redis提供他们自己的本地客户端,允许对网格内容进行细粒度操作。将hazelcast / redis实例包装在Jetty中暴露一个休息界面并且不为客户端应用程序提供对Hazelcast / Redis的直接访问是否过度? REST控制器的职责是检索条目,应用过滤器和缓存未命中检索数据库中的条目。

暴露给应用程序的功能将是只读+一些涉及多个密钥(分析)的作业。

所以基本上客户端应用程序不应该直接更新网格的内容。或者,如果发生这种情况,那将是非常罕见的,并且可能是Job的结果,无论如何都会在所选的内存解决方案中运行。

caching redis hazelcast in-memory-database in-memory-data-grid
1个回答
0
投票

这实际上取决于用例。从Hazelcast的角度来看,我们看到的许多实现都使用内存解决方案来减少延迟并提高吞吐量。为减少网络跃点的数量付出了很多努力(例如,通过智能客户端功能将请求直接发送到托管数据的集群成员,而不是通过负载均衡器或主节点)。 REST控制器引入了另一个网络跃点,以及额外的处理时间。而且,另一个潜在的失败点。

所以我想说如果主要关注低延迟/高吞吐量,我不会介绍REST层。

© www.soinside.com 2019 - 2024. All rights reserved.