在多master和多slave互联的情况下,每个master可能不知道其他master的id范围,或者说不知道其他master发的id具体是多少,这时候可能存在不同master的id相同的情况,这时候就需要按master的数目对id进行扩展,用扩展位来区分从哪个master来到哪去。
以下是原文:
我的理解是:master发起一笔transaction,这笔transaction有一个id,仲裁器会按照master的数目对id进行位扩展,比如两个master扩展1位,4个master扩展两位,然后拓展的id会连同数据一起发送给slave,当返回的时候,仲裁器会根据扩展位的值来决定返回给哪个master,并把id的扩展位删掉避免不一致。