Book Image

Apps and Services with .NET 8 - Second Edition

By : Mark J. Price
5 (7)
Book Image

Apps and Services with .NET 8 - Second Edition

5 (7)
By: Mark J. Price

Overview of this book

Elevate your practical C# and .NET skills to the next level with this new edition of Apps and Services with .NET 8. With chapters that put a variety of technologies into practice, including Web API, gRPC, GraphQL, and SignalR, this book will give you a broader scope of knowledge than other books that often focus on only a handful of .NET technologies. You’ll dive into the new unified model for Blazor Full Stack and leverage .NET MAUI to develop mobile and desktop apps. This new edition introduces the latest enhancements, including the seamless implementation of web services with ADO.NET SqlClient's native Ahead-of-Time (AOT) support. Popular library coverage now includes Humanizer and Noda Time. There’s also a brand-new chapter that delves into service architecture, caching, queuing, and robust background services. By the end of this book, you’ll have a wide range of best practices and deep insights under your belt to help you build rich apps and efficient services.
Table of Contents (19 chapters)
18
Index

Queuing with RabbitMQ

Queuing can improve the scalability of your service, just as it can in the physical world. When too many clients all need to call a service at once, we can use a queue to smooth out the load.

There are many queuing systems available for all the major development platforms. One of the most popular is RabbitMQ. It implements the Advanced Message Queuing Protocol (AMQP).

With AMQP, messages are published to exchanges, which then distribute message copies to queues using rules named bindings. Then a broker can deliver the messages to consumers subscribed to a queue (sometimes called a topic) or a consumer can read from a queue when they want.

Since networks and systems often fail, AMQP uses message acknowledgments to tell the broker when a consumer has successfully processed a message, and only then does the broker remove the message from the queue.

RabbitMQ supports four types of exchange:

  • Direct: A direct exchange delivers messages based...