专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

自从学习了MongoDB高可用,慢慢的喜欢上了它,之前确实冷

  大家好,我是哪吒,最近项目在使用MongoDB作为图片和文档的存储数据库,为啥不直接存MySQL里,还要搭个MongoDB集群,麻不麻烦?
  让我们一起,一探究竟,继续学习MongoDB高可用和片键策略,实现快速入门,丰富个人简历,提高面试level,给自己增加一点谈资,秒变面试小达人,BAT不是梦。
  一、复制
  在MongoDB中,创建副本集后就可以使用复制功能了,副本集是一组服务器,其中一个用于处理写操作的主节点primary,还有多个用于保存主节点数据副本的从节点secondary。如果主节点崩溃了,则从节点会选取出一个新的主节点。
  如果使用复制功能时有一台服务器停止运行了,那么仍然可以从副本集中的其它服务器访问数据。如果服务器上的数据已损坏或无法访问,则可以从副本集中的其它成员中创建一个新的数据副本。
  副本集中的每个成员都必须能够连接到其它成员,如果收到有关成员无法访问到其它成员,则可能需要更改网络配置以允许它们之间的连接。
  二、如何进行选举
  当一个从节点无法与主节点连通时,它就会联系并请求其它的副本集成员将自己选举为主节点。
  其它成员会做几项健全性检查:它们能否连接到主节点,而这个主节点是发起选举的节点无法连接到的?这个发起选举的从节点是否有最新数据?有没有其它更高优先级的成员可以被选举为主节点?
  MongoDB在3。2版本中引入了第1版复制协议。这是一个类PAFT的协议,并且包含了一些特定于MongoDB的副本集概念,比如仲裁节点、优先级、非选举成员、写入关注点等。还提出了很多新概念,比如更短的故障转移时间,大大减少了检测主节点失效的时间,它还通过使用termID来防止重复投票。
  RAFT是一种共识算法,它被分解成了相对独立的子问题。共识是指多台服务器或进程在一些值上达成一致的过程。RAFT确保了一致性,使得同一序列的命令产生相同序列的结果,并在所部署的各个成员中达到相同序列的状态。
  副本集成员相互间每隔两秒发送一次心跳。如果某个成员在10秒内没有反馈心跳,则其它成员会将不良成员标记为无法访问。选举算法将尽最大努力尝试让具有最高优先权的从节点发起选举。成员优先权会影响选举的时机和结果。优先级高的从节点要比优先级低的从节点更快发起选举,而且也更有可能成为主节点。然而,低优先级的从节点也是有可能被短暂的选举为主节点的,副本集成员会继续发起选举直到可用的最高优先级成员被选举为主节点。被选举为主节点的从节点必须拥有最新的复制数据。三、优先级
  优先级用于表示一个成员称为主节点的优先程度,取值范围是0100。数值越大,优先级越高。默认为1,如果将priority设置为0,表示此节点永远无法成为主节点,这样的成员还有一个名字被动成员。四、选举仲裁者
  大多数小型项目,MongoDB只有两个副本集,为了参与选举,MongoDB支持一种特殊类型的成员,称为仲裁者,其唯一作用就是参与仲裁。仲裁者不参与存储数据,也不会为程序提供服务,它只是为了帮助只有两个副本集的集群选举主节点(为了满足大多数),需要注意的是,只能有一个仲裁者。
  仲裁者的缺点:
  假设有一个主节点,两个从节点,一个仲裁者。如果一个从节点停止运行了,那么就需要一个新的从节点,并且将主节点的数据复制到新的从节点,复制数据会父服务器造成很大的压力,降低程序运行速度。所以,尽可能使用奇数的从节点,而不是使用仲裁者。
  五、同步
  MongoDB通过保存操作日志oplog使多台服务器间保持相同的数据,oplog中保存着主节点执行的每一次写操作。oplog存在于主节点local数据库中的一个固定集合中,从节点通过查询此集合以获取需要复制的操作。
  每个从节点同样维护着自己的oplog,用来记录它从主节点复制的每个操作。这使得每个成员都可以被用作其他成员的同步源。如果应用某个操作失败,则从节点会停止从当前数据源复制数据。
  如果一个从节点由于某种原因停止工作了,它重新启动后,会从oplog中的最后一个操作开始同步。由于这些操作是先应用到数据上然后再写入oplog,因此从节点可能会重复已经应用到数据上的操作。MongoDB在设计时考虑了这点,oplog中的操作执行一次和多次,效果都是一样的,oplog中的每个操作都是幂等的。六、处理过时数据
  如果某个从节点的数据远远落后于同步源当前的操作,那么这个从节点就是过时的。过时的从节点无法赶上同步源,如果继续同步,从节点就需要跳过一些操作。此时,需要从其它节点进行复制,看看其它成员是否有更长的oplog以继续同步。如果都没有,该节点当前的复制操作将停止,需要进行完全同步或从最近的备份中恢复。
  为了避免出现不同步的节点,让主节点拥有比较大的oplog以保存足够多的操作日志。七、哈希片键
  为了尽可能快地加载数据,哈希片键是最好的选择。哈希片键可以使任何字段随机分发。如果打算在大量查询中使用升序键,但又想在写操作时随机分发,哈希片键是不错的选择,不过需要注意的是,哈希片键无法执行指定目标的范围查询。
  创建哈希片键:
  db。users。createIndex({name:hashed})
  有一点需要注意,哈希片键的字段,不能是数组。
  Error:hashedindexesdonotcurrentlysupportarrayvalues。
  八、多热点
  单独的mongod服务器在执行升序写操作时效率最高,这与分片相冲突,当写操作分发在集群中时分片效率最高。每个分片上都有几个热点,便于写操作在集群中均匀分发。
  可以使用复合片键实现均匀分发,复合片键的第一个值可以是一个基数较小的值,片键的第二部分是一个升序值,这意味着在块的内部,值总是在增加的。
  九、分片规则1、分片的限制
  比如上图的异常,片键不能是数组,大多数特殊类型的索引不能用作片键。特别是,不能在地理空间索引上进行分片。2、片键的基数
  片键与索引类似,在基数高的字段上进行分片,性能会更好。如果有一个status键,只有正常、异常、错误几个值,MongoDB是无法将数据拆分成3个以上的块(因为目前只有三个值),如果想将一个取值较小的键作为片键,那么可以将其与另一个拥有多值的键组成复合片键,比如createTime字段。这样复合片键就拥有了较高的基数。十、控制数据分发1、自动分片
  MongoDB将集合均匀分发在集群中的每个分片上,如果存储的是同构数据,那么这种方式非常高效。如果有一个日志集合,价值不是很大,你可能不希望它存储在性能最好的服务器上,性能最好的服务器一般会存储重要的实时数据,而不允许其它集合使用它。
  可以通过sh。addShardToZone(shard0,hign)、sh。addShardToZone(shard1,low)、sh。addShardToZone(shard2,low)实现它。
  可以将不同的集合分配给不同的分片,比如,对及其重要的实时集合执行:
  sh。updateZoneKeyRange(super。important,{:MinKey},。。。{:MaxKey},high)
  这条命令指的是:
  对于这个集合super。important,将片键从负无穷到正无穷的数据保存在标记为high的分片上。这不会影响其它集合的均匀分发。
  同样可以通过low,将不重要的日志集合存放在性能较差的服务器上。
  sh。updateZoneKeyRange(super。logs,{:MinKey},。。。{:MaxKey},low)
  此时,日志集合就会均匀的分发到shard1和shard2上。
  同样,可以通过removeShardFromZone()从区域中删除分片。
  sh。removeShardFromZone(super。logs,{:MinKey},。。。{:MaxKey})2、手动分发
  可以通过关闭均衡器sh。stopBalancer()启动手动分发。
  如果当前正在进行迁移,则此设置在迁移完成之前不会生效。一旦正在运行的迁移完成,均衡器就会停止移动数据。
  除非遇到特殊情况,否则,MongoDB应该使用自动分片,而不是手动分片。

