• Send and Receive Messages to single RabbitMQ Broker
• Send and Receive Messages to RabbitMQ using Spring AMQP
• Send and Receive Messages to multi node RabbitMQ Cluster
• Tying the knots between the consumer and producer
• Conclusion
Chapter 7: Spring Boot
• Develop Data Operations using Spring Boot and MongoDB
• Develop using Spring HAL Browser, HATEOS
• Develop a Restful Web Service
• Conclusion
Chapter 8: Spring Cloud
• Spring Cloud for Micro services Architecture
• Feign Client usage in Spring Cloud
• Hysterix Fallback
• Hysterix Dashboard
• Ribbon, the Client Side Load Balancer
• Eureka, the Service Registry
• Zuul, the API Gateway
• The Config Server
• Conclusion
Chapter 9: High Availability and Micro services
• High Availability
• Decomposing High Availability
• Highly Available Micro Services
• Demonstrating Highly Available Spring Cloud Micro Services
• Conclusion
Chapter 10: Micro services Performance
• Communication across Outer Architecture
• The Bad and the Ugly part of HTTP
• Google Protocol Buffer between Spring Boot Micro services
• Conclusion
Chapter 11: Events, Eventuality and Consistency
• Event Driven Architecture (EDA)
• Micro services and Event Driven Architecture
• Micro services and CAP Theorem
• Conclusion
Chapter 12: AXON framework for CQRS Architecture
• Introducing Axon, the CQRS Framework
• Command and Event Handling in same JVM
• Distributed Command and Event Handling
• Conclusion
Chapter 13: Distributed Transactions
• Two General’s Paradox
• Transactions
• Enterprise Transaction Categories
• ACID vs. BASE
• Distributed Transactions Revisited
• Distributed Transaction Sample using MySQL, ActiveMQ & Derby
• Conclusion
Chapter 14: Transactions and Micro services
• Partitioning and Micro Services
• Distributed Transactions Sample with Enhanced Resiliency
• Say NO to 2 Phase Commit Transactions
• Conclusion
Chapter 15: Transaction Optimizations for Micro services
• Saga for Micro Services Transactions
• Saga Sample Code using Axon
• Distributed Saga for Micro Services
• Try Cancel Confirm (TCC) Transactions for REST
• Conclusion
Chapter 16: Advanced High Availability and Scalability
• High Availability and Scalability Templates using Oracle DB as a sample
• Highly Available & Scalable CQRS Sample in Axon
• Scaling Aggregate Root Entities in Write Nodes for AXON CQRS
• Sample demonstrating Optimistic locking in AXON CQRS
• Conclusion
Chapter 17: Building an eCommerce Application using Axon 2
• Revisiting a Traditional E Commerce Application
• E Commerce Micro Service Application
• Design and Code E Commerce Micro Service Application
• Design and Code E Commerce Micro Service Infrastructure
• Configure E Commerce Micro Service Application
• Set up Environment Infrastructure for E Commerce Micro Service Application
• Build and Run E Commerce Micro Service Application
• Test E Commerce Micro Service Use Cases
• Conclusion
Chapter 18: Microservices Security
• OAuth2.0 and Micro Services
• Tokens for Scalable API Invocations
• Design Security for the Sample Micro Services Application
• Code Security for the Sample Micro Services Application
• Configure E Commerce Micro Service Application
• Set up Environment Infrastructure for E Commerce Micro Service Application
• Build and Run Secure E Commerce Micro Service Application
• Test the Secure E Commerce Micro Service Use Cases
• Conclusion
Chapter 19: Axon 3 and True BASE Transactions
• Command and Event Handling in same JVM
• Distributed Command and Event Handling
• Design and Code E Commerce Micro Service Application
• Conclusion
Appendices
• Appendix A - MongoDB
• Appendix B - RabbitMQ
• Appendix C - NginX
• Appendix D - Postman
• Appendix E - TCPMon
• Appendix F - ActiveMQ
• Appendix G - Derby
• Appendix H - MySQL
Binildas provides technical architecture consultancy for IT solutions. He has over 20 years of IT experience, mostly in Microsoft and Oracle technologies. Distributed computing and service-oriented integration are his main skills, with extensive hands-on experience in Java and C# programming. A well-known and highly sought-after thought leader, Binil has designed and built many highly scalable middle-tier and integration solutions for several top-notch clients including Fortune 500 companies. He has been previously employed by multiple IT consulting firms including Infosys, India and Tata Consultancy Services and currently works for IBS Software Private Limited, as their chief architect and head of technology where he leads technology and architecture strategies for IBS’s product portfolio.
Binil is a Sun Certified Programmer (SCJP), Developer (SCJD), Business Component Developer (SCBCD) and Enterprise Architect (SCEA), Microsoft Certified Professional (MCP) and Open Group (TOGAF8) Certified Enterprise Architecture Practitioner. He is also a Licensed Zapthink Architect (LZA) in SOA. IBS has applied for his proposal titled “A Method and a System for Facilitating Multitenancy of Services” to be a patent with the USPTO.
Take your distributed applications to the next level and see what the reference architectures associated with microservices can do for you. This book begins by showing you the distributed computing architecture landscape and provides an in-depth view of microservices architecture. Following this, you will work with CQRS, an essential pattern for microservices, and get a view of how distributed messaging works. Moving on, you will take a deep dive into Spring Boot and Spring Cloud.
Coming back to CQRS, you will learn how event-driven microservices work with this pattern, using the Axon 2 framework. This takes you on to how transactions work with microservices followed by advanced architectures to address non-functional aspects such as high availability and scalability. In the concluding part of the book you develop your own microservices application using the Axon framework and true BASE transactions, while making it as secure as possible.
You will:
Shift from monolith architecture to microservices
Build solid architectures without ACID-compliant databases
Work with transactional systems
Discover the high availability principles in microservices