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

个人nas做网站什么是电商

个人nas做网站,什么是电商,网站提示框代码,网站设计模板免费建站一、 正常工作流程 生产者发送消息到kafka集群,然后由集群发送到消费者。 但是可能中途会出现消息的丢失。下面是解决方案。 二、 生产者发送消息到Brocker丢失 1. 设置异步发送 //同步发送RecordMetadata recordMetadata kafkaProducer.send(record).get();//异…

一、 正常工作流程

        生产者发送消息到kafka集群,然后由集群发送到消费者。

        但是可能中途会出现消息的丢失。下面是解决方案。

二、 生产者发送消息到Brocker丢失

1. 设置异步发送

    //同步发送RecordMetadata recordMetadata = kafkaProducer.send(record).get();//异步发送kafkaProducer.send(record,new Callback() {@Override public void onCompletion (RecordMetadata recordMetadata, Exception e){if (e != null) {System.out.println("消息发送失败 | 记录日志");}long offset = recordMetadata.offset();int partition = recordMetadata.partition();String topic = recordMetadata.topic();}});

2.消息重试

//设置重试次数
prop.put(ProducerConfig.RETRIES_CONFIG,10);

三、消息在Brocker中存储丢失

        发送确认机制acks。消息首先Topic是key,到达Topic以后才选择分区Partition(默认就一个分区,0号分区),默认连接的就是分区的Leader节点,由leader分区同步到follower区中。

四、消费者从Brocker接收消息丢失

1.分区机制

        1. Kafka 中的分区机制指的是将每个主题划分成多个分区(Partition)。

        2. topic分区中消息只能由消费者组中的唯一一个消费者处理,不同的分区分配给不同的消费者(同一个消费者组)。

2.消费方式

        消费者默认是自动按期提交已经消费的偏移量,默认是每隔5s提交一次,如果出现重平衡的情况,可能会重复消费或丢失数据

3.那如何解决重复消费

        禁用自动提交偏移量,改为手动: 1. 同步提交。  2. 异步提交。 3. 同步+异步组合提交。

       

五、面试题

面试官:Kafka是如何保证消息不丢失?

候选人:嗯,这个保证机制很多,在发送消息到消费者接收消息,在每个阶段都有可能会丢失消息,所以我们解决的话也是从多个方面考虑:

第一个是生产者发送消息的时候,可以使用异步回调发送,如果消息发送失败,我们可以通过回调获取失败后的消息信息,可以考虑重试或记录日志,后边再做补偿都是可以的。同时在生产者这边还可以设置消息重试,有的时候是由于网络抖动的原因导致发送不成功,就可以使用重试机制来解决。

第二个在broker中消息有可能会丢失,我们可以通过kafka的复制机制来确保消息不丢失,在生产者发送消息的时候,可以设置一个acks,就是确认机制。我们可以设置参数为all,这样的话,当生产者发送消息到了分区之后,不仅仅只在leader分区保存确认,在follwer分区也会保存确认,只有当所有的副本都保存确认以后才算是成功发送了消息,所以,这样设置就很大程度了保证了消息不会在broker丢失。

第三个有可能是在消费者端丢失消息,kafka消费消息都是按照offset进行标记消费的,消费者默认是自动按期提交已经消费的偏移量,默认是每隔5s提交一次,如果出现重平衡的情况,可能会重复消费或丢失数据。我们一般都会禁用掉自动提价偏移量,改为手动提交,当消费成功以后再报告给broker消费的位置,这样就可以避免消息丢失和重复消费了。

面试官:Kafka中消息的重复消费问题如何解决的?

候选人:kafka消费消息都是按照offset进行标记消费的,消费者默认是自动按期提交已经消费的偏移量,默认是每隔5s提交一次,如果出现重平衡的情况,可能会重复消费或丢失数据。我们一般都会禁用掉自动提价偏移量,改为手动提交,当消费成功以后再报告给broker消费的位置,这样就可以避免消息丢失和重复消费了。

为了消息的幂等,我们也可以设置唯一主键来进行区分,或者是加锁,数据库的锁,或者是redis分布式锁,都能解决幂等的问题。

http://www.khdw.cn/news/8651.html

相关文章:

  • 南京企业做网站杭州网站优化公司哪家好
  • 为什么要做网站推广长沙有实力seo优化
  • 凡科轻站小程序靠谱吗搜索引擎seo优化
  • 天津网站建设模板模板下载网站
  • 做货代在上面网站找客户比较多seo网站推广实例
  • 南京专业做网站的公司b站视频推广网站400
  • 上线了网站怎么样地推是什么
  • 个人网站制作软件哪个好网站百度推广
  • 做网站项目体会博客seo怎么做
  • 常州做网站竞价账户托管公司哪家好
  • 网站制作 商务指数基金什么意思
  • 动态发布网站和静态发布网站外贸营销型网站建设公司
  • 做网站网站建设教程设计好看的网站
  • 做网站托管的好处酒店推广渠道有哪些
  • 网站的导航栏怎么做的搜索引擎优化的完整过程
  • 网页制作的网站建设西安网站优化培训
  • 搜索引擎成功案例分析seo草根博客
  • 网站评论管理怎么做的网络热词2021
  • 怎么自己免费做网站外贸网站建站平台
  • 南京关键词网站排名做seo要投入什么
  • 盐城市滨海县建设局网站alexa全球网站排名分析
  • 可以免费视频的软件哪个最好建站网站关键词优化
  • b站推广网站2024已更新百度优化关键词
  • 网站开发的工作经验要求重庆网站
  • 网站建设网站的好处泉州百度广告
  • 做图片的网站有哪些产品推广文案怎么写
  • 全球域名舟山百度seo
  • 网站开发项目进度表广告推广的软件
  • 网站基本框架seo优化神器
  • 建设电影网站如何盈利企业培训内容包括哪些内容