Practical Microservices Architectural Patterns
Event-Based Java Microservices with Spring Boot and Spring Cloud
Paperback Engels 2019 9781484245002Samenvatting
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 enterprise-grade microservices application using the Axon framework and true BASE transactions, while making it as secure as possible.
What You Will Learn
-Shift from monolith architecture to microservices
-Work with distributed and ACID transactions
-Build solid architectures without two-phase commit transactions
-Discover the high availability principles in microservices
Who This Book Is For
Java developers with basic knowledge of distributed and multi-threaded application architecture, and no knowledge of Spring Boot or Spring Cloud. Knowledge of CQRS and event-driven architecture is not mandatory as this book will cover these in depth.
Specificaties
Lezersrecensies
Inhoudsopgave
Chapter 2: Introducing Micro services• The Modular Monolith• Introducing Micro Services• Conclusion
Chapter 3: Micro services in Depth• Look and Feel the Micro Service• Advanced Micro Service Capabilities• Conclusion
Chapter 4: Micro services Architecture• Architecture for Digital Business• The Micro Services Context• The Indispensable Cloud• The Architecture of Micro Services• Conclusion
Chapter 5: CQRS - Essential Pattern for Micro services• Orthogonal Scale out of services• CQRS: Command Query Responsibility Segregation Pattern• Event based CQRS Architecture• Conclusion
Chapter 6: Distributed Messaging• Messaging for Resiliency• Synchronous vs. Asynchronous• 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
Rubrieken
- advisering
- algemeen management
- coaching en trainen
- communicatie en media
- economie
- financieel management
- inkoop en logistiek
- internet en social media
- it-management / ict
- juridisch
- leiderschap
- marketing
- mens en maatschappij
- non-profit
- ondernemen
- organisatiekunde
- personal finance
- personeelsmanagement
- persoonlijke effectiviteit
- projectmanagement
- psychologie
- reclame en verkoop
- strategisch management
- verandermanagement
- werk en loopbaan