توضیحاتی در مورد کتاب :
از زمان اجرای برنامه توزیعشده مبتنی بر رویدادهای نوآورانه و بسیار قابل حمل برای سادهسازی ریزسرویسهای انعطافپذیر و مقیاسپذیر برای برنامههای ابری و لبه استفاده کنید.
خرید نسخه چاپی یا کتاب Kindle شامل یک کتاب الکترونیکی رایگان در قالب PDF است.
ویژگی های کلیدی
- قابلیت ساخت، برنامههای میکروسرویس بدون حالت و دولتی که روی ابر و لبه اجرا میشوند
- بر مشکلات رایج در سیستمهای توزیعشده غلبه میکنند، مانند تأخیر کم و مقیاسگذاری، با استفاده از هر زبان و چارچوب
- آشنایی با نحوه نمایش و کارکرد برنامه های Dapr با چندین گزینه
شرح کتاب
این ویرایش دوم به شما کمک میکند تا در کمترین زمان با معماریهای میکروسرویس و نحوه مدیریت پیچیدگیهای برنامه با Dapr آشنا شوید. شما متوجه خواهید شد که چگونه Dapr توسعه را ساده می کند و در عین حال به شما امکان می دهد با چندین زبان و پلتفرم کار کنید. با دنبال کردن یک نمونه C#، متوجه خواهید شد که چگونه زمان اجرا، بلوکهای سازنده و کیتهای توسعه نرمافزار (SDK) Dapr به شما کمک میکند تا ایجاد میکروسرویسهای انعطافپذیر و قابل حمل را ساده کنید.
Dapr یک زمان اجرا مبتنی بر رویداد را ارائه می دهد که از ویژگی های اساسی مورد نیاز شما برای ساخت میکروسرویس ها، از جمله فراخوانی سرویس، مدیریت وضعیت، و انتشار/اشتراک پیام ها پشتیبانی می کند. با این راهنمای عملی برای یادگیری Dapr، همه آنها را علاوه بر ویژگیهای پیشرفته مختلف دیگر کشف خواهید کرد. با تمرکز بر روی استقرار برنامه نمونه Dapr در یک خوشه خدمات Azure Kubernetes و در پلت فرم بدون سرور Azure Container Apps، خواهید دید که چگونه برنامه Dapr را با NGINX، YARP و Azure API مدیریت کنید. p>
در پایان این کتاب، میتوانید با اجرای بهترین شیوههای صنعت برای حل مشکلات مربوط به سیستمهای توزیعشده، به راحتی میکروسرویس بنویسید.
آنچه یاد خواهید گرفت
- از Dapr برای ایجاد خدمات، فراخوانی مستقیم و از طریق pub/sub
- بهترین شیوه ها برای کار با معماری های میکروسرویس را کشف کنید
- از مدل بازیگر برای هماهنگ کردن داده ها و رفتار استفاده کنید
- span>
- Expose API ساخته شده با برنامه های Dapr از طریق NGINX و Azure API Management
- < span>از سرویس Azure Kubernetes برای استقرار یک برنامه نمونه استفاده کنید
- برنامههای Dapr را با استفاده از Zipkin، Prometheus و Grafana نظارت کنید
- مقیاسسازی و بارگذاری برنامههای کاربردی Dapr در Kubernetes
- با برنامههای کانتینر Azure به عنوان شما Dapr را با یک پلت فرم بدون سرور ترکیب می کنید
این کتاب برای چه کسی است
این کتاب برای توسعه دهندگانی است که به دنبال کشف و پیاده سازی معماری های میکروسرویس در برنامه های Dapr با استفاده از مثال های دات نت هستند. چه در میکروسرویس ها تازه کار باشید و چه دانشی از این رویکرد معماری داشته باشید و بخواهید تجربه عملی با استفاده از Dapr کسب کنید، این کتاب برای شما مفید خواهد بود. آشنایی با دات نت به شما کمک می کند تا نمونه های سی شارپ و کدهای مورد استفاده در کتاب را درک کنید.
فهرست محتوا
- معرفی Dapr
- اشکالزدایی راهحلهای Dapr
- معماری میکروسرویس ها با داپر
- فرض از سرویس به سرویس
- معرفی مدیریت دولتی
- انتشار و اشتراک
- پیوندهای منابع
- استفاده از بازیگران
- استقرار در Kubernetes
- افشای برنامههای Dapr
- ردیابی Dapr برنامه
- آزمایش بار و مقیاسبندی Dapr
- اهرمسازی بدون سرور ظروف با داپر
فهرست مطالب :
Cover
Title Page
Copyright and Credits
Foreword
Contributors
Table of Contents
Preface
Part 1: Introduction to Dapr
Chapter 1: Introducing Dapr
Technical requirements
Understanding Dapr
What Dapr is not
Exploring Dapr
Setting up Dapr
Docker
Intalling the Dapr CLI
Installing .NET
Installing VS Code
Installing Windows Terminal
Installing Dapr in self-hosted mode
Installing Dapr on Kubernetes
Updating Dapr version
Building our first Dapr sample
Summary
Questions
Further reading
Chapter 2: Debugging Dapr Solutions
Technical requirements
Configuring VS Code debug for Dapr
Attaching the debugger
Examining the debug configuration
Debugging a Dapr multi-project solution
Creating .NET solutions
Launching the configuration
Tasks
Launching debug sessions individually
Launching compound debug sessions
Using Tye with Dapr
Installing Tye
Using Tye
Summary
Questions
Further reading
Chapter 3: Microservices Architecture with Dapr
Introducing our sample solution
Discovering microservices
Service
Autonomy
Automated deployment
Bounded context
Loose coupling
Event-driven architecture
Observability
Sustainability
Adopting microservices patterns
Building an e-commerce architecture
Bounded contexts
An example – sales microservices
Building microservices with Dapr
Loosely coupled microservices
Autonomous microservices
Observable microservices
Scalable microservices
Event-driven microservices
Stateless microservices
Summary
Questions
Further reading
Part 2: Building Microservices with Dapr
Chapter 4: Service-to-Service Invocation
Technical requirements
Invoking services with Dapr
Introducing service-to-service invocation
Name resolution
Resiliency
Service invocation with the .NET SDK
Creating a project for the Order service
Configuring Dapr in ASP.NET
Implementing Dapr with an ASP.NET controller
Creating a project for the Reservation service
Preparing the debugging configuration
Implementing Dapr with an ASP.NET Minimal API
Recap
Comparing HTTP and gRPC for Dapr
gRPC in ASP.NET
Creating a gRPC microservice
Winning latency with gRPC
Summary
Questions
Further reading
Chapter 5: Introducing State Management
Technical requirements
Managing state in Dapr
State, stateless, and stateful
State stores in Dapr
Transactions
Concurrency
Consistency
Interaction with state stores
Resiliency
Stateful services in an e-commerce ordering system
Stateful reservation-service
Handling the Dapr state in ASP.NET
Using Azure Cosmos DB as a state store
Setting up Azure Cosmos DB
Configuring the state store
Testing the state store
Partitioning with Cosmos DB
Wrapping up
Summary
Chapter 6: Publish and Subscribe
Technical requirements
Using the pub/sub pattern in Dapr
Using Azure Service Bus (ASB) in Dapr
Subscribing to a topic
Configuring a pub/sub component
Publishing to a topic
Inspecting the messages
Implementing a saga pattern
Publishing messages to Dapr
Subscribing to a Dapr topic
Testing the saga pattern
Summary
Chapter 7: Resource Bindings
Technical requirements
Learning how to use Dapr bindings
Configuring a cron input binding
Testing the cron binding
Using Twilio output bindings in Dapr
Signing up for a Twilio trial
Configuring a Twilio output binding
Signaling via the output binding
Verifying the notification
Ingesting data with the Azure Event Hubs input binding
Creating an Azure Event Hubs binding
Configuring the input binding
Implementing an Azure Event Hubs input binding
Producing events
Summary
Chapter 8: Using Actors
Technical requirements
Using actors in Dapr
Introduction to the virtual actor pattern
Configuring a new state store
Verifying the configuration
Actor concurrency, consistency, and lifetime
Placement service
Concurrency and consistency
Resiliency
Lifetime
Implementing actors in an e-commerce reservation system
Preparing the Actor’s projects
Implementing the actor’s model
Accessing actors from other Dapr applications
Inspecting the actor’s state
Summary
Part 3: Deploying and Scaling Dapr Solutions
Chapter 9: Deploying to Kubernetes
Technical requirements
Setting up Kubernetes
Creating an Azure resource group
Creating an AKS cluster
Connecting to the AKS cluster
Setting up Dapr on Kubernetes
Deploying a Dapr application to Kubernetes
Building Docker images
Pushing Docker images
Managing secrets in Kubernetes
Deploying applications
Exposing Dapr applications to external clients
Summary
Chapter 10: Exposing Dapr Applications
Technical requirements
Daprizing ingress controllers
Setting up API management on Kubernetes
Configuring Dapr policies with API management
Summary
Chapter 11: Tracing Dapr Applications
Technical requirements
Observing applications in Dapr
Tracing with Zipkin
Setting up Zipkin
Configuring tracing with Zipkin
Enabling tracing in Dapr
Investigating with Zipkin
Analyzing metrics with Prometheus and Grafana
Installing Prometheus
Installing Grafana
Importing dashboards
Summary
Chapter 12: Load Testing and Scaling Dapr
Technical requirements
Bash
Python
Locust
Kubernetes configuration
Scaling Dapr on Kubernetes
Replicas
Autoscale
Resource requests and limits
Load testing with Locust
Load testing Dapr
Preparing the data via port-forwarding
Testing Locust locally
Locust on Azure Container Instances
Observing the Horizontal Pod Autoscaler
Autoscaling with KEDA
Summary
Chapter 13: Leveraging Serverless Containers with Dapr
Technical requirements
Learning about the Azure Container Apps architecture
Understanding the importance of Azure Container Apps
Setting up Azure Container Apps
Deploying Dapr with Azure Container Apps
Configuring Dapr components in Azure Container Apps
Exposing Azure container apps to external clients
Observing Azure container apps
Autoscaling Azure Container Apps with KEDA
Learning about KEDA autoscalers
Applying KEDA to Azure container apps
Testing KEDA with container apps
Summary
Assessments
Index
Other Books You May Enjoy
توضیحاتی در مورد کتاب به زبان اصلی :
Use the innovative, highly portable event-driven distributed application runtime to simplify building resilient and scalable microservices for cloud and edge applications.
Purchase of the print or Kindle book includes a free eBook in the PDF format.
Key Features
- Build resilient, stateless, and stateful microservice applications that run on the cloud and edge
- Overcome common issues in distributed systems, such as low latency and scaling, using any language and framework
- Learn how to expose and operate Dapr applications with multiple options
Book Description
This second edition will help you get to grips with microservice architectures and how to manage application complexities with Dapr in no time. You'll understand how Dapr simplifies development while allowing you to work with multiple languages and platforms. Following a C# sample, you'll understand how Dapr's runtime, building blocks, and software development kits (SDKs) help you to simplify the creation of resilient and portable microservices.
Dapr provides an event-driven runtime that supports the essential features you need for building microservices, including service invocation, state management, and publish/subscribe messaging. You'll explore all of those in addition to various other advanced features with this practical guide to learning Dapr. With a focus on deploying the Dapr sample application to an Azure Kubernetes Service cluster and to the Azure Container Apps serverless platform, you'll see how to expose the Dapr application with NGINX, YARP, and Azure API Management.
By the end of this book, you'll be able to write microservices easily by implementing industry best practices to solve problems related to distributed systems.
What you will learn
- Use Dapr to create services, invoking them directly and via pub/sub
- Discover best practices for working with microservice architectures
- Leverage the actor model to orchestrate data and behavior
- Expose API built with Dapr applications via NGINX and Azure API Management
- Use Azure Kubernetes Service to deploy a sample application
- Monitor Dapr applications using Zipkin, Prometheus, and Grafana
- Scale and load test Dapr applications on Kubernetes
- Get to grips with Azure Container Apps as you combine Dapr with a serverless platform
Who this book is for
This book is for developers looking to explore and implement microservices architectures in Dapr applications using .NET examples. Whether you are new to microservices or have knowledge of this architectural approach and want to get hands-on experience using Dapr, you'll find this book useful. Familiarity with .NET will help you to understand the C# samples and code snippets used in the book.
Table of Contents
- Introducing Dapr
- Debugging Dapr Solutions
- Microservices Architecture with Dapr
- Service-to-Service invocation
- Introducing State Management
- Publish and Subscribe
- Resource bindings
- Using Actors
- Deployment to Kubernetes
- Exposing Dapr Applications
- Tracing Dapr Application
- Load testing and Scaling Dapr
- Leveraging serverless containers with Dapr