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
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    如何编译Linux内核
    linux启动过程
    linux ifconfig
    Android 4.0 x86安装教程 附带联网参数详细设置
    linux ntfs模块
    Java 入门进阶
    深入理解Java中的String
    Java中字符串string的数据类型
    IDEA设置JVM运行参数
    Java11实战:模块化的 Netty RPC 服务项目
  • 原文地址:https://www.cnblogs.com/wenbolwm/p/13482946.html
Copyright © 2011-2022 走看看