姚明现身悉尼身体堪忧,姚明到底经历了什么?体重飙到400斤如果给你一个长高的机会,你会想要吗?估计,很多人都梦寐以求吧但有些人,却因长得太高,产生了许多烦恼。比如,姚明!这几天,不少网友爆料在前往悉尼的航班上偶遇了姚明。跟他在餐厅里擦肩而女排全锦赛江苏3比1战胜北京,四强全部产生,上届冠亚军皆出局北京时间9月26日消息,2022年全国女子排球锦标赛在福建漳州继续进行,14决赛,江苏女排顶住压力,以3比1战胜北京女排,闯进四强,另外,福建辽宁天津晋级四强,而上届冠亚军上海山东江苏女排31战胜北京队,半决赛再战辽宁,半决赛两大悬念待解开2022年全国女排锦标赛14决赛迎来最后一场比赛,由江苏女排对阵北京女排。在小组赛,江苏队取得了五场全胜。北京女排在取得三连胜后,又遭遇了三连败。两队在小组赛的表现差异很大。江苏女女人长期喝蜂蜜水会对身体好不好头条创作挑战赛今天碰到只是一个老朋友,四年未见她依然是皮肤细腻,白里透红,虽然是四十多岁的人了,仔细看看,会发现眼角有鱼尾纹,但是整个皮肤来说还是很滑嫩的!随手一模,便半开玩笑说,江苏省唯一海蚀地貌的小岛,连云港羊山岛连云港羊山岛是江苏省唯一的具有海蚀地貌的小岛。从岸到顶都分布着海蚀凹槽和海蚀洞,印证着云台山沧海桑田的变迁。羊山岛面积不大,三面环海,靠近连云港跨海大桥,风景秀丽。独特的海蚀地貌让男篮全指望周琦了,就像当年姚明一样,虽差姚不少,但毕竟是领袖亚洲杯就是失误太多,导致输掉比赛,我就不明白,这几个月练了些啥,还是老样子,三分该不进还是不进,失误继续失误,杜指导你领着球员度假吗?这罚球命中率真不行,还有,啥时候打哈萨克斯坦都唏嘘!NBA全明星含泪求合同,自曝存款余额,只够自己花三年目前NBA还处于休赛期,球队交易也是时常流出,而不久前媒体证实,湖人队和爵士队完成了交易,湖人队送出塔克和斯坦利约翰逊,得到了拼命三郎贝弗利,贝弗利上赛季效力于森林狼,在戈贝尔的交野球帝张照洋高铁站遭群殴,被两名大汉骑在身上,女友惨遭扇耳光8月26日,知名篮球运动员张照洋在青岛高铁站被群殴的消息登上了微博热搜,据现场的画面显示,张照洋被两名大汉摁在地上殴打,过程中对方一直没有还手,张照洋的女友见状上前劝阻,也被对方扇马琳前妻张宁益离婚获千万家产,转嫁高管,生下2女后定居美国2010年12月17日,著名乒乓球运动员马琳与妻子张宁益离婚,引发了人们的广泛关注。对于关注乒乓球运动的人而言,马琳的名字绝对不会陌生。马琳是我国乒乓球运动当中代表性人物,在他多年新车巨幕三联屏挑战奔驰EQS?全系支持换电,飞凡R7正式上市文懂车帝原创许博懂车帝原创产品9月27日,飞凡汽车旗下纯电动轿跑SUV飞凡R7正式上市,新车共推出4款配置车型,补贴后售价为28。99万35。69万元。新车作为飞凡汽车的旗舰车型,流亡美国的阿富汗士兵再遭厄运女儿失踪,警方调查无果萨达尔和女儿合影(资料图)中国日报网9月27日电(党超峰)据纽约时报网站近期报道,多年来,阿富汗士兵萨达尔一直协助美军在阿富汗执行任务,最终获得移民签证,2019年他带着家人来到美
A股半年报成长榜新能源盈利王出炉,连续五年持续增长名单出炉(原标题A股半年报成长榜新能源盈利王出炉,锂电龙头扣非净利润翻近500倍,超越宁王!农业股二季度迎拐点,连续五年持续增长名单出炉)上半年疫情影响下,A股营收和净利润成长速度双双放缓氢能多元化应用场景显现,业内呼吁加快推进产业化进程城市客运物流运输市政环卫工业机械轨道交通内河船舶氢能多元化应用场景正越来越多地显现。但在业内人士看来,氢能产业仍处在发展初期,需通过批量化生产工艺降低成本,提高产品合格率和市场接受为什么月经结束后,出现褐色分泌物?如果你也有,别轻易忽视月经是女性独有的一种生理现象。对女性群体来说,月经不仅是女性由少女走向成熟的标志,更关乎着身体健康。月经的颜色流量周期以及来潮时的身体状态等都可以反映出女性身体中存在的问题。比如有抢抓黄金救援72小时全力搜救9月7日,四川省森林消防总队凉山支队直属大队消防员在泸定县得妥镇转移受伤群众。宋豪新樊文渊摄影报道本报北京9月7日电记者从四川省95泸定地震抗震救灾省市(州)县前线联合指挥部了解到我国认定的慈善组织已超1万个2020年慈善捐赠额突破2000亿元来源央视网9月8日上午,中共中央宣传部举行中国这十年系列主题新闻发布会,介绍新时代民政工作有关情况,并答记者问。民政部副部长詹成付介绍,党的十八大以来,我国社会组织和慈善工作取得了最新通报!截至目前,即墨共有17个高风险区,19个中风险区半岛全媒体记者王磊华敬方9月8日17时,即墨区召开第三场疫情防控新闻发布会。9月7日12时至9月8日12时,即墨区新增本土新冠肺炎确诊病例(轻型)12例,本土无症状感染者33例。相川普被爆藏有马克龙私生活绝密档案曾与多名同性传绯闻上个月,几十名FBI特工深夜闯入川普的庄园进行突击搜查,为的是搞清川普从白宫走的时候顺走了多少应该交还给档案馆的机密文件。本周,部分文件的内容在网上流出,引起轩然大波。一份是从川普我和俩同事去贵州出差没忍住每人买了三瓶酒,结果只有一瓶相同假如我们在工作中遇到了三五个值得托付工作帮助你并且能玩到一起的同事,那么你这份工作一定就会事半功倍。互相之间闲暇时候,谈天说地,分享欢乐悲伤。我和公司的两位同事就是这样干了,三个人湘雅二院再曝事故切除正常器官,埋入放射性粒子,莲子壳当肿瘤在网上粗略搜了一下,自称是实时推送热搜的博客。在这件事上,几乎没有引起什么轰动。不知道为什么!这次曝光医生误诊的主持人和媒体只有三四家。人数不多,但事件很大。被曝光的主持人中,有人新疆4亿年前的死海正在复活,这些水,是从哪里冒出来的?一直以来,人们一直听到环境被破坏的消息,似乎很少看到有关环境变好的新闻。环境遭到严重破坏如今,新疆4亿年前的死海正在复活,成了当地人的喜讯,也为一直对环境问题忧心忡忡的人们提了口气我得更新生活头条创作挑战赛首先,没有那一天是那么好的,我坚持很久,但是一直看不到希望,没办法,你看看别人生活,为何可以混的那么好,那么的高高在上,不管别人怎么混,都比你好几十倍。这就是生活本质
友情链接:快好知快生活快百科快传网中准网文好找聚热点快软网