zoukankan      html  css  js  c++  java
  • 关于twemproxy和redis分布式

    为什么要使用twemproxy

    出于两点原因:

    1 redis是单线程实例,若要获得多核的好处,只能实现多个实例,实例之间不能共享数据,只能sharding

    2 若数据量太大,则必须分布式部署redis,使用sharding

    两个原因其实可以归为一个,如何分布式部署redis。 而redis本身并不支持分布式部署,只支持master-slave,若客户端直接操作redis的话,就必须在应用层编写sharding和节点监控的代码。

    如果使用twemproxy作为代理,客户端不直接操作redis只是访问rwemproxy,sharding和节点监控以及其他一些麻烦的工作rwemproxy都帮我们做好了,只需要配置即可。

    项目应用的时候,我们可能会把redis作为数据存储也可能会拿来做缓存,第一种情况我们需要在配置中做静态映射,第二种情况我们允许自动卸载失败节点,过一段时间重试,这时候数据可能会被写到另外一个节点,导致弱一致性。

    注意的地方:1 twemproxy也是单线程实例,在生产环境可能需要启动多个实例以发挥多核的能力。

          2不支持除mget,del之外的redis批处理命令,如取多个集合交集等等

              3不支持脚本eval

          4twemproxy不能够拿从节点作为替代方案

  • 相关阅读:
    PHP数字签名算法
    PHP日期相关类
    浏览器常见bug及解决办法
    PHPer整理的前端开发知识
    小程序之轮播图(2020.4.13更新)
    Android APK反编译 apktool使用教程
    秒懂-单列布局水平居中布局
    一句话搞定-phpStudy安装yaf扩展
    Git的简单安装
    人人都能读懂的css3 3d小demo
  • 原文地址:https://www.cnblogs.com/piruzhaolu/p/3053951.html
Copyright © 2011-2022 走看看