Short answer: use one authoritative transaction record, make operations idempotent and design delivery for retries. Shared storage alone does not make a safe shared market.
Define ownership
One component must decide whether a listing is active, sold or cancelled. Servers may cache views, but a purchase must be accepted exactly once by the authority.
Design delivery as a state machine
Record purchase, payment and item delivery as explicit states. A reconnect or restart should resume the incomplete step without charging or delivering twice.
Operational limits
Latency, plugin messaging and database availability differ between networks. Load-test the real topology and keep a documented single-server fallback.
Explore the related MCMinelab solution