Loading...
kafka如何保证不重复消费又不丢失数据参考文章:kafka 如何保证不重复消费又不丢失数据?kafka消息丢失发送时丢失用Producer发消息至Broker的时候,有可能会丢消息带有callBack的api进行发送,如果发送成功回调方法会收到成功,如果失败,在业务上做重试。设置retries参数,发送失败自动重试Broker收到消息后丢失broker收到消息,还没同步给其他broker就...
消息中间件之Apache Kafka(四)数据同步机制Kafka的Topic被分为多个分区,分区是按照Segments存储的文件块。分区日志是存储在磁盘上的日志序列,Kafka可以保证分区里的事件是有序的。其中Leader负责对应分区的读写,Follower负责同步分区的数据,0.11版本之前,Kafka使用HighWatermarker机制保证数据的同步,但是基于HighWatermark...
消息中间件之Apache Kafka(三)基础API依赖 <!-- https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients --> <dependency> <groupId>org.apache.kafka</groupId> ...
消息中间件之Apache Kafka(二)单机环境搭建准备工作JDK1.8+,配置JAVA_HOME配置主机名和IP映射vi /etc/hostname,修改主机名,然后重启服务器v1 /etc/hosts,添加主机名与IP的映射关闭防火墙,也可以放行相关端口安装并启动zookeeper,见zookeeper搭建、PAXOS、ZAB及基本API下载Kafka下载地址http://kafka....
消息中间件之Apache Kafka(一)Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以收集并处理用户在网站中的所有动作流数据,以及物联网设备的采样信息。Kafka提供了消息订阅与发布的消息队列,一般用作系统间解耦、异步通信、削峰填谷等作用。同时Kafka又提供了Kafka Streaming...
消息中间件之RocketMQ(五)RocketMQ常见问题为什么要使用MQ?因为项目比较大,做了分布式系统,所有远程服务调用请求都是同步执行,经常出现问题,所以引入了MQ。解耦系统耦合度降低,没有强依赖关系,面向MQ编程,即使某个服务挂掉了,也不会影响其他服务。异步不需要同步执行远程调用,可以有效提高响应时间。削峰请求达到峰值后,后端service还可以保持固定消费速率,不会被压垮。多个MQ...
消息中间件之RocketMQ(四)RocketMQ 集群单Master模式只有一个Master节点。优点: 配置简单,方便部署。缺点: 这种方式风险较大,一旦Broker重启或者宕机时,会导致整个服务不可用,不建议线上环境使用。多Master模式一个集群,没有Slave,全是Master,例如2个Master或者3个Master优点: 配置简单,单个Master宕机或重启维护对应用无影响,在...
消息中间件之RocketMQ(三)Offsetmessage queue是无限长的数组,一条消息进来下标就会长1,下标就是offset,消息在某个MessageQueue里的位置,通过offset的值可以定位到这条消息,或者指示Consumer从这条消息开始向后处理。minOffset当前下标最小值,也就是从哪里开始读。maxOffset当前下标最大值,也就是可以读到哪。maxOffset并...
消息中间件之RocketMQ(二)消息消费模式消息消费模式由消费者来决定,可以由消费者设置MessageModel来决定消费模式。消费模式默认为集群模式consumer.setMessageModel(MessageModel.BROADCASTING); //广播模式 consumer.setMessageModel(MessageModel.CLUSTERING); //集群模式对于...
消息中间件之RocketMQ(一)什么是消息队列消息队列是《数据结构》中先进先出的数据结构,在当前的架构中,作为中间件提供服务消息中间件功能应用解耦在SOA模型中,使业务之间不再强依赖,可以异步处理,A与B都通过中间件交流,即使有一方下线了,也可以在上线之后继续处理。流量削峰流量达到高峰的时候,通常使用限流算法来控制流量涌入系统,避免系统瘫痪。但是,这种方式损失了一部分请求,此时可以使用消息...