Distributed Systems with Node.js
Building Enterprise-Ready Backend ServicesThomas Hunter II
- ناشرO'Reilly
- سال انتشار2021
- ویرایش1
- زبانEnglish
- تعداد صفحات391
- شابک9781492077299
958,000 تومان – 2,298,000 تومانمحدوده قیمت: 958,000 تومان تا 2,298,000 تومان
تحویل اکسپرس
حمل رایگان سفارشات بالای 1 میلیون تومان
پرداخت امن
امکان پرداخت انلاین یا پرداخت حضروی درب منزل
ضمانت اصالت کالا
امکان پرداخت انلاین یا پرداخت حضروی درب منزل
7 روز گارانتی بازگشت وجه
امکان پرداخت انلاین یا پرداخت حضروی درب منزل
🚀 خیلی از شرکتها، از استارتاپها گرفته تا غولهای Fortune 500، دارن از Node.js برای ساخت سرویسهای بکاند پرفورمنس بالا استفاده میکنن. مهندسها هم عاشق Node.js هستن، چون API فوقالعاده دستیافتنی و سینتکس آشنایی داره. حالا با پشتیبانی بزرگترین مخزن پکیج دنیا (NPM)، انتظار میره جای پای نود در پروژههای بزرگ سازمانی حتی محکمتر هم بشه.
💻 تو این راهنمای عملی، توماس هانتر ثابت میکنه که Node.js برای ساخت سرویسهای ابزارپذیر (Observable)، اسکیلپذیر و تابآور (Resilient)، کاملاً به اندازه پلتفرمهای سازمانی و سنتی دیگر توانمند هست. دولوپرهای سطح متوسط تا پیشرفته Node.js با خواندن این کتاب میتونن کد اپلیکیشن خودشون رو با ابزارهای متنوعی از هر لایه از استک سرویسهای مدرن ادغام بکنن.
⚙️ یاد میگیرید که چرا اجرای نسخههای موازی و ریداندانت از یک سرویس Node.js کاملاً ضروری هست.
🌍 میفهمید که با توجه به شرایط پروژه، باید کدوم پروتکل رو انتخاب کنید.
📦 کانتینرهای اپلیکیشن خودتون رو برای استفاده در پروداکشن تیون و بهینهسازی میکنید.
🔍 ردیابی خطاها در یک ساختار توزیعشده (Distributed) رو یاد میگیرید تا دقیقاً بفهمید کدوم سرویس مقصر هست.
⚡ با واگذاری تسکها به یک Reverse proxy، کد برنامه رو سادهتر و پرفورمنس رو بیشتر میکنید.
📊 داشبوردهایی برای مانیتور کردن سلامت سرویس و نرخ عبور داتا (Throughput) میسازید.
🛠️ درک میکنید که چرا موقع کار در محیطهای بزرگ سازمانی، به این همه ابزار مختلف نیاز داریم.
📑 فهرست مطالب
فصل ۱. چرا توزیع شده؟
فصل ۲. پروتکلها
فصل ۳. اسکیل کردن
فصل ۴. قابلیت ابزارپذیری
فصل ۵. کانتینرها
فصل ۶. دیپلویمنتها
فصل ۷. ارکستریشن کانتینرها
فصل ۸. تابآوری
فصل ۹. پریمتیوهای توزیعشده
فصل ۱۰. امنیت
ضمیمه الف. نصب HAProxy
ضمیمه ب. نصب Docker
ضمیمه ج. نصب Minikube و Kubectl
✍️ از مقدمه کتاب
🎯 اهداف
💡 معمولاً از Node.js برای ساخت اپلیکیشنهای وب در فرانتاند استفاده میشه. این کتاب اصلاً وارد مباحث توسعه فرانتاند یا چالشهای مرورگر نمیشه؛ چون منابع و کتابهای زیادی تو بازار هست که به این موضوعات پرداختن. در عوض، هدف این کتاب اینه که شما بتونید سرویسهای بکاند Node.js رو با سرویسهای مختلفی که از سیستمهای توزیعشده مدرن پشتیبانی میکنن، ادغام کنید.
⏳ زمانی که خواندن این کتاب رو تموم کنید، درک عمیقی از تکنولوژیهای مورد نیاز برای اجرای سرویسهای Node.js در محیط پروداکشن پیدا میکنید. مثلاً اینکه برای دپلوای و اسکیل کردن یک اپلیکیشن چه کارهایی لازمه، چطور باید سیستم رو ریداندانت و در برابر فیلورها تابآور کرد، چطور میشه با بقیه پروسسهای توزیعشده ارتباط امن برقرار کرد و چطور سلامت برنامه رو زیر نظر گرفت.
🛠️ هدف من اینه که اون حس هیجان و اشتیاق رو در طول کتاب برای شما زنده کنم. توی این صفحات کلی نمونه کار عملی پیدا میکنید که میتونید سرویسهای پشتیبان مختلف رو روی سیستم دولوپمنت خودتون اجرا کنید و بعد با استفاده از نمونهکدهای اپلیکیشن Node.js باهاشون تعامل داشته باشید. کنار اینها، توضیحات مفصل و نکات جانبی زیادی هم برای راضی کردن بازیکارهای کنجکاو آورده شده.
🧱 وقتی این کتاب رو تموم کنید، سرویسهای مختلف زیادی رو نصب و اجرا کردید و برای هر کدوم، کدهای Node.js نوشتید تا باهاشون تعامل داشته باشن. تمرکز اصلی این کتاب بیشتر روی همین تعاملها و پترنهاست تا بررسی صرف کدهای اپلیکیشن Node.js.
👥 مخاطبان هدف
🧠 این کتاب قرار نیست به شما نحوه استفاده از Node.js رو یاد بده؛ برای اینکه بیشترین استفاده رو ازش ببرید، باید قبلاً چندتا اپلیکیشن با Node.js نوشته باشید و درک کاملاً سرراست و ثابتی از JavaScript داشته باشید. با این حال، کتاب روی یکسری از مفاهیم پیشرفته و کمتر شناختهشده Node.js و JavaScript دست میذاره؛ مثل ماهیت تکرشتهای جاوااسکریپت (The Single-Threaded Nature of JavaScript) و Event loop در نود جی اس. شما همچنین باید با پایههای HTTP آشنا باشید، حداقل از یک دیتابیس برای ذخیره داتا استفاده کرده باشید و بدونید که نگهداری استیت (State) داخل یک پروسس در حال اجرای Node.js چقدر راحت و البته خطرناکه.
🏢 شاید الان توی شرکتی کار میکنید که زیرساخت آمادهای برای اجرای سرویسهای بکاند داره و مشتاقید یاد بگیرید چطور کار میکنه و چطور اپلیکیشنهای Node.js شما میتونن ازش بهرهمند بشن. یا شاید یک اپلیکیشن Node.js دارید که به عنوان یک پروژه جانبی راهاندازی کردید و از کرش کردنهای مداومش خسته شدید. حتی ممکنه CTO یک استارتاپ نوپا باشید و مصمم هستید که نیازهای بیس کاربران در حال رشدتون رو برطرف کنید. اگه هرکدوم از این شرایط براتون آشناست، این کتاب دقیقاً برای شماست.
📈 نظرات و بررسیها
💬 “من عاشق این کتابم، مخصوصاً بخشهایی که به بستپراکتیسهای محیط پروداکشن پرداخته. قطعاً چیزهای زیادی ازش یاد گرفتم.” – خولیان دوکه، دولوپر ادووکیت در Heroku
💬 “این کتاب حجم زیادی از مباحث واقعاً پیشرفته رو پوشش میده که معمولاً یاد گرفتنشون کلی زمان میبره.” – مت رنی، پرینسیپال انجینیر در DoorDash
💬 “این همون داکیومنت و راهنمای مفقودهای بود که برای اسکیل کردن اپلیکیشنهای نود بهش نیاز داشتیم؛ خواندن این کتاب برای مهندسهای تیم ما اجباریه.” – برد فوگل، همبنیانگذار و CTO در Mixmax
💬 “یک کتاب ضروری برای یادگیری بستپراکتیسهای Node.js جهت ساخت اپلیکیشنهای اسکیلپذیر و آماده ورود به پروداکشن.” – جاکوپو دایلی، لید انجینیر در GoDaddy
👨💻 درباره نویسنده
توماس هانتر در توسعه دهها سرویس سازمانی Node.js مشارکت داشته و توی شرکتهایی کار کرده که تمرکزشون روی امنیت Node.js بوده. اون توی چندین کنفرانس مختلف درباره Node.js و JavaScript صحبت کرده، مدرکهای معتبر JSNSD و JSNAD رو داره و یکی از برگزارکنندههای اکوسیستم NodeSchool در سانفرانسیسکو هست.
Many companies, from startups to Fortune 500 companies alike, use Node.js to build performant backend services. And engineers love Node.js for its approachable API and familiar syntax. Backed by the world’s largest package repository, Node’s enterprise foothold is only expected to grow.
In this hands-on guide, author Thomas Hunter II proves that Node.js is just as capable as traditional enterprise platforms for building services that are observable, scalable, and resilient. Intermediate to advanced Node.js developers will find themselves integrating application code with a breadth of tooling from each layer of a modern service stack.
- Learn why running redundant copies of the same Node.js service is necessary
- Know which protocol to choose, depending on the situation
- Fine-tune your application containers for use in production
- Track down errors in a distributed setting to determine which service is at fault
- Simplify app code and increase performance by offloading work to a reverse proxy
- Build dashboards to monitor service health and throughput
- Find out why so many different tools are required when operating in an enterprise environment
Table of Contents
Chapter 1. Why Distributed?
Chapter 2. Protocols
Chapter 3. Scaling
Chapter 4. Observability
Chapter 5. Containers
Chapter 6. Deployments
Chapter 7. Container Orchestration
Chapter 8. Resilience
Chapter 9. Distributed Primitives
Chapter 10. Security
Appendix A. Installing HAProxy
Appendix B. Installing Docker
Appendix C. Installing Minikube & Kubectl
From the Preface
Goals
Node.js is often used for building frontend web applications. This book doesn’t cover any topics related to frontend development or browser concerns. A wealth of books are already available that cover such content. Instead, the goal of this book is to have you integrate backend Node.js services with various services that support modern distributed systems.
By the time you’re done reading this book, you’ll have an understanding of many technologies required to run Node.js services in a production environment. For example, what it takes to deploy and scale an application, how to make it redundant and resilient to failure, how to reliably communicate with other distributed processes, and how to observe the health of the application.
My goal is to re-create that tingle of excitement for you, the reader, throughout this book. Within these pages you’ll find many hands-on examples where you get to run various backing services on your development machine and then interact with them using example Node.js application code. With that comes lots of explanation and small tangents to appease the curious.
Once you’re finished with this book, you will have installed and run many different services and, with each of these services, you will have written Node.js application code to interact with them. This book places a greater emphasis on these interactions than it does on examining Node.js application code.
Target Audience
This book won’t teach you how to use Node.js, and to benefit the most from it, you should have already written several Node.js applications and have a concrete understanding of JavaScript. That said, this book does cover some advanced and lesser-known concepts about Node.js and JavaScript, such as “The Single-Threaded Nature of JavaScript” and “The Node.js Event Loop”. You should also be familiar with the basics of HTTP, have used at least one database for persisting state, and know how easy and dangerous it is to maintain state within a running Node.js process.
Perhaps you already work at a company that has infrastructure for running backend services and you’re eager to learn how it works and how your Node.js applications can benefit from it. Or maybe you’ve got a Node.js application that you’re running as a side project and you’re tired of it crashing. You might even be the CTO of a young startup and are determined to meet the demands of your growing userbase. If any of these situations sound familiar, then this book is for you.
Review
“I love this book, especially its coverage of best practices for production. I definitely learned from it.” -Julián Duque, developer advocate, Heroku
“This book covers a whole ton of really advanced stuff that usually takes forever to learn.” – Matt Ranney, Principal Engineer, DoorDash
“The missing manual for scaling Node applications, this book is required reading for our engineers.” -Brad Vogel, co-founder and CTO of Mixmax
“A must-read book for learningNode.js best practices to build scalable production-ready applications.” -Jacopo Daeli, lead engineer, GoDaddy
From the Author
Thank you for taking the time to check out my book! It took about a year to write and is based on around ten years of industry experience.
Here’s the content of the Target Audience section in the preface to help you make your purchasing decision:
This book won’t teach you how to use Node.js, and to benefit the most from it, you should have already written several Node.js applications and have a concrete understanding of JavaScript. That said, this book does cover some advanced and lesser-known concepts about Node.js and JavaScript, such as “The Single-Threaded Nature of JavaScript” and “The Node.js Event Loop”. You should also be familiar with the basics of HTTP, have used at least one database for persisting state, and know how easy and dangerous it is to maintain state within a running Node.js process.
Perhaps you already work at a company that has infrastructure for running backend services and you’re eager to learn how it works and how your Node.js applications can benefit from it. Or maybe you’ve got a Node.js application that you’re running as a side project and you’re tired of it crashing. You might even be the CTO of a young startup and are determined to meet the demands of your growing userbase. If any of these situations sound familiar, then this book is for you.
About the Author
Thomas Hunter II has contributed to dozens of enterprise Node.js services and has worked for a company dedicated to securing Node.js. He has spoken at several conferences on Node.js and JavaScript, is JSNSD/JSNAD certified, and is an organizer of NodeSchool SF.
| ناشر | O’Reilly |
|---|---|
| ویرایش | 1 |
| زبان | English |
| سال انتشار | 2021 |
| شابک | 9781492077299 |
| تعداد صفحات | 391 |
| قطع | B5 |
| کیفیت | اورجینال انتشارات |
| نوع چاپ | رنگی, سیاه و سفید |
| نوع جلد | جلد سخت, شومیز, طلقی |
محصولات مشابه

نقد و بررسیها
هنوز بررسیای ثبت نشده است.