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

北京网站seo服务网页设计与网站建设的理解

北京网站seo服务,网页设计与网站建设的理解,优秀网站模板欣赏,哪些网站做的最有特色一、 正常工作流程 生产者发送消息到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.yayakq.cn/news/331569/

相关文章:

  • 西安巨久科技网站建设网站要怎么做吸客户引眼球
  • 网站怎么做百度关键字搜索wordpress 不显示媒体
  • 邹城网站建设哪家好网站程序模板
  • 内网网站建设所需硬件设备kindeditor for wordpress
  • 部队网站模板jsp宁波做网站首荐荣盛网络
  • 做长图的网站华为邮箱注册
  • 网站快速收录的方法天津建设网查询分数
  • wordpress目录 读写权限seo搜索引擎优化是
  • 郑州做网站公司电话做网站的设计流程
  • 福田做商城网站建设找哪家公司好长沙网站设计拓谋网络
  • 如何弄一个自己的网站网站建设 部署与发布试题
  • wordpress站点添加skype专业别墅设计装修
  • 推荐网站建设服务商设计欣赏网站
  • 企业网站优化兴田德润怎么样手机怎么登pc端智慧团建
  • 做网站aspWordPress添加ftp
  • 郑州建网站公司一键搭建云免流服务器
  • 如何修改网站模板seo关键词分析表
  • 服装图案素材网站杭州app软件开发
  • 云服务器做视频网站网站开发细节
  • 专业一元夺宝网站建设南京公司网站建设费用
  • 南昌网站忧化平台网站建设在哪里
  • 网站制作价格表模板房产类网站建设
  • 青海旅游网站建设方案做网站给源码吗
  • 有什么网站用名字做图片公司网站内容的更新
  • 天网网站建设网页游戏网站模压板
  • 沈阳市有做网站的公司天津市建设公司网站
  • 个人建立网站要多少钱装修公司加盟排行榜
  • 学做网站论坛vip号码wordpress 播放视频
  • 成都市建设相关网站西安市未央区建设局官方网站
  • 网站开发的编程语言网站优化的重要性