Skip to content

Latest commit

 

History

History
115 lines (79 loc) · 4.27 KB

README.md

File metadata and controls

115 lines (79 loc) · 4.27 KB

🚀 Custom Message Broker

Welcome to Custom Message Broker, your go-to solution for building a high-performance, reliable, and scalable message broker tailored to your needs. Whether you’re handling millions of messages or need fine-tuned control over message processing, this broker has you covered. With advanced features like message persistence, multi-queue management, and consumer groups, it’s the perfect fit for any robust messaging system.

✨ Key Features

  • 🗃️ Message Persistence: Ensure that your messages are stored securely and can be retrieved whenever needed.
  • 🔀 Multi-Queue Management: Create and manage multiple message queues with ease.
  • ⏳ Message Retries & Timeouts: Set custom rules for message retries and timeouts to keep your system resilient.
  • 👥 Consumer Groups: Distribute message processing across different consumer groups for load balancing.
  • ⚡ Optimized Performance: Designed for efficiency, only activates when needed, avoiding unnecessary resource usage.

🚧 Getting Started

Ready to dive in? Follow these simple steps to get your Custom Message Broker up and running!

Prerequisites

Make sure you have the following installed:

  • Java 8+
  • Maven 3+ or Gradle 6+

Installation

Clone the repository and build the project:

git clone https://github.com/fadimanakilci/custom-message-broker.git --recurse-submodules
cd custom-message-broker

If you're using Maven:

mvn clean install

Or if you prefer Gradle:

gradle build

Running the Broker

java -jar target/custom-message-broker.jar

And you’re good to go! 🚀

🛠️ How to Use

Ready to harness the power of your custom message broker? Let's dive in! The best way to understand how to utilize this powerful tool is by exploring the Client and Server modules that are part of this repository. These modules will guide you through the real-world application of the message broker.

🌐 Setting Up the Server

  1. Navigate to the server directory.
  2. Follow the instructions in the README.md file located within the server module.
  3. Start your server to begin managing two-way communication with the custom broker.

💻 Setting Up the Client

  1. Navigate to the client directory.
  2. Configure the client by following the steps outlined in the README.md file within the `client module.
  3. Engage in Two-Way Messaging with the server, utilizing the custom message broker for seamless, bidirectional communication.

🔄 Example Usage

Here's how the message broker facilitates two-way communication:

  1. Server Initialization: The Server kicks off, ready to handle incoming and outgoing messages.
  2. Client Connection: The Client connects and initiates a message exchange through the custom message broker.
  3. Bidirectional Messaging: Both the Server and Client can send and receive messages, allowing for dynamic two-way communication.

✨ These modules illustrate the flexibility and efficiency of your custom message broker. For a deeper dive and specific code examples, make sure to explore the README.md files in both the client and server directories.

💡 Why Choose Custom Message Broker?

This isn't just any message broker. With Custom Message Broker, you get:

  • Control: Tailor every aspect of your message handling.
  • Flexibility: Use it your way, with features that adapt to your needs.
  • Efficiency: Designed to be lightweight and responsive.

Whether you're building a small application or a large-scale enterprise system, this broker adapts to your requirements.

🤝 Contributing

We’d love your help in making Custom Message Broker even better! Here’s how you can contribute:

  1. Fork the repository to your own GitHub account.
  2. Create a branch for your feature: git checkout -b feature/AmazingFeature.
  3. Commit your changes: git commit -m 'feat: add some AmazingFeature'.
  4. Push to your branch: git push origin feature/AmazingFeature.
  5. Open a Pull Request and let’s make this broker even more awesome together!

📄 License

This project is licensed under the MIT License – see the LICENSE file for details.

🌟 Happy Messaging!