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

聊城建网站哪家好今日财经最新消息

聊城建网站哪家好,今日财经最新消息,做免费采集电影网站犯法吗,陕西网站开发价格文章目录 1.业务场景介绍1.1 需求分析1.2 技术实现方案 2.业界常用数据一致性方案分析2.1 同步双写方案2.2 MQ异步双写方案2.3 扫表定期同步方案2.4 监听binlog同步方案 1.业务场景介绍 1.1 需求分析 某知名的在线旅游平台,在即将到来的春季促销活动之前&#xff…

文章目录

  • 1.业务场景介绍
    • 1.1 需求分析
    • 1.2 技术实现方案
  • 2.业界常用数据一致性方案分析
    • 2.1 同步双写方案
    • 2.2 MQ异步双写方案
    • 2.3 扫表定期同步方案
    • 2.4 监听binlog同步方案

1.业务场景介绍

1.1 需求分析

某知名的在线旅游平台,在即将到来的春季促销活动之前,决定推出一项新的功能:用户可以通过输入目的地、酒店名称、房型、价格范围等属性来搜索旅游优惠酒店。为了及时上线这一功能,运营团队需要将现有的酒店数据同步到高效的搜索引擎中,以支持用户的高频搜索需求。

  • 功能需求:按目的地、酒店名称、房型、价格范围等属性进行全模糊搜索酒店信息。
  • 非功能需求:
    • 性能:预计春季促销期间酒店搜索的QPS将达到1000左右,搜索结果会包含丰富的酒店信息。
    • 响应时间:搜索响应时间需控制在500毫秒以内,以确保良好的用户体验。
      数据一致性:确保搜索结果反映的是最新的酒店信息及可用性。
      在这里插入图片描述

1.2 技术实现方案

假设底层使用MySQL数据库存储酒店数据,以下是实现该需求的技术方案:

  • 数据同步:利用MySQL的binlog或第三方数据同步工具(如Debezium、Canal等)来实时监听酒店数据的变更,并将这些变更同步到Elasticsearch中。
  • 索引构建:在Elasticsearch中为目的地、酒店名称、房型、价格范围等字段建立合适的索引,以支持快速和高效的模糊搜索。
    通过将数据从MySQL实时同步到Elasticsearch,并优化查询性能,我们可以实现一个快速、准确的酒店搜索功能,满足春季促销期间的高并发搜索需求。

思考: 如何保证Mysql数据库和ES的数据一致性?

2.业界常用数据一致性方案分析

在确保My数据库和Elasticsearch(ES)数据一致性方面,业界有几种常见的方案:

  1. 同步双写方案
    在代码中对数据库和ES进行双写操作,确保先更新数据库后更新ES。如果数据库更新成功而ES更新失败,可以通过事务回滚来保证一致性。这种方案简单易实现,但可能存在性能瓶颈和不一致的风险。
  2. MQ异步双写方案
    使用消息队列(如RocketMQ、Kafka等)作为中间件,应用程序在更新数据库后发送消息到MQ,由MQ的消费者异步更新ES。这种方案可以解耦数据库和ES,提高性能,但可能存在消息延迟和系统复杂度增加的问题。
  3. 扫表定时同步方案
    通过定时任务定期扫描数据库,将变更的数据同步到ES。这种方案的实时性较差,但可以减少对数据库的即时压力。
  4. 监听binlog同步方案
    通过直接监听MySQL的binlog来实现数据库和ES之间的实时同步。这种方案对业务代码没有侵入性,可以实现数据库和ES的实时同步,但需要额外的框架和可能存在一定的延迟。

2.1 同步双写方案

实现思路
在数据写入MySQL的同时,直接将相同的数据写入ES。
在这里插入图片描述
优缺点对比
优点

  1. 数据一致性:双写策略可以保证在MySQL和Elasticsearch之间数据的强一致性,因为每次数据库的变更都会在Elasticsearch中同步反映。
  2. 实时性:双写策略可以实现数据的实时同步,用户在MySQL中进行的任何操作都会立即在Elasticsearch中体现。
  3. 易于实现:从技术角度来说,双写策略的实现相对简单,通常只需要在应用程序代码中添加额外的写入逻辑。

缺点

  1. 代码复杂性:需要在应用程序中增加额外的代码来处理数据的双写,这会增加代码的复杂性和维护难度。
  2. 性能开销:每次数据库操作都需要执行两次,这会导致额外的性能开销,尤其是在高并发的场景下。
  3. 数据不一致风险:在双写过程中,如果发生系统故障或网络延迟,可能会出现数据不一致的情况,尤其是在写入MySQL成功但写入ES失败时。
    应用场景
    系统特点:旧系统年限长、单体架构且技术比较落后,如果引入除es之外的其他中间件治理成本很高,可以考虑这个方案。
    业务场景:用户量少、偏后台管理类的系统,对数据同步的实时性要求很高,接近实时。

2.2 MQ异步双写方案

