当前位置: 首页 > wzjs >正文

最有效的线下推广方式提高网站seo

最有效的线下推广方式,提高网站seo,在新西兰做兼职的网站,seo网络排名优化技巧上篇文章谈到的哨兵机制,提高了系统的可用性,但是真正存储数据的还是master主节点和slave从节点,所有的数据都要存储在master和slave上.当数据量很大时,超出master/slave所在物理机的物理内存,就可能会出现很严重的问题了. 怎样获取更大的空间来存储数据呢? 目录 1.redis集群…

上篇文章谈到的哨兵机制,提高了系统的可用性,但是真正存储数据的还是master主节点和slave从节点,所有的数据都要存储在master和slave上.数据量很大时,超出master/slave所在物理机的物理内存,就可能会出现很严重的问题了.

怎样获取更大的空间来存储数据呢?


目录

1.redis集群:

2.数据分片算法:

1.哈希求余:

2.一致性哈希算法:

3.哈希槽分区算法(Redis采用的):

这里有两个问题:


所谓"大数据"的核心是一台机器存储不下了,可以用多态机器共同来存储.

1.redis集群:

redis集群就在解决上述问题:

通过引入多组master/slave,每组matser/slave存储数据全集的一部分,从而构成一个更大的整体,就称为redis集群.

将每一组master/slave称为一个"分片".

当数据量进一步增多时,通过增加分片的方法即可解决.

2.数据分片算法:

redis-cluster通过多个分片共同存储所有数据,又有两个核心问题:

1 .当写入一个数据,要存储到哪个分片上;读取数数据时,从哪个分片读取;

2. 当当前分片由于数据的增多又无法存储,需要再增加新分片机器时,又要如何调整呢?

这里有几种方法来实现:

1.哈希求余:

设有N个分片,对其进行编号[0,N-1]; 针对某一数key,先对其求哈希值,得到一个整数,把得到的hash值%分片个数N,得到的值就是要存储的分片编号.

后续要取数据时,也是针对要取得key,对key计算hash值,再对其%N,就可以找到对应的分片编号了.

优点: 简单高效,数据分配均匀;

缺点: 一旦需要进行扩容时,N就要改变原有的映射规则就会被破坏,需要让节点之间相互数据传输, 对大量的数据进行重新排列,以满足新的映射规则,开销较大.

MD5算法 是一种计算哈希值的常用方法,MD5计算结果特点:

1. 计算结果是定长的: 16位/32位/64位

2.计算结果是分散的: 相差很小的key计算出的MD5值都有很大的差别.

3. 计算结果是不可逆的: 计算出的结果是无法复原的.

2.一致性哈希算法:

为了降低数据的搬运开销,更高效的扩容, 一致性和希算法 可以缓解上述问题:

具体过程:

1>. 将0-2^32-1这个数据空间,映射到一个圆环上,按照顺时针的方向增长;

2>. 首次分片时,将分片均匀的放到圆环上的某些位置.

3>. 当要存储一个数据时,计算其hash值, 根据hash值,在圆环上顺时针向下找,找到的第一个分片,就存储在该分片上;读取数据也是这样,先计算要读取数据的hash值,然后在圆环上顺时针向下找,找到的第一个分片就是数据所在的位置.

分片扩容时,仅需要在圆环的某个位置上安排一个新的分片即可,仅将圆环上 新分片插入位置 之前的数据从原分片上传到新分片上即可,无需对整体的数据进行调整.缓解了大量数据迁移的开销.

优点: 大大降低了分片扩容时,数据搬运的开销,提高了扩容操作的效率.

缺点: 这样分片会导致数据不均匀分布,出现数据倾斜.(有可能有的分片上一个数据也没有,浪费硬件资源)

3.哈希槽分区算法(Redis采用的):

上面两种分片方法都存在一定的缺陷,redis-cluster 并未采取上述两种方法,而是使用哈希槽分区算法. 该方法解决了数据搬运成本高和数据不均匀分配的问题.

算法规则:

把整个hash值,映射到16384个槽位上: [0,16383], 然后将这些槽位均匀的分给每一个分片. 每一个分片都要记录自己持有哪些槽点.

写入数时,先对16384求余,计算出哈希槽,然后根据哈希槽找到所在得分片,就可以将数据写入了.  

当要扩容分片时,针对原有分片重新分配,从每个分片上拿走一些槽位,放到新的分片上,保证每个分片上槽位尽量均匀即可. 槽位分配可以是连续的,也可以是不连续的,非常灵活,每个分片使用"位图"表示该分片上所属于的操作.

假设当前有3个分片,可以这样分配:

0号分片:[0,5461],共5462个槽位;

1号分片: [5462,10923],共5462个槽位;

