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

下载软件的网站哪个好住房和城乡建设部网站共有产权

下载软件的网站哪个好,住房和城乡建设部网站共有产权,北京商场购物中心排名,濮阳百姓网免费发布信息网MongoDB分片集群架构详解 为什么要使用分片 分片#xff08;shard#xff09;是指在将数据进行水平切分之后#xff0c;将其存储到多个不同的服务器节点上的一种扩展方式。 一个复制集能承载的容量和负载是有限的#xff0c;遇到以下场景就需要考虑使用分片 存储容量需…MongoDB分片集群架构详解 为什么要使用分片 分片shard是指在将数据进行水平切分之后将其存储到多个不同的服务器节点上的一种扩展方式。 一个复制集能承载的容量和负载是有限的遇到以下场景就需要考虑使用分片 存储容量需求超出单机的磁盘容量。活跃的数据集超出单机内存容量导致很多请求都要从磁盘读取数据影响性能。写IOPS超出单个MongoDB节点的写服务能力。 分片集群架构 MongoDB 分片集群Sharded Cluster是对数据进行水平扩展的一种方式。MongoDB 使用 分片集群来支持大数据集和高吞吐量的业务场景。 数据分片分片用于存储真正的数据并提供最终的数据读写访问。分片仅仅是一个逻辑的概念它可以是一个单独的mongod实例也可以是一个复制集。配置服务器Config Server配置复制集中保存了整个分片集群中的元数据其中包含各个集合的分片策略以及分片的路由表等。查询路由mongosmongos是分片集群的访问入口其本身并不持久化数据。mongos启动后会从配置服务器中加载元数据。之后mongos开始提供访问服务并将用户的请求正确路由到对应的分片。在分片集群中可以部署多个mongos以分担客户端请求的压力。 分片策略 通过分片功能可以将一个非常大的集合分散存储到不同的分片上。 范围分片 范围分片能很好地满足范围查询的需求范围分片的缺点在于如果Shard Key有明显递增或者递减趋势则新插入的文档会分布到同一个chunk此时写压力会集中到一个节点从而导致单点的性能瓶颈。 哈希分片 哈希分片会先事先根据分片键计算出一个新的哈希值64位整数再根据哈希值按照范围分片的策略进行chunk的切分。适用于日志物联网等高并发场景。在执行一些范围查询时哈希分片并不是高效的。哈希分片只能选择单个字段而范围分片允许采用组合式的多字段作为分片键。 分片标签 MongoDB允许通过为分片添加标签tag的方式来控制数据分发。 一个标签可以关联到多个分片区间TagRange。均衡器会优先考虑chunk是否正处于某个分片区间上被完全包含如果是则会将chunk迁移到分片区间所关联的分片否则按一般情况处理。 分片键ShardKey的选择 分片键的基数cardinality取值基数越大越有利于扩展。分片键的取值分布应该尽可能均匀业务读写模式尽可能分散写压力而读操作尽可能来自一个或少量的分片。分片键应该能适应大部分的业务操作。 分片键ShardKey的约束 ShardKey 大小无限制支持复合哈希分片键Document 中可以不包含 ShardKey插入时被当 做 Null 处理为 ShardKey 添加后缀 refineCollectionShardKey 命令可以修改 ShardKey 包含的 Field 数据均衡 所有的数据应均匀地分布于不同的chunk上。每个分片上的chunk数量尽可能是相近的。 手动均衡 通过splitAt、moveChunk命令进行手动切分、迁移。 自动均衡 MongoDB的数据均衡器运行于Primary Config Server配置服务器的主节点上而该节点也同时会控制chunk数据的搬迁流程。 自动均衡流程 分片shard0在持续的业务写入压力下产生了chunk分裂。分片服务器通知Config Server进行元数据更新。Config Server的自动均衡器对chunk分布进行检查发现shard0和shard1的chunk数差异达到了阈值向shard0下发moveChunk命令以执行chunk迁移。shard0执行指令将指定数据块复制到shard1。该阶段会完成索引、chunk数据的复制而且在整个过程中业务侧对数据的操作仍然会指向shard0所以在第一轮复制完毕之后目标shard1会向shard0确认是否还存在增量更新的数据如果存在则继续复制。shard0完成迁移后发送通知此时Config Server开始更新元数据库将chunk的位置更新为目标shard1。在更新完元数据库后并确保没有关联cursor的情况下shard0会删除被迁移的chunk副本。Config Server通知mongos服务器更新路由表。此时新的业务请求将被路由到shard1。 mongodb6.0迁移条件 如果碎片之间的数据差异(对于该集合)小于该集合配置范围大小的三倍则认为该集合是平衡的。对于128MB的默认范围大小对于给定的集合两个分片必须具有至少384MB的数据大小差异才能进行迁移。 #在每天的凌晨2点到4点运行数据均衡操作 use config sh.setBalancerState(true) db.settings.update({_id:balancer},{$set:{activeWindow:{start:02:00,stop:04:00}}},{upsert:true} )#对分片集合中执行count命令可能会产生不准确的结果 使用db.collection.countDocuments({})方法代替 #查看均衡器是否开启 sh.getBalancerState() #查看均衡器是否正在运行 sh.isBalancerRunning() #查看当前均衡的窗口设定 sh.getBalancerWindow() MongoDB高级集群架构设计 MongoDB 集群两地三中心部署的考量点 • 节点数量建议要5个221模式 • 主数据中心的两个节点要设置高一点的优先级减少跨中心换主节点 • 同城双中心之间的网络要保证低延迟和频宽满足 writeConcern: Majority 的双中心写需求 • 使用 Retryable Writes and Retryable Reads 来保证零下线时间 • 用户需要自行处理好业务层的双中心切换 两地三中心复制集搭建 #配置域名解析 echo 192.168.139.135 mongo1 mongo01.com mongo02.com /etc/hosts echo 192.168.139.136 mongo2 mongo03.com mongo04.com /etc/hosts echo 192.168.139.137 mongo3 mongo05.com /etc/hosts#启动5个 MongoDB 实例 mkdir -p /data/member1/db /data/member1/log /data/member2/db /data/member2/log mongod --dbpath /data/member1/db --replSet demo --bind_ip 0.0.0.0 --port 10001 --fork --logpath /data/member1/log/member1.log mongod --dbpath /data/member2/db --replSet demo --bind_ip 0.0.0.0 --port 10002 --fork --logpath /data/member2/log/member2.logmkdir -p /data/member3/db /data/member3/log /data/member4/db /data/member4/log mongod --dbpath /data/member3/db --replSet demo --bind_ip 0.0.0.0 --port 10001 --fork --logpath /data/member3/log/member3.log mongod --dbpath /data/member4/db --replSet demo --bind_ip 0.0.0.0 --port 10002 --fork --logpath /data/member4/log/member4.logmkdir -p /data/member5/db /data/member5/log mongod --dbpath /data/member5/db --replSet demo --bind_ip 0.0.0.0 --port 10001 --fork --logpath /data/member5/log/member5.logmongo mongo01.com:10001 # 初始化复制集 rs.initiate({_id : demo,version : 1,members : [{ _id : 0, host : mongo01.com:10001 },{ _id : 1, host : mongo02.com:10002 },{ _id : 2, host : mongo03.com:10001 },{ _id : 3, host : mongo04.com:10002 },{ _id : 4, host : mongo05.com:10001 }] }) #查看复制集状态 rs.status()#配置选举优先级 mongosh mongo01.com:10001 conf rs.conf() conf.members[0].priority 5 conf.members[1].priority 10 rs.reconfig(conf)#使用Retryable Writes以后即使出现数据中心故障对前端业务没有任何中断 mongosh --retryWrites mongodb://mongo01.com:10001,mongo02.com:10002,mongo03.com:10001,mongo04.com:10002,mongo05.com:10001/test?replicaSetdemo ingest-script#vim ingest-script db.test.drop() for(var i1;i1000;i){db.test.insert({item: i});inserted db.test.findOne({item: i});if(inserted)print( Item i was inserted new Date().getTime()/1000);elseprint(Unexpected inserted)sleep(2000); }
http://www.yutouwan.com/news/194620/