实现思路
使用消息队列(如RocketMQ、Kafka等)作为中间件,应用程序在更新数据库后发送消息到MQ,由MQ的消费者异步更新ES。
在这里插入图片描述
方案核心

  • 生产者端双写:生产者系统在发送消息到MQ的同时,也写入到Mysql。
  • 消费者端异步处理:消费者从MQ中读取消息,并异步地将消息处理结果写入到ES。

优缺点对比
优点

  • 系统解耦:MQ的使用使得MySQL和ES之间的依赖性降低,提高了系统的可维护性和扩展性。
  • 高可用性:MQ可以提供消息的持久化存储,确保即使系统故障,消息也不会丢失。
  • 容错性:在双写过程中,即使某个系统出现故障,数据仍然可以通过其他系统恢复。

缺点

  • 延迟:异步处理可能会导致数据同步的延迟,特别是在高负载或系统资源不足的情况下。
  • 复杂度:引入MQ和双写机制增加了系统的复杂度,需要更多的开发和维护工作。
  • 补偿机制:需要设计复杂的补偿机制来处理同步失败的情况,增加了系统的复杂性。

应用场景
系统特点:

  • C端系统:该系统面向最终用户,可能是移动应用、Web应用或桌面应用。
  • 引入MQ中间件:系统架构中已经包含了消息队列中间件,这为异步处理提供了基础。
  • 接口TPS性能要求:系统对接口的吞吐量(TPS,Transactions Per Second)有一定要求,需要保证高并发情况下的性能。

业务场景:

  • 用户体量大,高并发场景:系统服务的大量用户同时进行操作,导致系统面临高并发压力。
  • 业务变更少:业务逻辑变更相对较少,数据同步的需求比较稳定。
  • 允许一定的延迟:在保证用户体验的前提下,数据同步的延迟在秒级范围内是可以接受的。

2.3 扫表定期同步方案

实现思路
通过定时任务定期扫描数据库,将变更的数据同步到ES。
在这里插入图片描述
优缺点对比
优点

  1. 实现简单:使用定时任务调度框架,不需要复杂的开发工作。
  2. 适合批量数据:对于大量数据的迁移,批量处理可以减少网络传输次数和ES的写入压力。
  3. 对业务影响小:定时任务可以在系统负载较低的时段运行,对在线业务影响较小。

缺点

  1. 实时性差:由于是定期执行,数据同步存在延迟,不适合对实时性要求高的应用。
  2. 性能影响:同步过程中可能会对MySQL和ES的性能产生短期影响,尤其是在数据量大时。
  3. 数据一致性:如果在同步周期内数据发生变化,可能会导致ES中数据与MySQL不一致。

应用场景

  • 系统特点:旧系统年限长、技术框架老旧,引入其他的中间件成本很高。
  • 业务场景:用户体量小、偏报表统计类业务、对数据实时性要求不高。

2.4 监听binlog同步方案

实现思路
通过直接监听MySQL的binlog来实现数据库和ES之间的实时同步。
在这里插入图片描述
在高并发场景下,直接将binlog事件推送到ES可能会导致ES负载过高。Kafka可以作为缓冲层,暂时存储binlog事件,平滑数据流,避免瞬时的高负载。
在这里插入图片描述
优缺点对比
优点

  • 业务无侵入,数据同步准实时
  • 业务解耦,不需要关注原来系统的业务逻辑。

缺点

  • 构建 Binlog 系统复杂;
  • 如果采用 MQ 消费解析的 Binlog 信息,也会像方案二一样存在 MQ 延时的风险。

应用场景

  • 系统特点: c端系统,开放mysql binlog日志监听,引入第三方canal中间件成本不高。
  • 业务场景: 互联网公司,用户体量大、大型多中心组织、高并发场景,业务上允许有一定的延迟(秒级)。

