appednfsync always 当设置appendfsync为always时,每一次写操作都会调用一次fsync,这时数据是最安全的,当然,由于每次都会执行fsync,所以其性能也会受到影响 。对于一般性的业务需求,建议使用RDB的方式进行持久化,原因是RDB的开销并相比AOF日志要低很多,对于那些无法忍数据丢失的应用,建议使用AOF日志 。
4、集群管理的不同Memcached是全内存的数据缓冲系统,Redis虽然支持数据的持久化,但是全内存毕竟才是其高性能的本质 。作为基于内存的存储系统来说,机器物理内存的大小就是系统能够容纳的最大数据量 。如果需要处理的数据量超过了单台机器的物理内存大小,就需要构建分布式集群来扩展存储能力 。Memcached本身并不支持分布式,因此只能在客户端通过像一致性哈希这样的分布式算法来实现Memcached的分布式存储 。
下图给出了Memcached的分布式存储实现架构 。当客户端向Memcached集群发送数据之前,首先会通过内置的分布式算法计算出该条数据的目标节点,然后数据会直接发送到该节点上存储 。但客户端查询数据时,同样要计算出查询数据所在的节点,然后直接向该节点发送查询请求以获取数据 。相较于Memcached只能采用客户端实现分布式存储,Redis更偏向于在服务器端构建分布式存储 。
最新版本的Redis已经支持了分布式存储功能 。Redis Cluster是一个实现了分布式且允许单点故障的Redis高级版本,它没有中心节点,具有线性可伸缩的功能 。下图给出Redis Cluster的分布式存储架构,其中节点与节点之间通过二进制协议进行通信,节点与客户端之间通过ascii协议进行通信 。
在数据的放置策略上,Redis Cluster将整个key的数值域分成4096个哈希槽,每个节点上可以存储一个或多个哈希槽,也就是说当前Redis Cluster支持的最大节点数就是4096 。Redis Cluster使用的分布式算法也很简单:crc16( key ) % HASH_SLOTS_NUMBER 。
为了保证单点故障下的数据可用性,Redis Cluster引入了Master节点和Slave节点 。在Redis Cluster中,每个Master节点都会有对应的两个用于冗余的Slave节点 。这样在整个集群中,任意两个节点的宕机都不会导致数据的不可用 。当Master节点退出后,集群会自动选择一个Slave节点成为新的Master节点 。
Kafka,Mq和Redis作为消息队列使用时的差异有哪些?
Kafkakafka是个日志处理缓冲组件,主要在大数据信息处理中使用 。和传统的消息队列相比简化了队列结构和功能,以文件流形式处理存储(持久化)消息(主要是日志) 。日志信息通常数据量巨大,处理组件一般会处理不过来,所以有了缓冲层kafka 。kafka支持巨大的日志吞吐量 。为了防止数据丢失,其消息被消费后不会直接丢弃,要多存储一段时间,等超过设置的时间阈值才会丢弃 。
这是mq和redis所不具备的 。主要特点如下:巨型存储量: 支持TB甚至PB级别数据 。高吞吐,高IO:一般配置的服务器就可实现单机每秒100K条以上的消息传输 。消息分区,分布式消费:能保证消息顺序传输 。支持离线数据处理(hadoop集群)和实时数据处理 。横向扩展:支持在线水平扩展,以支持更大数据处理能力 。
redisredis是一个高性能的、原子操作的内存键值对nosql 。支持高速访问,可用做消息队列的存储,但是不具备消息队列的任何功能和逻辑,要做为消息队列来使用的话,队列功能和逻辑要通过上层应用来自己实现 。MQ,消息队列我们以RabbitMQ为例来做介绍 。它是用Erlang语言开发的开源消息队列,支持多种协议包括AMQP,XMPP, SMTP, STOMP,适合于企业级的开发 。
MQ支持Broker构架,消息发送给客户端时需要在中心队列排队 。对路由,负载均衡或者数据持久化都有很好的支持 。其他更多消息队列还有ActiveMq,ZeroMq等,功能上大同小异 。有专门测试的结果表明,并发吞吐TPS比较,ZeroMq 最好,RabbitMq 次之,ActiveMq 最差 。更多信息,请关注虫虫,一起讨论学习 。
推荐阅读
- 买投影仪什么牌子好,无线投影仪什么牌子好
- 魅族手环有几个版本,299元魅族手环正式发布
- 三星s8怎么区别版本,两版本三星S9选谁
- noter4 哪个版本手机好,国行红米Note5将至
- 买固态硬盘和普通硬盘哪个好上1688 金泰克和西数固态硬盘哪个好
- 单反相机佳能和尼康哪个好,佳能和尼康单反相机哪个好
- 哪个牌子的移动电源比较好,41040102
- 16s和17哪个好】魅族17 魅族16s和魅族17参数对比
- 小平板电脑哪个好用,平板小电脑官网
- oppo手机怎么远程定位另一个手机 手机怎么定位对方的手机所在位置
