ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

幂等,kafka,mysql,kafka,redis,linux,bean声明周期,spring启动,AQS,位运算模运算,sql取每个班级的前3名,各种文件流,nginx, aop,分库分表

幂等,kafka,mysql,kafka,redis,linux,bean声明周期,spring启动,AQS,位运算模运算,sql取每个班级的前3名,各种文件流,nginx, aop,分库分表 1,幂等 幂等在接口、消息队列 和防抖中都有见到,所以也是经常被问到的最长用、也是最通用的方法就是给消息加个唯一标识,然后在消费端 加上业务判断,到缓存或者数据库中查询是否已经存在这个标识,存在说明已经消费过了,就跳过。否则就消费,并保存到缓存或数据库中。然后就是值针对于数据库的,可以加乐观锁 version冗余字段,适用于更新操作,但是要记得把version自动也要从接口穿过来,这样才能标识是同一个操作。还是也是针对数据库的,就是唯一主键限制.但是这个限制更多,主键需要接口传过来,且只适用于插入和删除操作。这样就能在重复操作时,直接报数据已存在。2,kafka快的原因:零拷贝、顺序读取、批量操作、并行操作重复消费:消费端:加幂等。生产端:通过配置enable.idempotence属性为true,来设置幂等性,这个配置的原理是给每条消息都配置一个有sqe、parittions等信息组成的要给id,进而防止由于是kafka的原因导致的消息重放。消息丢失: 生产端:所有副本都同步消息完成了才算发送成功。消费端:手动提交有序消费:放到一个partition中,指定一个消费者消费。3,mysql 主从复制 主负责写,从负责读。从通过binlog日志来同步数据4,redis 集群结构
返回列表