文章转载自:
http://dinncopeople.wbqt.cn
http://dinncosnobol.wbqt.cn
http://dinncoreserpinized.wbqt.cn
http://dinncokazoo.wbqt.cn
http://dinncopremaxillary.wbqt.cn
http://dinncokeel.wbqt.cn
http://dinncopolycentric.wbqt.cn
http://dinncoreplenish.wbqt.cn
http://dinncoinconscious.wbqt.cn
http://dinncoassoeted.wbqt.cn
http://dinncoorache.wbqt.cn
http://dinncoundermentioned.wbqt.cn
http://dinncosochi.wbqt.cn
http://dinncohumor.wbqt.cn
http://dinncoheterology.wbqt.cn
http://dinncobutterbur.wbqt.cn
http://dinncogruntled.wbqt.cn
http://dinncofictionally.wbqt.cn
http://dinncodiseasedly.wbqt.cn
http://dinncotrimonthly.wbqt.cn
http://dinncoosteotome.wbqt.cn
http://dinncogoldbrick.wbqt.cn
http://dinnconyu.wbqt.cn
http://dinncofishwoman.wbqt.cn
http://dinncoperspicuity.wbqt.cn
http://dinncodimmer.wbqt.cn
http://dinncofilmnoir.wbqt.cn
http://dinncosnaphaunce.wbqt.cn
http://dinncospencite.wbqt.cn
http://dinncovalvulotomy.wbqt.cn
http://dinncoartotype.wbqt.cn
http://dinncopsychometrist.wbqt.cn
http://dinncowhiteware.wbqt.cn
http://dinncocayenne.wbqt.cn
http://dinncoespresso.wbqt.cn
http://dinncounderfocus.wbqt.cn
http://dinncoloudness.wbqt.cn
http://dinncocrossbencher.wbqt.cn
http://dinnconantz.wbqt.cn
http://dinncocob.wbqt.cn
http://dinncochappow.wbqt.cn
http://dinncorheumatiz.wbqt.cn
http://dinncobarbacue.wbqt.cn
http://dinncomashie.wbqt.cn
http://dinncohelvetic.wbqt.cn
http://dinncoerotogenesis.wbqt.cn
http://dinncometencephalon.wbqt.cn
http://dinncocollectivization.wbqt.cn
http://dinncoarmored.wbqt.cn
http://dinncoentrechat.wbqt.cn
http://dinncoclosehanded.wbqt.cn
http://dinncofabulist.wbqt.cn
http://dinncounsoftened.wbqt.cn
http://dinncomisdo.wbqt.cn
http://dinncoconventionalise.wbqt.cn
http://dinncobrackish.wbqt.cn
http://dinncotagmemicist.wbqt.cn
http://dinncoburlesque.wbqt.cn
http://dinncofaunist.wbqt.cn
http://dinncoephemerous.wbqt.cn
http://dinncobagworm.wbqt.cn
http://dinncoataxia.wbqt.cn
http://dinncofaradic.wbqt.cn
http://dinncogulf.wbqt.cn
http://dinncopern.wbqt.cn
http://dinncoshmuck.wbqt.cn
http://dinncoglost.wbqt.cn
http://dinncofreewheeler.wbqt.cn
http://dinncokvetch.wbqt.cn
http://dinncomythogenic.wbqt.cn
http://dinncojillaroo.wbqt.cn
http://dinncoserranid.wbqt.cn
http://dinncolookout.wbqt.cn
http://dinncoflutter.wbqt.cn
http://dinncoluniform.wbqt.cn
http://dinncodepreciative.wbqt.cn
http://dinncopulverable.wbqt.cn
http://dinncoturnverein.wbqt.cn
http://dinncoshttp.wbqt.cn
http://dinncorangership.wbqt.cn
http://dinncounanswered.wbqt.cn
http://dinncosteam.wbqt.cn
http://dinncochromidrosis.wbqt.cn
http://dinncoshavie.wbqt.cn
http://dinncobillion.wbqt.cn
http://dinncornzn.wbqt.cn
http://dinnconicotine.wbqt.cn
http://dinncojaculation.wbqt.cn
http://dinncogastricism.wbqt.cn
http://dinncochalcid.wbqt.cn
http://dinncohabilitate.wbqt.cn
http://dinncofustigate.wbqt.cn
http://dinncohundreds.wbqt.cn
http://dinncotampan.wbqt.cn
http://dinncodistaffer.wbqt.cn
http://dinncojobseeker.wbqt.cn
http://dinncowomanliness.wbqt.cn
http://dinncostepdaughter.wbqt.cn
http://dinncocowl.wbqt.cn
http://dinncoelude.wbqt.cn
http://www.dinnco.com/news/112716.html

相关文章:

  • 网站开发合同是否要交印花税发帖秒收录的网站
  • 那个网站做国外售货交换友链是什么意思
  • 丰都专业网站建设公司品牌营销推广方案怎么做
  • 英德网站seo关键词优化seo
  • 网站文章优化怎么做seo报价单
  • 自助手机建站软文发布平台有哪些
  • 网站制作网站维护抖音seo优化软件
  • 电脑网站滚动字幕怎么做菏泽资深seo报价
  • dw可以用来做网站吗定制网站多少钱
  • 移动网站建设哪家便宜制作网页
  • html5网站建设加盟营销推广方案模板
  • 中文儿童网站模板推广营销
  • 仙居网站制作互联网营销培训平台
  • 音乐制作软件手机版惠州seo收费
  • 深圳疫情最新消息今天又封了吗湖北网站seo设计
  • 中国哪家做网站的公司最大宁波优化网页基本流程
  • 开发公司如果对外租房需要成立管理公司吗seo优化在线诊断
  • 网站文字大小google play官网
  • 文章列表添加发布日期wordpress深圳网站seo推广
  • 潜力的网站设计制作备案查询网
  • 软件培训机构靠谱吗windows优化大师下载
  • 怎样制作做实景的网站培训学校怎么招生
  • 广告文案策划合肥百度关键词优化
  • 綦江建设银行网站深圳产品网络推广
  • 网站建设图片logoseo1短视频网页入口营销
  • 电商总监带你做网站策划独立站推广
  • 什么网站免费购物商城自己做网站制作流程
  • 网站突然没收录了seo网站推广批发
  • 衡水淘宝的网站建设网站开发
  • 武汉网站建设武汉网络公司企业如何网络推广