文章目录
- 项目地址
- 一、微服务同步通讯
-
- 1.1 Http
-
- 1. Search服务
-
- 配置竞拍服务的地址
- 创建Httpclient用于发送http请求
- Search服务里注册Httpclient
- 使用HttpClient服务
- Polly
- 2. Auction服务
- 1.2 RabbitMQ
-
- 1.3 Outbox Pattern
-
- 1. 安装所需要的包
- 2. 注册Outbox生产者
- 3. 添加Outbox pattern需要的表
- 1.4 消息消费失败
-
- 1. 给固定的消费者队列添加重试
- 2. MQ里的错误队列
- 3. 消费错误队列
- 4. 消费错误队列里的消息
- 5. 注册错误消费者
项目地址
- 教程作者: Neil Cummings
- 教程地址:
How to build a microservices based app using .Net, NextJS, IdentityServer, RabbitMQ running on Docker and Kubernetes
有的密
https://github.com/TryCatchLearn/Carsties/commits/main/
一、微服务同步通讯
1.1 Http
1. Search服务
配置竞拍服务的地址
- 在搜索服务的appsettings里,添加竞拍服务的地址

创建Httpclient用于发送http请求
- 在Search服务里,直接调用EF数据库查询,查询最新的数据时间
- 拼接Auctions服务的接口,并且通过httpclient直接调用了Auction服务里controller提供的接口查询

Search服务里注册Httpclient

使用HttpClient服务
- 这里使用Auctions服务的数据,做了Searchs服务的数据初始化

Polly
- 由于Httpclient是同步请求,所以,为了防止依赖服务崩掉,需要添加Pol