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

做网站实现发送信息功能上海做seo的公司

做网站实现发送信息功能,上海做seo的公司,知名设计公司,提供广州网站建设一、消息丢失的时机? 生产端消息丢失 问题:因为网络异常导致消息发送失败,此时可能会产生消息丢失的情况,重试后可能产生消息重复生产的情况。 解决:超时重试,并在消费端保证幂等性。 消息队列中消息丢失 …

一、消息丢失的时机?

  1. 生产端消息丢失
    问题:因为网络异常导致消息发送失败,此时可能会产生消息丢失的情况,重试后可能产生消息重复生产的情况。
    解决:超时重试,并在消费端保证幂等性。

  2. 消息队列中消息丢失
    问题:如kafka是将数据存储在磁盘,如果每条消息写入时都立马存储在磁盘中会产生很多随机IO,随机IO耗时很高,因此数据是先写入缓冲区中,再根据特定的时机刷新到磁盘中,减少随机IO的开销。假设还未刷新到磁盘就出现宕机情况,则会产生消息丢失的情况。
    解决:可以考虑以集群方式部署Kafka服务,通过部署多个副本备份数据保证消息尽量不丢失。

  3. 消费端消费时丢失
    问题:消费者消费消息的进度是记录在消息队列集群中的,而消费的过程分为三步:接收消息、处理消息、更新消费进度。消费端网络抖动或者消费端业务逻辑异常导致中断,此时会产生消息丢失的情况。
    解决:一定要等到消息接收和处理完成后才能更新消费进度,但是这也会造成消息重复的问题,比方说某一条消息在处理之后消费者恰好宕机了,那么因为没有更新消费进度,所以当这个消费者重启之后还会重复地消费这条消息。

二、如何避免重复消费?

  1. 生产端重复发送
    kafka支持生产端幂等,这种特性保证消息虽然可能在生产端产生重复,但是最终在消息队列存储时只会存储一份。
    它的做法是给每一个生产者一个唯一的ID,并且为生产的每一条消息赋予一个唯一ID,消息队列的服务端会存储<生产者ID,最后一条消息ID>的映射。当某一个生产者产生新的消息时,消息队列服务端会比对消息ID是否与存储的最后一条ID一致,如果一致就认为是重复的消息,服务端会自动丢弃。

  2. 消费端幂等
    解决1:在生产时定义一个全局的唯一id,在消费端判断id是否被处理过。
    解决2:数据库增加版本字段,执行sql时会有乐观锁。

三、减少消息延迟的方式?

  1. 优化消费端耗时逻辑。
  2. 增加消费者数量,在kafka中一个partition只能被一个消费者消费,所以单纯增加消费者数量对kafka来说是无用的,可以增加partition。
http://www.hkea.cn/news/24304/

相关文章:

  • 十大营销网站seo关键词查询工具
  • 怎么查询网站所有关键词靠谱的广告联盟
  • 超酷的网站设计磁力搜索引擎
  • 网站建设写程序用什么软件成都疫情最新消息
  • 做网站需要什么资金2022今天刚刚发生地震了
  • 建设网站费用主要包括哪些google商店
  • 专注邯郸建设手机网站贴吧友情链接在哪
  • 网站备案拍照背景志鸿优化网官网
  • 网站百度知道怎么做推广网站搜索引擎优化的方法
  • 网站建设注意哪些问题sem和seo是什么职业岗位
  • 一_建设网站前的市场分析奶茶软文案例300字
  • 做网站智能工具江阴企业网站制作
  • 怎么看网站有没有做推广大数据营销系统多少钱
  • 广东工厂搜索seoseo平台优化服务
  • 网站开发平台 eclipseseo网站推广案例
  • 什么网站做调查能赚钱关键词优化报价推荐
  • 网站开发职业认知小结开发一个app平台大概需要多少钱?
  • 装修公司全包项目seo搜索引擎实训心得体会
  • 爱站网是干什么的长沙关键词排名首页
  • wordpress 教垜四川seo推广公司
  • 东莞市阳光网青岛seo服务
  • 网站弹窗在中间位置企业培训师
  • 整站下载器 安卓版域名解析查询站长工具
  • 跨境自建站模板seo推广是做什么
  • 网站建设与网页设计报告网络营销师报名入口
  • 生成前端页面的网站东莞网络营销全网推广
  • 网站及单位网站建设情况免费男女打扑克的软件
  • 公司有网站有什么好处网上开店如何推广自己的网店
  • 海口网站建设策划关键词排名优化工具有用吗
  • 请问哪里可以做网站汕头seo