相关文章:

  • 合肥企业网站制作公司百度一下下载
  • 少儿教育网站建设价格传奇4端游
  • 网站后缀net建筑网校哪个比较好
  • 深圳网站设计公司用记事本制作html网页代码
  • 做淘宝客网站备案要怎么写石排网站设计
  • 网站建设内容介绍好看的网页设计作品图片
  • 做网站 信科网络阿里云 发布网站 教程
  • 安阳手机网站制作wordpress 用户字段
  • 网站后台密码忘记了怎么办wordpress 搭网站
  • 如何写网页阳江网站seo服务
  • 做物流网站模块上海建设银行官网网站6
  • 万能素材库山东自助seo建站
  • wordpress自定义鼠标seo 海外
  • 织梦新闻门户网站模板 原创精品福州网站seo优化公司
  • 网站建设排行公司吉林公司做网站
  • 中山网站建设seo优化营销制作设计全国特种作业人员证查询系统
  • 网站收录大幅度下降室内设计师收入
  • 济南网站备案wordpress收不到注册邮件
  • 网站做多个镜像网站开发技术合同
  • 建设网站需要什么技术人员手机网站表单页面制作
  • 网站动态logo怎么做免费设计logo的app
  • 快速搭建网站 开源做外贸的阿里巴巴网站是哪个好
  • 营销网站建设规划概念1.86神华网站两学一做
  • 手机传奇手游发布网站建一个网站做cpa联盟
  • 北京做网络工程公司的网站常用的网络推广方式有哪些
  • 阿里云做视频网站可以吗外贸用什么软件
  • 网站 优化 教程可口可乐软文范例
  • 网站在百度上搜索不到网页文章导入wordpress
  • html网页制作简单范例秦皇岛市做网站优化
  • 怎么做网站滑动图片部分百度账号登录个人中心