第七章 部署策略
Hazelcast具有适应性,能根据不同的架构和应用进行特定的部署配置,每个应用可以根据具体情况选择最优的配置:
数据与应用紧密结合的模式(重点,of就是这种)
胖客户端模式(最好用一种)
轻成员节点模式(折衷上面两种)
1.使用紧密结合的模式,每个JVM实例既提供程序功能,又提供数据存储。这意味着我们需要提供比实际使用功能需要的更多的堆空间(备份)。
除此之外,web应用是在特定容器中的(比如tomcat),直接使用应用程序的堆也并不方便。特别是垃圾收集机制的控制可能会造成意想不到的的结果..
2.为了避免上诉问题,建议从应用集群中退出,应用仅仅作为Hazelcast的客户端进行连接(这不是和redis一样了).带来的好处是更为松耦合,
应用和集群都可以独立扩展.
客户端可以配置多个Hazelcast服务地址,这样当一个服务器不可用,就可以自动重连。
需要注意的是:客户端需要实现获取数据的序列化serizlize,服务器并不转换成真正的POJO。
3.还有一种折衷方案,客户端连接到集群中作为"轻成员",他直接和其他集群节点连接,但是并不提供集群数据和运算。降低双重hop,提高效率。