Building Microservices with Node.js: Explore microservices applications and migrate from a monolith architecture to microservices / Создание микросервисов с помощью Node.js: Исследуйте приложения для микросервисов и переходите от монолитной архитектуры к микросервисам Год издания: 2024 Автор: Kapexhiu Daniel / Капексиу Даниэль Издательство: Packt Publishing ISBN: 978-1-83898-593-6 Язык: Английский Формат: PDF, EPUB Качество: Издательский макет или текст (eBook) Интерактивное оглавление: Да Количество страниц: 324 Описание: Venture into microservices with Node.js, uncovering step-by-step roadmaps, insightful demonstrations, and cutting-edge techniques to build robust web applications Key Features Explore microservices architecture and implement it using Node.js for robust web applications Follow clear, practical examples and real-world use cases to apply your knowledge and build your skills Excel in the world of software development and tackle complex challenges with confidence Book Description Do you want to immerse yourself in the world of microservices? Building Microservices with Node.js will guide you through migration from a monolithic architecture to microservices. With this book, you’ll acquire a deep understanding of microservices architecture and apply it confidently in your web application projects. As you progress, you’ll be guided through the process of creating a simple application and incorporating the Node.js framework into it, along with its commonly used libraries. You’ll learn how the framework operates, how to configure it, and how to develop handlers for the web framework. Furthermore, you’ll explore how to deploy your application to a production server while going through the intricacies of JavaScript and Node.js. Later chapters will show you how to approach microservices in Node.js, implement them effectively, and integrate RESTful APIs. Additionally, you’ll gain insights into service-to-service authentication and authorization and learn how to work with databases and caching. To ensure a comprehensive understanding of the topic, you’ll get to grips with monitoring and logging in microservices with Node.js. By the end of this microservices book, you’ll be able to develop a web app using the Node.js framework, configure it, extend it using libraries available for this framework, and launch it using best practices. What you will learn Design domain-oriented microservices using domain-driven design (DDD) Understand collaboration techniques for inter-microservice communication and learn how to design an API gateway Automate microservice integration and deployment Split a monolith safely into microservices and understand how to test microservices effectively Use and implement microservices in Kubernetes and Docker environments Get to grips with best practices for maintaining microservices at scale Who this book is for This microservices and Node.js book is for backend developers, full-stack developers, software architects, and frontend developers who want to venture into the world of backend development and extend their capabilities. A fundamental understanding of the JavaScript ecosystem will be helpful but not necessary, as this book will cover the essentials of backend development, JavaScript programming, and Node.js. Познакомьтесь с микросервисами с помощью Node.js, пошаговых инструкций, наглядных демонстраций и передовых методов создания надежных веб-приложений Kлючевые функции Изучите архитектуру микросервисов и реализуйте ее с помощью Node.js для создания надежных веб-приложений Следуйте наглядным практическим примерам и примерам использования в реальных условиях, чтобы применить свои знания и развить навыки Преуспейте в мире разработки программного обеспечения и уверенно решайте сложные задачи Описание книги Хотите погрузиться в мир микросервисов? Создание микросервисов с помощью Node.js мы поможем вам перейти от монолитной архитектуры к микросервисам. Благодаря этой книге вы получите глубокое представление об архитектуре микросервисов и сможете уверенно применять ее в своих проектах веб-приложений. По мере продвижения вы будете знакомиться с процессом создания простого приложения и внедрения в него платформы Node.js framework вместе с часто используемыми библиотеками. Вы узнаете, как работает платформа, как ее настраивать и как разрабатывать обработчики для веб-платформы. Кроме того, вы узнаете, как развернуть свое приложение на рабочем сервере, одновременно разбираясь в тонкостях JavaScript и Node.js. В последующих главах будет показано, как использовать микросервисы в Node.js, эффективно их внедрять и интегрировать RESTful API. Кроме того, вы получите представление об аутентификации и авторизации между сервисами и узнаете, как работать с базами данных и кэшированием. Чтобы обеспечить всестороннее понимание темы, вы познакомитесь с мониторингом и регистрацией в микросервисах с помощью Node.js. К концу этой книги о микросервисах вы сможете разработать веб-приложение, используя фреймворк Node.js, настроить его, расширить с помощью библиотек, доступных для этого фреймворка, и запустить с использованием лучших практик. Что вы узнаете Разрабатывайте предметно-ориентированные микросервисы с использованием domain-driven design (DDD) Разберитесь в методах совместной работы для взаимодействия между микросервисами и научитесь проектировать API-шлюз Автоматизируйте интеграцию и развертывание микросервисов Безопасно разделите монолит на микросервисы и узнайте, как эффективно тестировать микросервисы Используйте и внедряйте микросервисы в средах Kubernetes и Docker Познакомьтесь с лучшими практиками масштабного обслуживания микросервисов Для кого предназначена эта книга Эта книга о микросервисах и Node.js предназначена для серверных разработчиков, разработчиков полного цикла, архитекторов программного обеспечения и разработчиков интерфейсов, которые хотят окунуться в мир серверной разработки и расширить свои возможности. Фундаментальное понимание экосистемы JavaScript будет полезным, но необязательным, поскольку в этой книге будут рассмотрены основы серверной разработки, программирования на JavaScript и Node.js.
Примеры страниц (скриншоты)
Оглавление
Preface xiii Part 1: Understanding Microservices and Node.js 1 Introducing Microservices 3 Introduction to the microservices and decentralized architecture concepts 4 Microservices architecture 4 Decentralized architecture 6 Service boundaries and loose coupling 8 Service boundaries 8 Loose coupling 9 Independent development and deployment and polyglot architecture 10 Independent development and deployment 11 Polyglot architecture 12 Scalability and resilience and independent data management 13 Scalability and resilience 13 Independent data management 15 APIs and communication and CI 16 APIs and communication 17 CI 18 Summary 19 Quiz time 20 2 Exploring the Core Principles of Microservices 21 Overview of the core principles of microservices 22 Understanding the fundamentals and identifying business capabilities 24 Defining service contracts and decentralized decision making 25 Service contracts in microservices 25 Decentralized decision making in microservices 27 Prioritizing autonomy and ownership and designing for resilience 28 Prioritizing autonomy and ownership 28 Designing for resilience 30 Implementing communication strategies and ensuring scalability 31 Implementing communication strategies 32 Ensuring scalability 32 Implementing observability and continuously learning and improving 35 Implementing observability 35 Continuous learning and improving 35 Summary 37 Quiz time 37 3 Understanding Node.js Fundamentals: Building Blocks and Key Concepts 39 Asynchronous and non-blocking communication and event-driven architecture 40 Asynchronous and non-blocking communication 40 Event-driven architecture 41 The JavaScript ecosystem and server-side development 42 The JavaScript ecosystem 43 Server-side development with Node.js 44 Command-line applications and scalability and performance 45 Command-line applications 46 Scalability and performance 47 Cross-platform compatibility and community and support 48 Cross-platform compatibility 48 Community and support 49 Microservices and serverless architectures and their integration through APIs 50 What is microservices architecture? 50 What is a serverless architecture? 52 Integration through APIs 53 Integration in microservices and serverless architectures 54 Summary 54 Quiz time 54 4 Leveraging the JavaScript and Node.js Ecosystem for Microservices Development 55 Vast package management and developer productivity 56 Vast package management 56 Developer productivity 57 Community support and collaboration, and rapid innovation and updates 59 Community support and collaboration 59 Rapid innovation and updates 60 Versatility and full stack development, and cross-platform compatibility 61 Versatility and full stack development 62 Cross-platform compatibility 63 Integration and interoperability and support for modern web standards 64 Integration and interoperability 64 Support for modern web standards 65 Enterprise adoption and industry maturity and ecosystem growth and innovation 66 Enterprise adoption and industry maturity 66 What is ecosystem growth and innovation? 67 Summary 69 Quiz time 69 Part 2: Building and Integrating Microservices with Node.js 5 Knowing the Infrastructure of Microservices in Node.js 73 Service discovery and API gateways 74 Service discovery 74 API gateways 75 Load balancing and service orchestration 78 Load balancing 78 Service orchestration 80 Containerization and orchestration and centralized logging and monitoring 82 Containerization and orchestration 82 Centralized logging and monitoring 83 Distributed tracing and event-driven communication 85 Distributed tracing 85 Event-driven communication 86 Database integration and continuous integration and deployment 86 Database integration 86 CI/CD 88 Summary 89 Quiz time 90 6 Designing Microservices Architecture in Node.js 91 Things to consider before creating your microservice 91 Communication protocol and design APIs 94 Communication protocol 94 API design 95 Decentralized data management and data consistency 98 Authentication and authorization and error handling and fault tolerance 100 Authentication and authorization 100 Error handling and fault tolerance 101 Monitoring and tracing requests and containerization technologies 102 Monitoring and tracing requests 102 Containerization technologies 104 Summary 106 Quiz time 106 7 Integrating Microservices in Node.js Applications 107 Synchronous HTTP/REST communication and asynchronous messaging 107 Synchronous HTTP/REST communication 108 Asynchronous messaging 110 EDA and API gateways 112 EDA 112 API gateways 113 Service mesh and caching 114 Service mesh 114 Caching 116 Distributed tracing and database integration 117 Distributed tracing 117 Database integration 118 Monitoring and observability and error handling and resilience 120 Monitoring and observability 120 Error handling and resilience 122 Summary 124 Quiz time 124 8 Debugging Microservices in Node.js 125 Logging and debugging tools 125 Logging in microservices 125 Debugging tools 127 Debugging in containers and error handling 129 Debugging in containers 130 Error handling 131 Unit testing and remote debugging 132 Unit testing 132 Remote debugging 133 Instrumentation and tracing and environment and configuration 135 Instrumentation and tracing 135 Environment and configuration 136 Reproducing and isolating issues and debugging tools and libraries 137 Reproduce and isolate issues 137 Debugging tools and libraries 138 Summary 140 Quiz time 140 Part 3: Data Management in Microservices Using Node.js 9 Database Manipulation in Microservices with Node.js 143 Choosing the right database and database connections 144 Choosing the right database 144 Database connections in microservices 146 Data models and schemas and CRUD operations 147 Data models and schemas 147 CRUD operations 148 Transactions and data validation 149 Transactions in microservices 149 Data validation and sanitization 151 Error handling and optimizations 153 Error handling in microservices 153 Optimizations in microservices 155 Testing 156 Summary 158 Quiz time 159 10 API Communication and Data Contracts in Microservices 161 Defining API contracts and RESTful API design 161 Defining API contracts 162 RESTful API design 162 REST API libraries and API versioning 164 REST API libraries 165 API versioning 166 Authentication and authorization and data validation 168 Authentication and authorization 168 Data validation 170 Error handling and API documentation 172 Error handling 172 API documentation 174 API testing and API gateway 175 API testing 175 API gateway 177 Summary 179 Quiz time 180 11 Caching and Asynchronous Messaging in Microservices 181 Client-side caching and edge caching 182 Client-side caching 182 Edge caching 183 Microservice-level caching and database query caching 184 Microservice-level caching 184 Database query caching 185 Message queues and publish-subscribe 186 Message queues 186 Publish-subscribe (Pub/Sub) 188 Event-driven architecture 190 Summary 191 Quiz time 192 12 Ensuring Data Security with the Saga Pattern, Encryption, and Security Measures 193 Compensating actions and Saga orchestration 194 Compensating actions 194 Saga orchestration 195 Event-driven communication and Sagas with state 202 Event-driven communication 202 Sagas with state 204 Transport layer security (TLS) and data encryption at rest 205 TLS 205 Data encryption at rest 207 Encryption algorithms and key management 208 Encryption algorithms 208 Key management 210 Authentication, authorization, input validation, secure coding practices, and API rate limiting 212 Authentication 212 Authorization 213 Input validation 214 Secure coding practices 214 API rate limiting 214 Summary 215 Quiz time 216 Part 4: Monitoring and Logging in Microservices with Node.js 13 Monitoring Microservices in Node.js 219 Structured logging and log levels 220 Contextual information and centralized log management 222 Contextual information in logs 223 Centralized log management 224 Application-level metrics, distributed tracing, and health checks 225 Application-level metrics 225 Distributed tracing 226 Health checks 226 Threshold-based alerts and anomaly detection 227 Threshold-based alerts 227 Anomaly detection 228 Request tracing, request context propagation, and logging frameworks 229 Request tracing 230 Request context propagation 230 Logging frameworks 231 Summary 232 Quiz time 233 14 Logging in Microservices with Node.js 235 Choosing a logging framework and defining log levels 236 Choosing a logging library 236 Log levels 239 Structured logging, log transport, and storage 239 Structured logging 239 Log transport and storage 241 Log filtering, sampling, error handling, and exception logging 242 Context propagation, monitoring, and analyzing logs 244 Context propagation 245 Monitoring 245 Log analysis 246 Summary 246 Quiz time 247 15 Interpreting Monitoring Data in Microservices 249 Metrics analysis 250 Log analysis 253 Alerting and thresholds 257 Visualization and dashboards 262 Correlation and context 268 Summary 270 Quiz time 272 16 Analyzing Log Data in Microservices with Node.js 273 Log levels and severities 274 Request tracing, contextual information, and event sequencing and order 276 Request tracing 276 Contextual information 277 Event sequencing and order 277 Advantages and considerations of request tracing, contextual information, and event sequencing and order 278 Log format, structured logging, and log filtering and search 278 Log format 279 Structured logging 279 Log filtering and search 279 Advantages and considerations of log format, structured logging, and log filtering and search 280 Log aggregation, centralized log management, visualization, and log analysis tools 281 Log aggregation 281 Centralized log management 281 Visualization 282 Log analysis tools 282 Advantages and considerations of log aggregation, centralized log management, visualization, and log analysis tools 282 Correlation of log data with metrics and monitoring data 283 Summary 285 Quiz time 285 Final words 286 Index 287 Other Books You May Enjoy 302
Kapexhiu Daniel / Капексиу Даниэль - Building Microservices with Node.js / Создание микросервисов с помощью Node.js [2024, PDF, EPUB, ENG] download torrent for free and without registration
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum