|
| 1 | +# ProActiveQueueClient |
| 2 | + |
| 3 | +The **ProActiveQueue** Project is a highly opinionated library focused on quick & reliable ***ActiveMQ*** messaging in Java. In addition, this project is intended |
| 4 | +(but not required) to be connected with ***AWS ECS*** for queue-scaled microservices. |
| 5 | + |
| 6 | +## Project Focus: |
| 7 | + |
| 8 | +1. Fast, Opinionated, Reliable messaging with ActiveMQ/AmazonMQ |
| 9 | +2. Fast, Opinionated, Responsive Microservice scaling based on an ActiveMQ Queue |
| 10 | + 2.a Stack: AWS ECS Fargate, AmazonMQ/ActiveMQ |
| 11 | + |
| 12 | +#### 1. Messaging |
| 13 | +On the messaging side, ActiveMQ java integrations require a lot of boilerplate code gathered from various documentation |
| 14 | +sources in order to get useful production work done. The ***ProActiveQueue*** project aims to minimize the time to get off the |
| 15 | +ground with ActiveMQ with strong opinions on: |
| 16 | +1. ***Transactions:*** If messages aren't processed, they are returned for processing in the future |
| 17 | +2. ***Batching:*** Send and recieve messages in batches within the same connection/transaction |
| 18 | +3. ***Minimal Boilerplate:*** Configuring, Receiving, and Sending should require minimal code |
| 19 | + |
| 20 | + |
| 21 | +#### 2. Microservice Queue Orchestration |
| 22 | +On the AWS microservice side, this project aims to effortlessly link ***AWS AmazonMQ/ActiveMQ*** with ***AWS ECS Fargate***. The integration goals are aimed |
| 23 | +at the following architecture/flow: |
| 24 | + |
| 25 | +1. A group of messages are sent from 1 (or more) applications to an ActiveMQ Queue. |
| 26 | +2. The messages are detected and an AWS ECS cluster spins up the required containers to process all messages. |
| 27 | +3. The messages are transactionally processed across AWS ECS (Fargate) containers. |
| 28 | +4. The AWS ECS cluster scales down as all messages are processed |
| 29 | + |
0 commit comments