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

品牌网站建设h合肥中山 照明 骏域网站建设

品牌网站建设h合肥,中山 照明 骏域网站建设,自己做的网站能放到阿里云上,赣州电脑网络公司思考#xff1a; 1#xff09;直接把别名切换到上一个版本索引 --解决问题 2#xff09;广告层级索引如何解决#xff1f; -routing、join 3#xff09;查询的过程#xff1a;query and fetch, 优化掉fetch 4#xff09;segment合并策略 5#xff09;全量写入时副…思考 1直接把别名切换到上一个版本索引 --解决问题 2广告层级索引如何解决 -routing、join 3查询的过程query and fetch, 优化掉fetch 4segment合并策略 5全量写入时副本数为1 6消息乱序保证广告的正确 版本号 7 查询sql优化 script脚本 ---------------------------------以下是转载内容-------------------------------------------------------------------- 回顾 之前分享了一篇文章 广告倒排索引架构与优化介绍我们的ES广告倒排索引的架构与优化我就不介绍了建议先去看下这篇文章再回来看这篇下面只放下之前的架构图 ES倒排索引 演进 采用 canal 监听 binlog 变更 原有架构是在代码中写 MQ 消息然后 index_builder 消费消息写入到两个索引中。但这种方式有个不足是不能覆盖所有的订单或创意变更所以倒排索引中的数据有的时候和 DB 中是不一致的。同时代码维护起来也比较麻烦。后面我们就引入了阿里开源的框架 canal 它可以监听 MySQL 的 binlog 的变更然后把日志发到 Kafka 中这样我们只需要在 index_builder 这个工程中消费 Kafka 的消息就行了省去了在 dsp_adinfo 中发消息。而且 binlog 的变更可以覆盖所有的变更操作。 项目由物理机迁移到云平台 之前 index_builder 部署在物理机上且 builder 采用主备部署通过争抢用 zookeeper 实现的分布式锁来决定谁是主迁移到云平台后就去掉了这种对主备部署的方式因为云平台有自动修复的策略。 注意 我们部署的两个 builder 一个为 m 索引一个为 f 索引通过环境变量 dsp_index_name 区分是 m 索引 还是 f 索引。同时因为这两个 builder 都要消费 Kafka 的消息但我们知道 Kafka 处于同一个消费组的消费者只有一个能消费消息所以要把两个 builder 放到不同的消费组中即设置不同的 group_id同样也是通过环境变量区分 增加检查数据一致性的定时任务 增加了检查 DB 和 ES倒排索引中的数据一致性的定时任务每 10 分钟执行一次如果发现不一致会发短信通知正常情况下数据都是一致的 通过上面的一点点演进整体架构如下所示 调整前架构图 一次线上问题 因为我们只部署了一套 ES 集群两个索引都在上面只是通过别名访问完成索引的切换这就存在单点问题一旦集群出现问题后果不堪设想。 就像墨菲定律所言 如果事情有变坏的可能不管这种可能有多小它总会发生 我们的场景是读多写少且索引占用内存比较小所以设置的主分片是 1 副本分片是 节点数-1这样就可以保证每个节点都保存所有数据可以减少在路由分片或节点的网络消耗。 但在一次上线过程中忘记修改副本数了所以副本数默认是 1然后切换到该索引后短时间大约几十秒内就导致 ES 集群瘫痪节点内存爆满且不响应任何请求因为主备索引都在一个 ES 集群中所以想切回主索引也切不回去了导致我们一段时间检索不出来广告从而影响出价。最后没有办法只能在入口处把流量暂停然后重启 ES很尴尬的是我们没有准备批量重启 ES 集群的脚本只能挨个节点登录重启也浪费了一些时间。ES 集群重启完后重新构建索引并正确设置副本数再打开流量才恢复了正常当时真的心惊肉跳至今记忆犹新。 为何副本是 1 最后导致了整个集群瘫痪 我们一个 ES 集群部署了 35 个节点设置的主分片是 1副本分片是节点数-1即 34这样做的好处是每个节点都有完整的数据当请求到该节点后直接查询数据就可以返回了省去了路由到其他节点带来的网络消耗 而忘记修改副本数即默认的是 1这样出现的情况是整个 ES 集群 35 个节点只有 2 个节点有数据其他节点是没有数据的但是每个节点都是均匀的接收请求但是这些没有数据的节点会把请求转发到有数据的两个节点也就是这两个节点要承担其他没有数据的 33 个节点的请求压力所以最后撑爆了整个集群 反思 这次线上问题后我们做了反思也需要采用一些对策来避免类似的情况发生 主备索引部署在同一个 ES 集群上存在单点问题所以需要再部署一个 ES 集群实现物理隔离提供重启整个 ES 集群的脚本以备在出现问题时可以快速重启集群通过别名方式切换索引是 100% 流量切换也容易出现问题所以需要一个灰度慢慢切换的方式切换索引时要增加必要的检查项调用 ES 增加熔断机制当 ES 集群出现故障时触发熔断保护 ES 集群和服务
http://www.hkea.cn/news/14371315/

相关文章:

  • 推广网站怎么做能增加咨询郑州网络推广公司排名
  • 赣州做网站的公司有哪家好网页编辑软件有哪些?
  • 上海的网站建设公司wordpress 关掉缓存
  • 企业网站建设维护方案张家界有实力seo优化费用
  • 南京市建筑工程网站做电商网站的公司简介
  • 深圳南山建设局官方网站久久建筑网解析
  • 网站如何做双链路页面设计读书笔记1500
  • 自己怎样做海外网站茂名优化网站建设
  • deals网站建设宁波网站建设地方
  • 河北住房城乡建设厅官方网站天津公司网站
  • 什么网站可以请人做软件下载网站的建设和推广
  • 网站加网页ui设计前景怎样
  • 如何用asp做网站上海自助建站软件
  • 农安县住房城乡建设局网站深圳建设人力资源网
  • 站长统计app进入网址新版个人网站的首页
  • 石家庄做网站电话php做网站 价格
  • 做网站其实不贵asp网站怎么打开
  • 北京建设银行分行招聘网站专业网站建设公司排名
  • 短网址生成站长工具网页设计要学所有软件吗
  • 张家港保税区规划建设局网站怎么找回网站
  • 搭建网站的英语东莞24小时推广首页
  • 做网站用什么平台手机版网站模板 免费
  • 微站直播平台太原网站建设公司排名
  • 淘宝联盟怎么做自已的网站北京昌平网站设计
  • 襄阳住房和城乡建设局网站首页深圳网站建设首选上榜网络
  • drupal 网站建设网站模版购买
  • 云南网站建设公司排行网站开发有哪些常用工具
  • 正规网站开发流程学校网站建设先进事迹
  • 校体育网站建设的好处桂林生活网招聘信息网
  • 中国水电建设集团网站重庆有什么好玩的