{"id":13490297,"url":"https://github.com/bloomberg/blazingmq","last_synced_at":"2025-05-13T18:11:13.775Z","repository":{"id":184234514,"uuid":"665300681","full_name":"bloomberg/blazingmq","owner":"bloomberg","description":"A modern high-performance open source message queuing system","archived":false,"fork":false,"pushed_at":"2025-05-06T18:17:26.000Z","size":65297,"stargazers_count":2659,"open_issues_count":78,"forks_count":142,"subscribers_count":24,"default_branch":"main","last_synced_at":"2025-05-06T19:37:15.992Z","etag":null,"topics":["blazingmq","distributed-systems","message-queue","messaging","middleware","queue","queues"],"latest_commit_sha":null,"homepage":"https://bloomberg.github.io/blazingmq/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bloomberg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-07-11T22:49:38.000Z","updated_at":"2025-05-06T18:16:34.000Z","dependencies_parsed_at":"2023-09-28T22:43:32.391Z","dependency_job_id":"d7052707-4f7f-4a78-8da5-998b273e3130","html_url":"https://github.com/bloomberg/blazingmq","commit_stats":{"total_commits":353,"total_committers":43,"mean_commits":8.209302325581396,"dds":0.7677053824362606,"last_synced_commit":"936a3ab81441ef7d607e26523e12fc99520742ea"},"previous_names":["bloomberg/blazingmq"],"tags_count":57,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bloomberg%2Fblazingmq","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bloomberg%2Fblazingmq/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bloomberg%2Fblazingmq/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bloomberg%2Fblazingmq/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bloomberg","download_url":"https://codeload.github.com/bloomberg/blazingmq/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254000854,"owners_count":21997442,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blazingmq","distributed-systems","message-queue","messaging","middleware","queue","queues"],"created_at":"2024-07-31T19:00:44.416Z","updated_at":"2025-05-13T18:11:13.753Z","avatar_url":"https://github.com/bloomberg.png","language":"C++","funding_links":[],"categories":["C++","Message Queues","Projects"],"sub_categories":["TimeSeries Analysis","Message Broker"],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://bloomberg.github.io/blazingmq\"\u003e\n    \u003cpicture\u003e\n      \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"docs/assets/images/blazingmq_logo_label_dark.svg\"\u003e\n      \u003cimg src=\"docs/assets/images/blazingmq_logo_label.svg\" width=\"70%\"\u003e\n    \u003c/picture\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n---\n[![OS Linux](https://img.shields.io/badge/OS-Linux-blue)](#)\n[![OS Solaris](https://img.shields.io/badge/OS-Solaris-blue)](#)\n[![License](https://img.shields.io/badge/License-Apache_2.0-blue)](LICENSE)\n[![C++](https://img.shields.io/badge/C++-blue)](#)\n[![CMake](https://img.shields.io/badge/CMake-blue)](#)\n[![MessageQueue](https://img.shields.io/badge/MessageQueue-blue)](#)\n[![Documentation](https://img.shields.io/badge/Documentation-blue)](https://bloomberg.github.io/blazingmq)\n\n# BlazingMQ - A Modern, High-Performance Message Queue\n\n[BlazingMQ](https://bloomberg.github.io/blazingmq) is an open source\ndistributed message queueing framework, which focuses on efficiency,\nreliability, and a rich feature set for modern-day workflows.\n\nAt its core, BlazingMQ provides durable, fault-tolerant, highly performant, and\nhighly available queues, along with features like various message routing\nstrategies (e.g., work queues, priority, fan-out, broadcast, etc.),\ncompression, strong consistency, poison pill detection, etc.\n\nMessage queues generally provide a loosely-coupled, asynchronous communication\nchannel (\"queue\") between application services (producers and consumers) that\nsend messages to one another. You can think about it like a mailbox for\ncommunication between application programs, where 'producer' drops a message in\na mailbox and 'consumer' picks it up at its own leisure. Messages placed into\nthe queue are stored until the recipient retrieves and processes them. In other\nwords, producer and consumer applications can temporally and spatially isolate\nthemselves from each other by using a message queue to facilitate\ncommunication.\n\nBlazingMQ's back-end (message brokers) has been implemented in C++, and client\nlibraries are available in C++, Java, and Python.\n\nBlazingMQ is an actively developed project and has been battle-tested in\nproduction at Bloomberg for 8+ years.\n\nThis repository the contains BlazingMQ message broker, the BlazingMQ C++ client\nlibrary, and a BlazingMQ command line tool. The BlazingMQ\n[Java client library](https://github.com/bloomberg/blazingmq-sdk-java) and\n[Python client library](https://github.com/bloomberg/blazingmq-sdk-python) are\nmaintained in separate repositories.\n\n\n## Menu\n\n- [Documentation](#documentation)\n- [Quick Start](#quick-start)\n- [Building](#building)\n- [Installation](#installation)\n- [Contributions](#contributions)\n- [License](#license)\n- [Code of Conduct](#code-of-conduct)\n- [Security Vulnerability Reporting](#security-vulnerability-reporting)\n\n\n## Documentation\n\nComprehensive documentation about BlazingMQ can be found\n[here](https://bloomberg.github.io/blazingmq).\n\n\n## Quick Start\n\n[This](https://bloomberg.github.io/blazingmq/docs/getting_started/blazingmq_in_action/)\narticle guides readers to build, install, and experiment with BlazingMQ locally\nin a Docker container.\n\nIn the\n[companion](https://bloomberg.github.io/blazingmq/docs/getting_started/more_fun_with_blazingmq)\narticle, readers can learn about some intermediate and advanced features of\nBlazingMQ and see them in action.\n\n\n## Building\n\n[bin/build-ubuntu.sh](bin/build-ubuntu.sh) and\n[bin/build-darwin.sh](bin/build-darwin.sh) build BlazingMQ and its dependencies,\nrespectively, on Ubuntu 22.04.2 LTS and Darwin 22.6.0. They can serve as a basis\nto build BlazingMQ on other systems.  \n  \nTo build BlazingMQ with plugins, pass '--plugins' argument with desired plugin names to the build script, e.g.\n```bash\nbin/build-ubuntu.sh --plugins plugin-1-name,plugin-2-name\n```\n\n### With vcpkg\n\nThere is also support for building BlazingMQ with [vpckg](https://vcpkg.io/en/).\n\nBefore attempting to build, you will have to acquire `flex`, `bison`, and `bde-tools` for your system, as vcpkg cannot fetch them. Both `flex` and `bison` can likely be installed through your system's package manager. Clone [`bde-tools`](https://github.com/bloomberg/bde-tools.git), we'll assume `blazingmq/thirdparty/bde-tools` for this guide.\n\nOnce the prerequisite tools are installed, you should be able to build BlazingMQ with the following:\n\n```sh\nexport VCPKG_ROOT=/path/to/vcpkg\ncmake --preset [preset-name] -DCMAKE_PREFIX_PATH=/path/to/thirdparty/bde-tools\ncmake --build cmake.bld\n```\n\nFor a list of presets, please look at the `*-vcpkg` configurations in [`CMakePresets.json`](./CMakePresets.json).\n\n\n## Installation\n\n[This](https://bloomberg.github.io/blazingmq/docs/installation/deployment/)\narticle describes the steps for installing a BlazingMQ cluster in a set of Docker\ncontainers, along with a recommended set of configurations.\n\n\n## Contributions\n\nWe welcome your contributions to help us improve and extend this project!\n\nWe welcome issue reports [here](../../issues); be sure to choose the proper\nissue template for your issue, so that we can be sure you're providing us with\nthe necessary information.\n\nBefore sending a [Pull Request](../../pulls), please make sure you have read\nour [Contribution\nGuidelines](https://github.com/bloomberg/.github/blob/main/CONTRIBUTING.md).\n\n\n## License\n\nBlazingMQ is Apache 2.0 licensed, as found in the [LICENSE](LICENSE) file.\n\n\n## Code of Conduct\n\nThis project has adopted a [Code of\nConduct](https://github.com/bloomberg/.github/blob/main/CODE_OF_CONDUCT.md).\nIf you have any concerns about the Code, or behavior which you have experienced\nin the project, please contact us at opensource@bloomberg.net.\n\n\n## Security Vulnerability Reporting\n\nIf you believe you have identified a security vulnerability in this project,\nplease send an email to the project team at opensource@bloomberg.net, detailing\nthe suspected issue and any methods you've found to reproduce it.\n\nPlease do NOT open an issue in the GitHub repository, as we'd prefer to keep\nvulnerability reports private until we've had an opportunity to review and\naddress them.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbloomberg%2Fblazingmq","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbloomberg%2Fblazingmq","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbloomberg%2Fblazingmq/lists"}