Cargando…

Microservice Patterns and Best Practices : Explore patterns like CQRS and event sourcing to create scalable, maintainable, and testable microservices.

Microservices are a hot trend in the development world right now. Many enterprises have adopted this approach to achieve agility and the continuous delivery of applications to gain a competitive advantage. This book will take you through the different design patterns at different stages of the micro...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Pacheco, Vinicius Feitosa
Formato: Electrónico eBook
Idioma:Inglés
Publicado: Birmingham : Packt Publishing, 2018.
Temas:
Acceso en línea:Texto completo

MARC

LEADER 00000cam a2200000Mi 4500
001 EBOOKCENTRAL_on1022785200
003 OCoLC
005 20240329122006.0
006 m o d
007 cr |n|---|||||
008 180210s2018 enk o 000 0 eng d
040 |a EBLCP  |b eng  |e pn  |c EBLCP  |d NLE  |d MERUC  |d IDB  |d VT2  |d OCLCQ  |d UKMGB  |d OCLCO  |d LVT  |d C6I  |d UKAHL  |d OCLCQ  |d OCLCO  |d OCLCQ  |d OCLCO 
015 |a GBB8J1017  |2 bnb 
016 7 |a 018754812  |2 Uk 
020 |a 9781788471206 
020 |a 1788471202 
020 |a 9781788474030 
020 |a 1788474031 
024 3 |a 9781788474030 
029 1 |a UKMGB  |b 018754812 
029 1 |a AU@  |b 000066232087 
029 1 |a AU@  |b 000067101069 
035 |a (OCoLC)1022785200 
037 |a B08450  |b 01201872 
050 4 |a TK5105.5828  |b .P334 2018eb 
082 0 4 |a 004.654  |2 23 
049 |a UAMI 
100 1 |a Pacheco, Vinicius Feitosa. 
245 1 0 |a Microservice Patterns and Best Practices :  |b Explore patterns like CQRS and event sourcing to create scalable, maintainable, and testable microservices. 
260 |a Birmingham :  |b Packt Publishing,  |c 2018. 
300 |a 1 online resource (357 pages) 
336 |a text  |b txt  |2 rdacontent 
337 |a computer  |b c  |2 rdamedia 
338 |a online resource  |b cr  |2 rdacarrier 
588 0 |a Print version record. 
520 |a Microservices are a hot trend in the development world right now. Many enterprises have adopted this approach to achieve agility and the continuous delivery of applications to gain a competitive advantage. This book will take you through the different design patterns at different stages of the microservice application development process ... 
505 0 |a Cover -- Copyright and Credits -- Dedication -- Packt Upsell -- Contributors -- Table of Contents -- Preface -- Chapter 1: Understanding the Microservices Concepts -- Knowing the application -- Domain-driven design -- Single responsibility principle -- Explicitly published interface -- Independently deploy, upgrade, scale, and replace -- Independent deployment -- Upgrade -- Scale -- The x-axis -- The y-axis -- The z-axis -- Replace -- Light weight communication -- Synchronous -- Asynchronous -- Potentially heterogeneous/polyglot -- Documentation of communication -- Endpoints for web applications -- Endpoints for mobile applications -- Caching at the client level -- Throttling for your client -- Identifying anemic domains -- Identifying the fat domains -- Identifying microservice domains for the business -- From domain to entity -- Summary -- Chapter 2: The Microservice Tools -- Programming languages -- Proficiency -- Performance -- Development of practicality -- Ecosystem -- Scalability cost -- Making choices for our application -- Java -- C# -- Python -- JavaScript -- Go -- Microservice frameworks -- Python -- Go -- Logs -- Handlers -- Middleware -- Tests -- Package manager -- Golang ORMs -- Binary communication -- direct communication between services -- Understanding the aspect -- Tools for synchronous communication -- MessagePack -- gRPC -- Apache Avro -- Apache Thrift -- Direct communication alerts -- Message broker -- Async communication between services -- ActiveMQ -- RabbitMQ -- Kafka -- Caching tools -- Memcached -- Redis -- Fail alert tools -- Performance -- Build -- Components -- Implementation gaps -- The databases -- Locale proof performance -- Apache Benchmark -- WRK -- Locust -- Summary -- Chapter 3: Internal Patterns -- Developing the structure -- Database -- Programming language and tools -- Project structure -- The models.go file. 
505 8 |a The app.go file -- The main.go file -- Caching strategies -- Applying cache -- Caching first -- Enqueuing tasks -- Asynchronism and workers -- CQRS -- query strategy -- What is CQRS? -- Understanding CQRS -- Advantages and disvantages of implementing CQRS -- Event sourcing -- data integrity -- State mutation -- Understanding event sourcing -- Summary -- Chapter 4: Microservice Ecosystem -- Separating containers -- Layered services architecture -- Separating UsersService -- Creating Dockerfile -- Using the containers -- Storage distribution -- Depreciating data -- Regionalizing data -- Bulkheads -- using the ecosystem against failures -- Designing for redundancy -- Partitioning by criticality -- Designing with isolation -- Fail fast -- Circuit breaker -- Summary -- Chapter 5: Shared Data Microservice Design Pattern -- Understanding the pattern -- Breaking a monolithic application into microservices -- Defining priorities -- Setting deadlines -- Defining the domain -- Making experiments -- Defining standards -- Creating a prototype -- Sending to production -- Developing new microservices -- Writing the microservice configuration file -- Creating our model -- Exposing the microservice data -- Preparing the app to run -- Creating the Dockerfile -- Dependencies with requirements.txt -- Data orchestration -- Consolidating responses -- Microservice communication -- Storage sharing anti-pattern -- Best practices -- Testing -- Pros and cons of the shared data pattern -- Summary -- Chapter 6: Aggregator Microservice Design Pattern -- Understanding the pattern -- Applying CQRS and event sourcing -- Separating the database -- Writing the CommandStack container -- Creating the news databases -- Writing the QueryStack container -- Refactoring the microservices -- Selecting our requirements -- Configuring the framework -- Configuring the container. 
505 8 |a Writing the models -- Creating the service -- Preparing the database containers to work together -- Microservice communication -- Building the orchestrator -- Preparing the microservice container -- Writing the dependencies -- Writing the configuration file -- Writing the server access -- Creating the orchestration controller -- Applying the message broker -- Making the containers work together -- Updating the proxy/load balancer -- Pattern scalability -- Bottleneck anti-pattern -- Best practices -- Applying tests -- Functional test -- Writing the functional test -- Integration test -- Writing the integration tests -- Pros and cons of aggregator design pattern -- Pros of aggregator design pattern -- Cons of aggregator design pattern -- Summary -- Chapter 7: Proxy Microservice Design Pattern -- The proxy approach -- Dumb proxy -- Smart proxy -- Understanding our proxy -- Proxy strategy to orchestrator -- Microservice communication -- Pattern scalability -- Best practices -- Purest pattern -- Looking at the bottleneck -- Caching in the proxy -- Simple response -- Pros and cons of proxy design pattern -- Summary -- Chapter 8: Chained Microservice Design Pattern -- Understanding the pattern -- Data orchestration and response consolidation -- Microservice communication -- Pattern scalability -- Big Ball of Mud anti-pattern -- Best practices -- Purest microservices -- Requesting consistent data -- Understanding chain in depth -- Paying attention to the communication layer -- Understanding the pros and cons of chained design pattern -- Summary -- Chapter 9: Branch Microservice Design Pattern -- Understanding the pattern -- Data orchestration and response consolidation -- Microservice communication -- Pattern scalability -- Best practices -- Domain definition -- Respect the rules -- Attention to physical components -- Keep it simple. 
505 8 |a Pros and cons of the branch design pattern -- Summary -- Chapter 10: Asynchronous Messaging Microservice -- Understanding the pattern -- Domain definition -- RecommendationService -- Data definition -- RecommendationService -- Coding the microservice -- Microservice communication -- Applying the message broker and queues -- Preparing the pub/sub structure -- Pattern scalability -- Process sequence anti-pattern -- Best practices -- Application definition -- Don't try to create responses -- Keep it simple -- Pros and cons of the asynchronous messaging design pattern -- Summary -- Chapter 11: Microservices Working Together -- Understanding the current application status -- The public facing layer -- The internal layer -- Understanding general tools -- Communication layer and accreditation between services -- Understanding the data contract between services -- Applying binary communication -- Pattern distribution -- Fail strategies -- API integration -- Summary -- Chapter 12: Testing Microservices -- Unit tests -- Preparing the containers for the integration test -- Integration tests -- End-to-end tests -- Release pipelines -- Signature tests -- Monkey tests -- Chaos Monkey -- Summary -- Chapter 13: Monitoring Security and Deployment -- Monitoring microservices -- Monitoring a single service -- Monitoring multiple services -- Looking at the logs -- Learning from the errors in the application -- The metrics -- Understanding the numbers -- Security -- Understanding JWT -- Single Sign-On -- Security of data -- Defense for malicious requests -- Identifying attacks -- Explaining the interceptor -- Web container -- The API gateway -- Deployment -- Continuous integration/continuous delivery/continuous deploy -- The blue/green deployment pattern and Canary releases -- Multiple service instances per host -- Service instance per host -- Service instance per VM. 
505 8 |a Service instance per container -- Summary -- Other Books You May Enjoy -- Leave a review -- let other readers know what you think -- Index. 
590 |a ProQuest Ebook Central  |b Ebook Central Academic Complete 
650 0 |a Software architecture. 
650 0 |a Service-oriented architecture (Computer science) 
650 6 |a Architecture logicielle. 
650 6 |a Architecture orientée service (Informatique) 
650 7 |a Web services.  |2 bicssc 
650 7 |a Systems analysis & design.  |2 bicssc 
650 7 |a Programming & scripting languages: general.  |2 bicssc 
650 7 |a Computers  |x Software Development & Engineering  |x Systems Analysis & Design.  |2 bisacsh 
650 7 |a Computers  |x Programming Languages  |x General.  |2 bisacsh 
650 7 |a Service-oriented architecture (Computer science)  |2 fast 
650 7 |a Software architecture  |2 fast 
776 0 8 |i Print version:  |a Pacheco, Vinicius Feitosa.  |t Microservice Patterns and Best Practices : Explore patterns like CQRS and event sourcing to create scalable, maintainable, and testable microservices.  |d Birmingham : Packt Publishing, ©2018 
856 4 0 |u https://ebookcentral.uam.elogim.com/lib/uam-ebooks/detail.action?docID=5259455  |z Texto completo 
938 |a Askews and Holts Library Services  |b ASKH  |n AH33858771 
938 |a EBL - Ebook Library  |b EBLB  |n EBL5259455 
994 |a 92  |b IZTAP