Oracle coherence Oracle一致性的客户端和缓存配置
我有一个特定的场景,我们希望使用一致性作为分布式缓存。我将在这里描述Oracle coherence Oracle一致性的客户端和缓存配置,oracle-coherence,Oracle Coherence,我有一个特定的场景,我们希望使用一致性作为分布式缓存。我将在这里描述 我有20多个独立进程,它们将连续地将数据放入缓存。虽然这不是一个问题,但它们的频率都不同 和2个从缓存中读取数据的过程 我不需要任何基础数据库,除了提供一致性的方式。数据将写入缓存并从缓存中读取 我有4个节点的集群供我使用(成本约束无论如何),一致性集群将位于不同的盒子上(infra约束无论如何),缓存的填充部分和读取部分将位于不同的N机器上 每天缓存的最大内存大小将徘徊在6 GB左右,最小值为2 GB。 缓存将只包含每日数据
除了正常的网络和硬件资源限制外,Coherence Extend代理可以支持的连接数没有技术限制。您必须询问Oracle销售人员是否存在许可限制 使用代理会对性能产生一些影响,因为您要添加额外的网络跃点(从客户端到代理再到集群)。如果使用POF序列化,则代理不必序列化/反序列化值。它可以以序列化的形式传递对象。在大多数应用中,使用代理对性能的影响很小,因为一致性在网络速度方面得到了高度优化。除非客户端是.NET或C++,否则不需要使用代理,但有隔离客户端性能以影响缓存的优点。 如果一个客户端有许多频繁检索的项目,近缓存将显著提高检索性能,因为它们将在进程中找到
POF基于更快的序列化/反序列化和更紧凑的存储提供了性能改进。最好尝试使用基于实际生产数据的测试数据,并自己测量差异。Coherence不支持开箱即用的protobuf。Hi David-您声明“除非您的客户端是.NET或C++,否则您不需要使用代理”。请允许我问一下:即使对于具有近缓存的.NET也是如此吗(即,对于具有近缓存的.NET是否需要代理/网络跃点)?嗨,Dave,代理和网络跃点仅适用于分布式缓存。对于近缓存,跳是因为它通常由远程(分布式)缓存支持。对C++和.NET的近程缓存,您不需要代理,因为后备远程缓存将进行远程访问。戴维-请让我确认:…)因此,如果您有一个使用近缓存的.NET应用程序,则不需要运行*Extend TCP/IP Proxy/Listener?这取决于近缓存的配置方式。如果要完全避免网络访问,请使用本地缓存。