分布式缓存redis,hazelcast,ignite,infinispan简介

本文主要简单的介绍一下这些分布式缓存中间件,了解其基本原理

redis

redis国内其实很火,虽然redis很火,性能很给力,但是redis本质上是个单线程的单机缓存,不过redis6.0以后增加了多线程,本期要了解分布式缓存,所以,顺带也说一下能把reids变成分布式的技术

  1. 主从
  2. 分片

其实思路很像mysql支持集群,但是归根到底,redis是一个单体缓存,如果变成分布式,其实mysql已经有了很多经验,完全可以类比

主从

主从,其实严格来讲不是分布式,只是高可用的一种

分片

因为redis本身是个单体缓存,所以,要支持分布式,就需要分片,这个时候,其实就有很多思路,比如proxy模式的sever分片,和客户端分片之类等等的方案

infinispan

infinispan是redhat的,国内的资料比较少,人气也很少,就不介绍了,你只需要知道它也是个分布式缓存,混个脸熟即可

hazelcast和ignite的相同之处

hazelcast和ignite其实很像,各方面都很像,就连github的start数量也很像,一个4.3k,一个5.1k,infinispan就1k,所以前两个很像

hazelcast logo ingite logo

部署方式

分布式实现的时候,基本上最少需要两种角色,一个是调控,一个是干活,当然细分还有很多,所有,分布式环境中,部署的节点,一种是对等的,一种是不对等的,对等的就是直接加节点,不对等的,需要按照一定的逻辑,相应的加节点

  1. 节点都是对等的,直接添加
  2. 部署方式,均支持嵌入式和独立部署

都有控制中心

hazelcast的叫Management Center,ignite的是GridGain Control
Center,没错是GridGain的,因为GridGain就是ignite的商业版本,GridGain就是基于ignite的

性能也都差不多

两家对比过benchmark,后来伤了和气,没有比了,网上的资料也比较少,但是hazelcast放的资料是比ignite快一些

商业方式

商业方式也差不多,都有开源的,然后有商业版本

hazelcast和ignite的不同之处

ignite开源版本之处堆外缓存,但是hazelcast只有商业版本才支持,以下的链接是各自和自己的商业版本对比

  1. hazelcast和自己的商业版本对比,安全和存储等方面的特性支持
  2. ignite和自己的商业版本对比,商业版本主要增加了备份,压缩等功能

总体来说,个人感觉,ignite的功能要比hazelcast的功能多一些,开源版本也更良心一些,仅供参考