{"id":21207010,"url":"https://github.com/paralect/brod","last_synced_at":"2025-07-02T14:37:00.783Z","repository":{"id":3651211,"uuid":"4719060","full_name":"paralect/brod","owner":"paralect","description":null,"archived":false,"fork":false,"pushed_at":"2014-01-03T18:19:55.000Z","size":2228,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-03-14T23:23:37.553Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/paralect.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-06-19T20:53:38.000Z","updated_at":"2016-02-17T00:09:16.000Z","dependencies_parsed_at":"2022-08-19T02:40:34.396Z","dependency_job_id":null,"html_url":"https://github.com/paralect/brod","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/paralect/brod","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paralect%2Fbrod","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paralect%2Fbrod/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paralect%2Fbrod/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paralect%2Fbrod/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/paralect","download_url":"https://codeload.github.com/paralect/brod/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paralect%2Fbrod/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263157554,"owners_count":23422653,"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":[],"created_at":"2024-11-20T20:57:28.011Z","updated_at":"2025-07-02T14:37:00.756Z","avatar_url":"https://github.com/paralect.png","language":"C#","readme":"Brod\n====\n\nHigh-throughput, distributed .NET messaging system for real-time and offline processing, havely \ninspirited by Apache Kafka project, that was originally developed at LinkedIn.\n\nBrod is designed to be able to keep messages persistent on disk without performance degradation, regardless of the \nvolume of messages.\n\nBasic Concepts\n========\n\nMessages are published to a _topic_ by a _producer_. Each message will be send to a \nserver acting as a _broker_. Some number of _consumers_ subscribe to a topic, and each published message is \ndelivered to all consumers.\n\nMain Brod components are:\n  * [Brokers](https://github.com/paralect/brod/wiki/Brokers) - set of nodes that store published messages\n  * [Producers](https://github.com/paralect/brod/wiki/Producers) - set of nodes, that produce messages\n  * [Consumers](https://github.com/paralect/brod/wiki/Consumers) - set of nodes, that consume messages\n\nInstallation\n------------\n\nBrod require .NET Framework 4.0 or higher. Mono support is planned for future releases.\n\nIn order to build project, perform the following steps:\n\n  1. Clone project from `https://github.com/paralect/brod.git`\n  2. Run `./Build.bat` which will output to `./target` directory\n\nIn `./target` you'll find:\n\n  * `Brod.exe` - Brod broker\n  * `SampleProducer.exe` - Sample console project, that allows you interractively produce messages.\n  * `SampleConsumer.exe` - Sample console project, that allows you to see messages, produced by `SampleProducer`\n  * `MassiveProducer.exe` - Sample console project, that produce 100.000 messages, 1kb each.\n\nUsage\n-----\n\nYour first Brod producer:\n\n```csharp\nusing(var producer = new Producer(\"localhost:5567\"));\n{\n    producer.Send(\"sample-topic\", \"Hello world!\");\n}\n```\n\nYour first Brod consumer:\n\n```csharp\n\nusing(var consumer = new Consumer(\"localhost:5567\"))\nusing(var stream = consumer.OpenStream(\"sample-topic\"))\n{\n    foreach (var message in stream.NextString())\n        Console.WriteLine(message);\n}\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparalect%2Fbrod","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fparalect%2Fbrod","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparalect%2Fbrod/lists"}