How can I have an accurate and consistent cross-server value?

I was wondering how I could have a value for all servers that will always be the same.
This isn’t my specific use case but I think this is a good example for what im trying to do.

Imagine having a system where items can spawn or like some kind of global coin rush event where only 100 of these items can be grabbed. Once you pickup the item it will add to this cross-server value that 1 item has been picked up. But before adding it checks that there is less than 100 items that have been picked up so far.

The problem with using something like memory service is that what if theres a delay when I update the items? E.g it checks and it sees theres only 99 items so it adds one, another server around the same time also sees theres 99 items and adds one and it becomes 101 total items picked up. (Assume in my use case that I cannot have more than 100 under any circumstances so I cant just let it fly.)

How could I have a consistent cross server value?

Is something like this even possible? I cant seem to figure out or think of any way to make this possible.

Actually I just thought of a potential idea.
Is there anyway I could possibly assign one server to handle the code revolving around the value being added to? Basically always having 1 server that handles the code around the number changing and giving rewards.

How could I go about doing it? Message service? And how could I check that the server in question is still active and if it isn’t assign a new server to be handling the code.