(back) ASP.NET Core Microservices (RabbitMQ) (back)
- SOAP/WSDL with REST
- https://www.c-sharpcorner.com/article/transform-existing-soap-based-web-service-to-rest-based-api-using-azure-api-mana2/
- https://docs.oracle.com/cd/E65459_01/dev.1112/e65461/content/general_soap_to_rest.html
- https://www.quora.com/What-is-Oracle-Fusion-Middleware
- Command and Query Responsibility Segregation (CQRS) pattern
- https://github.com/innovativeinstitution/MicroRabbit
- GettingStartedMicroservicesRabbitMQ.pdf
1. Introduction
![](/QuickHelp/Core1/Core3-2.png)
2. RabbitMQ Setup
- 1. RabbitMQ Installation
- 2. RabbitMQ Dashboard Overview
- 3. RabbitMQ Basic Commands
![](/QuickHelp/Core1/Core3-1.png)
![](/QuickHelp/Core1/Core3-3.png)
![](/QuickHelp/Core1/Core3-4.png)
![](/QuickHelp/Core1/Core3-5.png)
![](/QuickHelp/Core1/Core3-6.png)
![](/QuickHelp/Core1/Core3-7.png)
3. Producers and Consumers
- 1. RabbitMQ Messaging Overview
- 2. Basic Producer Part 1
- 3. Basic Producer Part 2
- 4. Basic Producer Part 3
- 5. Basic Consumer Part 1
- 6. Basic Consumer Part 2
- 7. Basic Consumer Part 3
![](/QuickHelp/Core1/Core3-8.png)
![](/QuickHelp/Core1/Core3-9.png)
![](/QuickHelp/Core1/Core3-10.png)
![](/QuickHelp/Core1/Core3-11.png)
![](/QuickHelp/Core1/Core3-12.png)
![](/QuickHelp/Core1/Core3-13.png)
![](/QuickHelp/Core1/Core3-14.png)
![](/QuickHelp/Core1/Core3-15.png)
![](/QuickHelp/Core1/Core3-16.png)
![](/QuickHelp/Core1/Core3-17.png)
![](/QuickHelp/Core1/Core3-18.png)
![](/QuickHelp/Core1/Core3-19.png)
![](/QuickHelp/Core1/Core3-20.png)
![](/QuickHelp/Core1/Core3-21.png)
![](/QuickHelp/Core1/Core3-22.png)
![](/QuickHelp/Core1/Core3-23.png)
![](/QuickHelp/Core1/Core3-24.png)
![](/QuickHelp/Core1/Core3-25.png)
![](/QuickHelp/Core1/Core3-26.png)
![](/QuickHelp/Core1/Core3-27.png)
![](/QuickHelp/Core1/Core3-28.png)
![](/QuickHelp/Core1/Core3-29.png)
![](/QuickHelp/Core1/Core3-30.png)
![](/QuickHelp/Core1/Core3-31.png)
![](/QuickHelp/Core1/Core3-32.png)
![](/QuickHelp/Core1/Core3-33.png)
![](/QuickHelp/Core1/Core3-34.png)
![](/QuickHelp/Core1/Core3-35.png)
4. Microservice Solution
- 1. Microservice Solution Overview
- 2. Initial Solution Folder Structure
![](/QuickHelp/Core1/Core3-36.png)
![](/QuickHelp/Core1/Core3-37.png)
![](/QuickHelp/Core1/Core3-38.png)
![](/QuickHelp/Core1/Core3-39.png)
![](/QuickHelp/Core1/Core3-40.png)
5. Domain Core Project
- 1. Add Domain Core Project
- 2. EventBus Event Handler Interfaces
- 3. Bus Commands
- 4. Bus Events and Messages
![](/QuickHelp/Core1/Core3-41.png)
![](/QuickHelp/Core1/Core3-42.png)
![](/QuickHelp/Core1/Core3-43.png)
![](/QuickHelp/Core1/Core3-44.png)
![](/QuickHelp/Core1/Core3-45.png)
![](/QuickHelp/Core1/Core3-46.png)
![](/QuickHelp/Core1/Core3-47.png)
![](/QuickHelp/Core1/Core3-48.png)
![](/QuickHelp/Core1/Core3-49.png)
![](/QuickHelp/Core1/Core3-50.png)
![](/QuickHelp/Core1/Core3-51.png)
![](/QuickHelp/Core1/Core3-52.png)
![](/QuickHelp/Core1/Core3-53.png)
![](/QuickHelp/Core1/Core3-54.png)
![](/QuickHelp/Core1/Core3-55.png)
6. RabbitMQ Event Bus
- 1. Infrastructure RabbitMQ Bus
- 2. RabbitMQ Bus Constructor
- 3. Implement Publish Method
- 4. Implement Subscribe Method
- 5. Start Basic Consume
- 6. Consumer Receiver Delegate
- 7. Process Events
![](/QuickHelp/Core1/Core3-56.png)
![](/QuickHelp/Core1/Core3-57.png)
![](/QuickHelp/Core1/Core3-58.png)
![](/QuickHelp/Core1/Core3-59.png)
![](/QuickHelp/Core1/Core3-60.png)
![](/QuickHelp/Core1/Core3-61.png)
![](/QuickHelp/Core1/Core3-62.png)
![](/QuickHelp/Core1/Core3-63.png)
![](/QuickHelp/Core1/Core3-64.png)
![](/QuickHelp/Core1/Core3-65.png)
![](/QuickHelp/Core1/Core3-66.png)
![](/QuickHelp/Core1/Core3-67.png)
![](/QuickHelp/Core1/Core3-68.png)
![](/QuickHelp/Core1/Core3-69.png)
![](/QuickHelp/Core1/Core3-70.png)
![](/QuickHelp/Core1/Core3-71.png)
![](/QuickHelp/Core1/Core3-72.png)
![](/QuickHelp/Core1/Core3-73.png)
![](/QuickHelp/Core1/Core3-74.png)
![](/QuickHelp/Core1/Core3-75.png)
![](/QuickHelp/Core1/Core3-76.png)
![](/QuickHelp/Core1/Core3-77.png)
![](/QuickHelp/Core1/Core3-78.png)
![](/QuickHelp/Core1/Core3-79.png)
![](/QuickHelp/Core1/Core3-80.png)
![](/QuickHelp/Core1/Core3-81.png)
![](/QuickHelp/Core1/Core3-82.png)
7. Inversion of Control
- 1. Infrastructure IOC Project
- 2. Dependency Container
- 3. Commit Dependency Project
![](/QuickHelp/Core1/Core3-83.png)
![](/QuickHelp/Core1/Core3-84.png)
![](/QuickHelp/Core1/Core3-85.png)
![](/QuickHelp/Core1/Core3-86.png)
![](/QuickHelp/Core1/Core3-87.png)
![](/QuickHelp/Core1/Core3-88.png)
![](/QuickHelp/Core1/Core3-89.png)
8. Banking Microservice
- 1. Banking Service Overview
- 2. Banking Folder Structure
- 3. Banking Initial Projects
- 4. Banking Domain Folder Structure
- 5. Banking Model
- 6. Banking Repository Interface
- 7. Banking Database Context
- 8. Banking Repository Implementation
- 9. Banking Application Layer
- 10. Banking Updated IOC Container
- 11. Banking Api AppSettings
- 12. Banking Configure Api Startup
- 13. Banking Configure Swagger MediatR
- 14. Banking Implement Controller
- 15. Launch Banking Microservice
- 16. Commit Banking Microservice
![](/QuickHelp/Core1/Core3-90.png)
![](/QuickHelp/Core1/Core3-91.png)
![](/QuickHelp/Core1/Core3-92.png)
![](/QuickHelp/Core1/Core3-93.png)
![](/QuickHelp/Core1/Core3-94.png)
![](/QuickHelp/Core1/Core3-95.png)
![](/QuickHelp/Core1/Core3-96.png)
![](/QuickHelp/Core1/Core3-97.png)
![](/QuickHelp/Core1/Core3-98.png)
![](/QuickHelp/Core1/Core3-99.png)
![](/QuickHelp/Core1/Core3-100.png)
![](/QuickHelp/Core1/Core3-101.png)
![](/QuickHelp/Core1/Core3-102.png)
![](/QuickHelp/Core1/Core3-103.png)
![](/QuickHelp/Core1/Core3-104.png)
![](/QuickHelp/Core1/Core3-105.png)
![](/QuickHelp/Core1/Core3-106.png)
![](/QuickHelp/Core1/Core3-107.png)
![](/QuickHelp/Core1/Core3-108.png)
![](/QuickHelp/Core1/Core3-109.png)
![](/QuickHelp/Core1/Core3-110.png)
![](/QuickHelp/Core1/Core3-111.png)
![](/QuickHelp/Core1/Core3-112.png)
![](/QuickHelp/Core1/Core3-113.png)
![](/QuickHelp/Core1/Core3-114.png)
![](/QuickHelp/Core1/Core3-115.png)
![](/QuickHelp/Core1/Core3-116.png)
![](/QuickHelp/Core1/Core3-117.png)
![](/QuickHelp/Core1/Core3-118.png)
![](/QuickHelp/Core1/Core3-119.png)
![](/QuickHelp/Core1/Core3-120.png)
![](/QuickHelp/Core1/Core3-121.png)
![](/QuickHelp/Core1/Core3-122.png)
![](/QuickHelp/Core1/Core3-123.png)
![](/QuickHelp/Core1/Core3-124.png)
![](/QuickHelp/Core1/Core3-125.png)
![](/QuickHelp/Core1/Core3-126.png)
![](/QuickHelp/Core1/Core3-127.png)
![](/QuickHelp/Core1/Core3-128.png)
![](/QuickHelp/Core1/Core3-129.png)
![](/QuickHelp/Core1/Core3-130.png)
![](/QuickHelp/Core1/Core3-131.png)
![](/QuickHelp/Core1/Core3-132.png)
![](/QuickHelp/Core1/Core3-133.png)
![](/QuickHelp/Core1/Core3-134.png)
![](/QuickHelp/Core1/Core3-135.png)
![](/QuickHelp/Core1/Core3-136.png)
![](/QuickHelp/Core1/Core3-137.png)
![](/QuickHelp/Core1/Core3-138.png)
![](/QuickHelp/Core1/Core3-139.png)
![](/QuickHelp/Core1/Core3-140.png)
![](/QuickHelp/Core1/Core3-141.png)
![](/QuickHelp/Core1/Core3-142.png)
![](/QuickHelp/Core1/Core3-143.png)
![](/QuickHelp/Core1/Core3-144.png)
![](/QuickHelp/Core1/Core3-145.png)
![](/QuickHelp/Core1/Core3-146.png)
![](/QuickHelp/Core1/Core3-147.png)
![](/QuickHelp/Core1/Core3-148.png)
![](/QuickHelp/Core1/Core3-149.png)
![](/QuickHelp/Core1/Core3-150.png)
![](/QuickHelp/Core1/Core3-151.png)
![](/QuickHelp/Core1/Core3-152.png)
![](/QuickHelp/Core1/Core3-153.png)
![](/QuickHelp/Core1/Core3-154.png)
![](/QuickHelp/Core1/Core3-155.png)
![](/QuickHelp/Core1/Core3-156.png)
![](/QuickHelp/Core1/Core3-157.png)
![](/QuickHelp/Core1/Core3-158.png)
![](/QuickHelp/Core1/Core3-159.png)
![](/QuickHelp/Core1/Core3-160.png)
![](/QuickHelp/Core1/Core3-161.png)
![](/QuickHelp/Core1/Core3-162.png)
9. Banking Commands and Publishing Events
- 1. Account Transfer Endpoint
- 2. Account Transfer Service Method
- 3. Transfer Commands
- 4. Transfer Command Handler
- 5. Service Send Command
- 6. Publish Transfer Event
- 7. Update Account Service IOC
- 8. Launch Banking and Check Queue
- 9. Commit Banking Microservice
- 10. Transfer Microservice
![](/QuickHelp/Core1/Core3-163.png)
![](/QuickHelp/Core1/Core3-164.png)
![](/QuickHelp/Core1/Core3-165.png)
![](/QuickHelp/Core1/Core3-166.png)
![](/QuickHelp/Core1/Core3-167.png)
![](/QuickHelp/Core1/Core3-168.png)
![](/QuickHelp/Core1/Core3-169.png)
![](/QuickHelp/Core1/Core3-170.png)
![](/QuickHelp/Core1/Core3-171.png)
![](/QuickHelp/Core1/Core3-172.png)
![](/QuickHelp/Core1/Core3-173.png)
![](/QuickHelp/Core1/Core3-174.png)
![](/QuickHelp/Core1/Core3-175.png)
10. Transfer Microservice
- 1. Transfer Initial Projects
- 2. Transfer Initial Project Folders
- 3. Transfer Nuget Packages
- 4. Api Startup Configuration
- 5. DbContext and Domain Model
- 6. Database Migrations
- 7. Application Data Domain
- 8. Update Dependency Container
- 9. Controller Configuration
- 10. Event Handler
- 11. Update Dependency Container
- 12. Configure EventBus Subscription
- 13. Launch Banking and Transfer Microservices
11. RabbitMQ Bus Dependency Injection Refactor
Comments (
)
![](http://forum.vb-net.com/GetTopicCount.png?id=038ca2d3-8d14-4232-9413-75a3cc9d3196)
<00>
<01>
<02>
<03>
<04>
<05>
<06>
<07>
<08>
<09>
<10>
<11>
<12>
<13>
<14>
<15>
<16>
<17>
<18>
<19>
<20>
<21>
<22>
<23>
Link to this page:
//www.vb-net.com/QuickHelp/Core1/Core3.htm
<SITEMAP> <MVC> <ASP> <NET> <DATA> <KIOSK> <FLEX> <SQL> <NOTES> <LINUX> <MONO> <FREEWARE> <DOCS> <ENG> <CHAT ME> <ABOUT ME> < THANKS ME> |