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

信息网站 微站网络推广软件平台

信息网站 微站,网络推广软件平台,谷歌收录wordpress,七牛镜像 wordpress文章目录 1. 同步双写优点缺点实现方式 2. 异步双写优点缺点实现方式 3. 另起应用 SQL 查询写入优点缺点实现方式 4. Binlog 实时同步优点缺点实现方式 5. 应用场景 本文参考: https://www.bilibili.com/video/BV13hvZeaErr/?vd_sourceb7e4d17fd13ffa91c4da6d37c08a6c7c 最近在… 文章目录 1. 同步双写优点缺点实现方式 2. 异步双写优点缺点实现方式 3. 另起应用 SQL 查询写入优点缺点实现方式 4. Binlog 实时同步优点缺点实现方式 5. 应用场景 本文参考: https://www.bilibili.com/video/BV13hvZeaErr/?vd_sourceb7e4d17fd13ffa91c4da6d37c08a6c7c 最近在重构某个老系统其大部分查询逻辑都是做在 MySQL 存储层上的当面临一些复杂的过滤逻辑以及分页逻辑时都需要后端工程师根据前端传参做一些定制逻辑后端项目上线发布的人力成本较大并且大部分过滤逻辑都是在后端代码内部做的代码可读性与复用性都不高。同时随着时间的迁移数据库的数据量越来越多核心首页接口的耗时碰到了瓶颈。为了项目未来的发展于是决定将原项目重构进行读写异构分离建设写入 MySQL查询走 ES。于是调研了一下 MySQL 数据写入 ES 的一些方式简要分析各个方案的优缺点。 主要包含以下 4 种方案 同步双写异步双写另起应用 SQL 查询写入Binlog 实时同步 1. 同步双写 数据写入 MySQL 的同时通过编程逻辑将相同逻辑写入 ES 优点 实时性 数据变更能直连写入 ES近乎保证了 ES 的实时性 简单性 实现起来比较简单不需要引入额外的组件也不需要复杂的逻辑 缺点 性能影响 应用内部每次写入 MySQL 同时写入 ES会对两个系统同时产生影响 数据一致性风险 如果双写失败比方说写入 MySQL 以后应用宕机未写入 ES两者数据不一致 系统耦合 ​ 每个写入操作都需要双写逻辑增加了业务的复杂性和维护难度 集群容灾差 如果要实现多集群容灾写入相同的写入逻辑需要往每个集群都做一次 实现方式 分别调用 MySQL 和 ES 的 Client SDK 双写即可 2. 异步双写 利用消息队列异步处理数据写入操作 优点 性能提升 MQ 异步处理减少了接口同步等待的时间 容错性 消息队列有持久化和重试机制提高了 ES 数据同步的可靠性 集群容灾水平高 MQ 消息可以被不同集群的 ES 消费者组监听 缺点 数据延迟 异步处理数据延迟较高 系统复杂度 需要引入消息队列和额外的消费逻辑增加了系统的复杂度 数据一致性风险 虽然消息队列具有持久化机制可以重试保证最终一致但是当应用写入 MySQL 但是还未将消息投递到消息队列时仍然具有一致性的风险 实现方式 首先需要接入消息队列在应用代码中编写生产者逻辑ES 侧也需要有消费者的逻辑 3. 另起应用 SQL 查询写入 通过定时任务或者单独起一个应用去查询数据库中的某个时间段内的记录并作转换逻辑同步至 ES 优点 性能提升 也是异步处理减少了接口同步等待的时间 无侵入性 不需要修改原有的业务逻辑原系统对此无感知 缺点 时效性差 定时任务或者应用 RPC 拉取仍然存在延迟 性能压力 查询某一时间段数据会对原来的数据库产生额外的查询压力 集群容灾差 如果要实现多集群容灾写入相同的写入逻辑需要往每个集群都做一次 实现方式 维护时间戳字段方便每次查询出新时间段的记录定时任务/应用代码逻辑单独上线 4. Binlog 实时同步 利用 MySQL 的 Binlog 日志通过消息队列消费变化来同步至 ES 优点 性能提升 也是异步处理减少了接口同步等待的时间 无侵入性 不需要修改原有的业务逻辑原系统对此无感知 数据一致性 MySQL Binlog 可以精准捕捉到数据库的所有变更 容错性 通常搭配 MQ 使用在网络波动下仍然能够重试保证数据的最终一致并且 MQ 还具有一定的削峰作用对 ES 写入较友好 缺点 系统复杂度 需要维护 Binlog 日志监听和消息队列系统增加了系统的复杂度延迟问题 “准实时”同步但是其中涉及到不同组件间的网络传输较多相比于直连写入 ES 延迟较大 实现方式 MySQL Binlog 日志开启Binlog 监听器配置消息队列集成确保 Binlog 变更能够发送到消息队列中消费者逻辑开发从消息队列中读取 Binlog 并转换成 ES 可以理解的格式 5. 应用场景 在公司内部通常都采用第4种解决方案通常都有内部的平台使用实现存量数据和增量数据的迁移前面两种方式还需要修改原有的逻辑代码。 如果追求时效性的话可以增加冗余写入链路比方说直连写入 异步写入保证一致性的同时增强时效性但是注意处理 ES 的冲突解决策略通常两条相同记录的写入采用的是替换 Replace 策略。
http://www.dnsts.com.cn/news/137600.html

相关文章:

  • 网站搭建技术要求邯郸公众号小程序制作
  • 音乐网站怎么做社交的德阳互联免费云主机
  • 哪家网站专做女性服装烟台网站建设优惠臻动传媒
  • 网站建设和管理情况自媒体创业计划书word
  • 网站服务器和空间的区别新闻 最新消息
  • 做自己的外贸网站怎样赚钱网站建设打造
  • 搜索各大网站北京公司网站制作方法
  • 大石桥做网站长春seo排名外包
  • 做同业业务一般关注哪些网站网站怎么做防御
  • 子网站怎么做网站建设分录怎么开
  • 海洋网络新郑做网站优化
  • 公司小网站怎么做五个h5制作网站
  • 简述网站开发技术哪里做网站公司好
  • 百度识图搜索图片来源合肥seo优化外包公司
  • 哪里找做网站的网站数据库网络错误怎么解决方案
  • 长沙精品网站制作深圳网站建设公司小江
  • 大型网站制作方案建站之星 discuz
  • 长春建设平台网站的公司吗江苏连云港网站设计公司
  • 男女做暖暖的视频试看网站招聘织梦网站
  • 买网站需要多少钱wordpress 评论 正在提交_请稍后
  • 山西建设局网站首页常州网站建设外包
  • 做的网站用户密码在哪里找企业网站内容更新
  • 无锡网站制作选哪家中国建设在线平台官网
  • 网站打赏怎么做的软件开发服务费
  • 中国建设银行网站上不去网站备案不注销有什么后果
  • 关注网站建设怎么做网络平台
  • 温州企业模板建站如何把字体导入wordpress
  • 怎样用自己的主机做网站平凉公司网站建设
  • seo网站推广多少钱最难进的十大央企
  • 南京市浦口区城乡建设局网站微信网站开发源代码