Hazelcast
Hazelcast 为分布式缓存(这是我们使用二级缓存的方式)以及“数据网格”功能提供了一组非常好的功能。
我的期望是,大多数人会更喜欢使用近缓存的客户端/服务器模式。
客户端/服务器模式
我们可以在 client/server
模式下使用 Hazelcast,这意味着我们的应用程序使用 Hazelcast 客户端
与 Hazelcast 集群(服务器)进行通信。
在此模式下,Bean 缓存数据在集群中的所有 Hazelcast 服务器上进行分区,而不是在我们的应用程序中。我们可以选择为我们的一些或所有 Bean 类型使用 近缓存
,这样做可以提高性能(通过拥有本地数据),但会增加我们应用程序中的内存占用(因为它现在保存了一些缓存数据)。
配置
对于客户端/服务器模式,配置文件应为 hazelcast-client.xml
服务器模式
在服务器模式下,我们的应用程序启动一个 Hazelcast 服务器实例
,它是 Hazelcast 集群的一个成熟成员。这意味着它将保存数据等。
配置
对于服务器模式,配置文件应为 hazelcast.xml
。
依赖项
向 ebean-hazelcast
添加一个依赖项。当 Ebean 启动时,ebean-hazelcast 会自动注册为二级缓存实现。
禁用二级缓存
在开发和测试期间,禁用 L2 缓存的使用通常很有用。
属性
## disable use of L2 cache (for dev / testing etc)
ebean.disableL2Cache=true
配置
XML 配置
Hazelcast 将在没有任何配置的情况下运行,但通常您需要分别为客户端/服务器或服务器模式添加 hazelcast-client.xml
或 hazelcast.xml
配置。
在 hazelcast-client.xml 中,您可以指定 near cache
的使用,例如,这是一个常见需求。
编程配置
您可以通过创建 Hazelcast ClientConfig
或 Config
的实例并通过以下方式进行设置来以编程方式配置 Hazelcast:
ClientConfig configuration = ...;
serverConfig.setServiceObject("hazelcastConfiguration", configuration);
如果此配置实例在 Ebean 中传递,Ebean 将使用它来配置 Hazelcast 客户端或服务器实例。否则,它将使用默认配置,Hazelcast 将自动搜索并使用 XML 配置文件。
开始使用
- 使用 @Cache 注释 Bean
- 添加 maven 依赖 ebean-hazelcast
- 可选择添加 hazelcast-client.xml 或 hazelcast.xml
- 对于客户端/服务器模式,您需要一个正在运行的 Hazelcast 服务器