"lastUpdateId" in depth vs "u" (update id) in bookTicker on websocket

What is the relationship between “lastUpdateId” in the partial depth payloads, such as those in stream “btcusd@depth10@100ms”, and “u” (described as “update id”), in bookTicker payloads such as those in stream “btcusd@bookTicker”?

I have received a bookTicker payload with an update id such as 5000 and then received a depth payload (for the same symbol) with a lower lastUpdateId, say 4999, in the same stream. That tells me that lastUpdateId is NOT the most recent update id or that there’s no ordering between depth and bookTicker payloads sent over the same connection.

However, that doesn’t tell me what lastUpdateId is. It could be the latest update id still in the btcusd book or the latest update id in the top 10 elements of that book or something else entirely.

What is the meaning of lastUpdateId? Heck, what is the meaning of “update id”?

lastUpdateId is the event id that telling the changes in the orderbook. Based on this id, client is able to understand the data in time sequence. However it’s not guaranteed bookTicker with 5000 will be always delivered than depth with 4999, because they may have different route path inside the system before pushed out.

Is “event id” the same as “update id”?

yes, it’s telling the changes of orderbook.