IssuesMutual Exclusion: no two process execution in critical sectionProgress : no indefinite postpone while selection of process enter to critical sectionBounded Waiting : no starvationProcess Sync NotionCritical SectionSemaphoreSpinlockProcess Monitor SyncLock Contention Synchronization is bad for Scalability Synchronization is bad for scaleIn the early days of Mailgun I started working on a distributed lock service. Something I had worked on briefly at Rackspace. Even as I implemented the thing, I had the sneaky suspicion that it was a bad idea.https://wippler.dev/posts/synchronization-is-bad-for-scale