鍍金池/ 問答/人工智能  Java/ 冪等性,全局唯一ID

冪等性,全局唯一ID

網(wǎng)上說的冪等性的文章:
使用全局唯一ID,就是根據(jù)業(yè)務的操作和內(nèi)容生成一個全局ID,在執(zhí)行操作前先根據(jù)這個全局唯一ID是否存在,來判斷這個操作是否已經(jīng)執(zhí)行。如果不存在則把全局ID,存儲到存儲系統(tǒng)中,比如數(shù)據(jù)庫、redis等。如果存在則表示該方法已經(jīng)執(zhí)行。
我想不明白,如果這樣的話,那我每次請求接口的時候都要生成一個全局唯一ID嗎?請求同一個接口,如果參數(shù)什么的一樣是不是生成的ID也應該是一樣的了?

回答
編輯回答
艷骨

原來只說了全局唯一ID的事,忘了說冪等了,不過這個話題按我目前的能力并不能一兩句解釋清楚,建議你看看知乎上的這個討論。


原回答:

那我每次請求接口的時候都要生成一個全局唯一ID嗎?

可以這么做,但一般可以先生成一定數(shù)量的id緩存起來,這樣可以減小多方壓力。

請求同一個接口,如果參數(shù)什么的一樣是不是生成的ID也應該是一樣的了?

一般來說,會加一個時間戳作為額外參數(shù)來保證id的唯一性。

2017年9月26日 17:07