2号分片: [10924,16383],共5460个槽位.

当要新增一个分片时: 只需要从0号,1号和2号 分片上取走一些槽位放到3号分片上,保证槽位尽量均匀分布到不同的分片上即可.

这里有两个问题:

1.槽位一共有16384个,那么redis集群最多只能有16384个分片吗?

当出现16384这么多分片时,就无法保证每个分片上的数据的均匀性了.

我们分片包含多个槽位时,可以认为每个分片上包含的key的数量是相当的;当分片上的槽位非常少的时候,就无法直观反映key的数目了.(有的槽位上的key非常多,有的非常少)

redis官方建议做多使用1000个分片. 当使用的分片过于多的时候,整个数据服务器的集群是非常大的,可用性就难以估量了.

2.为什么槽位设置的是16384个?

节点之间通过"心跳包"进行通信,心跳包中包含了该节点持有哪些槽位,使用位图这样的数据结构来表示16384个槽位,这个位图占用2kb的空间,若这个数太大了,就要占用更大的存储空间,且节点间发送心跳包是周期性的,非常频繁,会占用更大的网络带宽.

另外,redis集群建议使用不超过1000个分片,16384对于1000个分片来说是够用的,也不会占用较大的空间, 很合适.

下一篇文章就要搭建redis集群了.


文章转载自:

http://kB7w4ZtP.yhtnr.cn
http://wOs1QfP7.yhtnr.cn
http://Vg2P9nfy.yhtnr.cn
http://w3juxH6E.yhtnr.cn
http://aYmQ50JI.yhtnr.cn
http://OHvYKm9N.yhtnr.cn
http://0xrKez25.yhtnr.cn
http://ltVWajfx.yhtnr.cn
http://jhlNZO7Z.yhtnr.cn
http://uxYrj9IR.yhtnr.cn
http://uMUe30PW.yhtnr.cn
http://MkXkw8Pk.yhtnr.cn
http://TF9ZvrM3.yhtnr.cn
http://sc3iW6wv.yhtnr.cn
http://plPzwwgf.yhtnr.cn
http://7YxB8sIX.yhtnr.cn
http://JA7RUgt5.yhtnr.cn
http://CRlg6167.yhtnr.cn
http://fMlCoZea.yhtnr.cn
http://fH9TBc2R.yhtnr.cn
http://dXWtbpqm.yhtnr.cn
http://aQCLfjuD.yhtnr.cn
http://PoHL2sy0.yhtnr.cn
http://mmBtIa43.yhtnr.cn
http://uXzHOMTs.yhtnr.cn
http://xPC8BrUz.yhtnr.cn
http://UwGN8XfZ.yhtnr.cn
http://03Uc9DtD.yhtnr.cn
http://DTyRyPhZ.yhtnr.cn
http://XzsYVqbR.yhtnr.cn
http://www.dtcms.com/wzjs/739865.html

相关文章:

  • 自己做网站在线看pdf餐馆效果图网站
  • 求职网站怎么做公众号电脑版登陆入口
  • 佛山网站排名推广刚做的网站怎么才能搜索到
  • 网站建设时间如何查询网站被301跳转
  • 网站宝搭建网站环境石家庄企业商城版网站建设
  • 南宁 网站开发蓝色风格网站模板
  • 河间网站国家企业信用信息公示系统官网(全国)
  • 建设小型网站企业网站建设栏目结构图
  • 唐山网站建设求职简历网站开发计入会计 什么科目
  • 编程和做网站有关系吗基层建设刊物网站
  • 天津圣辉友联做网站ps设计网站首页效果图
  • 做网站的疑问有哪些wordpress 生成ppt
  • 网站管理建设站酷网网址
  • 创一家网站wordpress设置全屏
  • 黄冈建设培训中心网站wordpress 发布说说
  • 毕业设计查资料的网站注册深圳公司的费用
  • 做简历的什么客网站网站制作工具 简易
  • 企业网站建设合同书模板免费制作logo的网站
  • 怎么用视频做网站首页中国著名摄影网站
  • 快速建立平台网站开发建站教程详解济南正规做网站公司
  • 南通快速建设网站服务连云港规划建设网站
  • 南京500元做网站网上注册公司官网入口
  • 图书管理系统网站开发绪论wordpress营销模板下载
  • 网站开发要花多少钱做微信请帖网站
  • 苏州建站公司兴田德润简介呢百度代理公司查询
  • 线上兼职的正规网站建设公司简介怎么写
  • 网站维护 html郑州建设网站
  • 佛山网站商城建设asp网站开发实训总结
  • 手机wap网站制作免费wordpress升级php7
  • 网站更换服务器怎么做门户网站开发 南宁