15.2. 群集模式
复制模式(Replicated Mode)自动检测并添加群集上的新实例。对这些实例的修改将复制到群集里的所有节点上。小型群集里复制模式通常是最佳选择,这是因为在网络上复制的信息量较少。您可以配置 Infinispan 来使用 UDP 多点传送,它可以在某种程度上将网络堵塞减缓。
分布模式(Distribution Mode)允许 Infinispan 线性地扩充群集。分布模式使用一致的哈希算法来确定新节点应该放置在哪个群集里。保留的信息的拷贝数量是可以配置的。保留的信息拷贝和数据的持久性及性能之间需要进行取舍:保留越多的拷贝,性能越受到影响,但在服务器发生鼓掌时越不可能丢失数据。通过定位入口而无需多点传送或存储元数据,哈希算法也可以减少网络流量。
复制可以同步或异步模式执行,所选的模式取决于您的要求及应用程序。如使用同步复制,处理用户请求的线程将阻塞至复制成功。只有在复制成功时响应才会发送给客户,然后释放线程。同步复制将对网络流量有影响,因为它要求得到群集里每个节点的响应。然而,它的优势是可以确保所有的修改都已应用于群集的所有节点。
异步复制是在后台执行的。Infinispan 实现是一个复制队列,后台线程使用它来执行复制。复制通过时间或者队列大小来触发。复制队列可提高性能,因为在群集节点间没有进行对话。异步复制的缺点是不是很准确。失败的复制尝试会写入日志,而不是实时通知。