zoukankan      html  css  js  c++  java
  • 有序消息

    一般业务不要求全局有序,kafka只能保证同一个partition内消息有序,不能保证不同partition之间有序,因此业务只能充分利用单个partition内有序这个特点。

    举一个数据同步的例子,假设订单表,每个订单是有状态的,我们要保证同一个订单的多次修改记录达到kafka里的顺序不能乱,我们可以根据订单主键判断该落哪一个分区,用的比较多的策略大概是 abs(hash(主键)) % partition_num,如此就能保证同一笔订单落到同一个partition 继尔保证了顺序。 一般情况下这样数据也是均衡的。

    -------------------------------------------------------------------------------------------
     1 message.setOrderKey("指定业务逻辑中的顺序key"); 
    也就是保证对orderkey的操作消息是有序的,例如,orderkey=1增改删的操作是有序的

    作者:大数据技术架构
    链接:https://www.zhihu.com/question/266390197/answer/744933254
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    #Flag QBXT学习计划
    #蓝书整理 补充推导 [ 流水作业调度问题 ]
    #luogu整理 种树
    #loj整理 活动安排
    #YBT整理 排序算法的例题
    #YBT整理 排序算法
    CYC很好
    #YBT整理 高精度害死人
    #蓝书整理 流水作业调度问题
    #Flag 年前寒假计划
  • 原文地址:https://www.cnblogs.com/wenbolwm/p/13482946.html
Copyright © 2011-2022 走看看