Pieter Hintjens, one of pioneers of the distributed computing and author of ZeroMQ library explains the basic premise behind ZeroMQ design and community. He covers fundamentals of designing large distributed applications using ZeroMQ library.
First and foremost, the book is meant for intermediate to advanced programmers. You need to be aware of the networking concepts. All examples are in C, so you should have good enough grounding in the language. Once you are past these, understanding the concepts in the book is fairly easy.
First part of the book is about Learning to work with ZeroMQ. This section covers all the patterns – Request-Reply, Dealer-Router, Pub-Sub, Proxy, Load Balancing and their combination and usage with each other. The example scenarios detail the scenario’s where these patterns fit in. This section also covers how to build reliability and availability as part of the distributed application.
There is a significant change in how software is developed over the last decade. Agile had been the buzzword over the last decade and probably is most significant of changes in software development to date. Now that the hype around Agile has been subsided, it is worth an effort to understand what it is like post agile. Often we see Agile with a narrow perspective, limiting it to a few programming practices and nothing more. We also fail to notice the indirect influence and the larger impact of Agile over the last decade.
State of post Agile Software Development will have to be seen in multiple dimensions in order to really understand its impact:
Software Development & Life cycle tooling landscape has completely changed
Software Project management methods (apart from development method) have changed
My book on Akka titled - Akka Essentials published by Packt was released on 26th Oct 2012. The book is available from PacktPub site as well on amazon.com.
"Akka Essentials" will show you the current challenges with Java Scalability and concurrency model and how Akka’s Actor Model can help you design and build applications that are inherently scalable and fault-tolerant. Whether you are building new applications or want to refactor an existing application, you will learn the right techniques to build and scale up in no time.
This book is aimed at developers, architects who are building large distributed concurrent and scalable applications using Java/Scala. The book assumes knowledge of Java/JEE concepts but no knowledge of Actor model is assumed.
I dedicate this book to my father who passed away on 30th Oct 2012. All earnings from this book will be donated to my father's favorite charity.
The advent of the Consumer Business application like Facebook, Twitter has changed the definition of Application Scalability. Decade back 10 million+ was a large user base, Facebook will touch 1Billion+ users by end of this year. There are hordes of applications in 100+ million user range. The techniques and approaches employed by these large Consumer Business Applications are different from the traditional enterprise application design and architecture techniques.
If we study the architectures principles employed by these large Consumer Business Applications, then we can conclude to the following
All the large consumer business applications are build and make use of Cloud Computing
Applications are build using a combination of open source products and platforms
Create solutions where the current set of solution do not meet requirement or scale up (e.g. HipHop, Hadoop, ChaosMonkey etc)
Constant knowledge sharing within the community (FB/Twitter/Google open sources lot of their internal products)