Title: Rethinking Service Discovery in Microservices Architecture Description: This presentation delves into the microservices architectural pattern, emphasizing the importance of service discovery in a landscape where services operate under the illusion of being solitary entities in the system. The discussion begins with an overview of microservices — small, independent processes that communicate through messages, which collectively contribute to a robust component model facilitating rapid development, continuous delivery, and the mitigation of technical debt. The core of the talk addresses the complexities and unconventional programming models introduced by microservices, particularly focusing on the challenge of service-to-service discovery. Various strategies for service discovery are explored, including the use of configuration files, intelligent load balancing, service registries, DNS, and the necessity of a message bus. The concept of service discovery is then critically examined, proposing a paradigm shift towards pattern matching, where services interact based on message patterns rather than service identities. This approach advocates for transport independence, blind messaging, and a peer-to-peer model, where services maintain a local worldview, updated dynamically as services fluctuate. The presentation concludes by introducing the SWIM algorithm, an infection-style process group membership protocol designed for scalability and weak consistency, exemplified through a practical implementation in a Twitter clone built with 14 microservices.