The microservice architecture is a powerful way to structure large scale Node.js systems. Microservices bring many benefits, enabling rapid development, making continuous delivery easier, and making fine-grained scaling practical. But this architecture is a distributed system, and brings with it all the associated challenges of such systems, not least of which is the need for individual services to find each other. Deciding how to solving the service discovery problem is a key decision point for any architect building microservice systems.
A common approach is to use a service registry. Unfortunately service registries bring their own problems, such as ensuring consistency while scaling, or increasing deployment complexity with the need to run agents. All this could be forgiven, but for a greater sin - registries encourage strong coupling between microservices by providing a concept of serviceidentity. The very purpose of the registry, service discovery, is poisonous to one of the key benefits of microservices - that the system is dynamic and flexible.
There is a better way. Services can find each other dynamically, using gossip protocol algorithms. Highly efficient algorithms such SWIM (Scalable Weakly-consistent Infection-style Process Group Membership Protocol) mean that microservices can do away with service discovery altogether, relying instead on an constantly evolving, dynamic map of their local network. By pushing intelligence to the edges of the network, not only does this approach make failure detection orders of magnitude faster (no more waiting for heartbeats to timeout), but it also makes deployment much easier, as the network configures itself.
This talk will examine the use of the SWIM algorithm to build a Twitter clone in Node.js, one microservice at a time.
About Richard Rodger
Richard Rodger is co-CEO and co-founder of nearForm. He is an expert and thought leader in next-generation cloud and mobile technologies, with a current focus on Node.js and microservices. His book Mobile Application Development in the Cloud (Wiley, 2010) is one of the first major works on the subject.
Richard was previously CTO of FeedHenry, a mobile application platform provider that was acquired by RedHat for €63.5m in 2014.
Since Richard co-founded nearForm in 2011, the company has become the world’s largest Node.js and microservices consulting company.
Richard has long been an active member and influencer of the global open source software (OSS) community, specializing in OSS for enterprise. As CTO of nearForm, he has placed OSS at the heart of how the company works. Most recently, he created Seneca.js, a microservices tool kit for Node.js that is a key component of nearForm’s software development and delivery arsenal.
The Tao of Microservices (Manning), Richard’s new book, will be published in 2016.