All Projects → BrighterCommand → Brighter

BrighterCommand / Brighter

Licence: mit
Command Dispatcher, Processor, and Distributed Task Queue

Projects that are alternatives of or similar to Brighter

Enqueue Dev
Message Queue, Job Queue, Broadcasting, WebSockets packages for PHP, Symfony, Laravel, Magento. DEVELOPMENT REPOSITORY - provided by Forma-Pro
Stars: ✭ 1,977 (+41.92%)
Mutual labels:  sns, kafka, rabbitmq
Kafka Flow
KafkaFlow is a .NET framework to consume and produce Kafka messages with multi-threading support. It's very simple to use and very extendable. You just need to install, configure, start/stop the bus with your app and create a middleware/handler to process the messages.
Stars: ✭ 118 (-91.53%)
Mutual labels:  kafka, nuget, dotnet-core
Justsaying
A light-weight message bus on top of AWS services (SNS and SQS).
Stars: ✭ 157 (-88.73%)
Mutual labels:  sns, sqs, dotnet-core
Components Contrib
Community driven, reusable components for distributed apps
Stars: ✭ 131 (-90.6%)
Mutual labels:  sns, sqs, kafka
Gizmo
A Microservice Toolkit from The New York Times
Stars: ✭ 3,566 (+155.99%)
Mutual labels:  sns, sqs, kafka
Practical.cleanarchitecture
Asp.Net Core 5 Clean Architecture (Microservices, Modular Monolith, Monolith) samples (+Blazor, Angular 11, React 17, Vue 2.6), Domain-Driven Design, CQRS, Event Sourcing, SOLID, Asp.Net Core Identity Custom Storage, Identity Server 4 Admin UI, Entity Framework Core, Selenium E2E Testing, SignalR Notification, Hangfire Tasks Scheduling, Health Checks, Security Headers, ...
Stars: ✭ 639 (-54.13%)
Mutual labels:  kafka, rabbitmq
Pmacct
pmacct is a small set of multi-purpose passive network monitoring tools [NetFlow IPFIX sFlow libpcap BGP BMP RPKI IGP Streaming Telemetry].
Stars: ✭ 677 (-51.4%)
Mutual labels:  kafka, rabbitmq
Dockerfiles
50+ DockerHub public images for Docker & Kubernetes - Hadoop, Kafka, ZooKeeper, HBase, Cassandra, Solr, SolrCloud, Presto, Apache Drill, Nifi, Spark, Consul, Riak, TeamCity and DevOps tools built on the major Linux distros: Alpine, CentOS, Debian, Fedora, Ubuntu
Stars: ✭ 847 (-39.2%)
Mutual labels:  kafka, rabbitmq
Computesharp
A .NET 5 library to run C# code in parallel on the GPU through DX12 and dynamically generated HLSL compute shaders, with the goal of making GPU computing easy to use for all .NET developers! 🚀
Stars: ✭ 982 (-29.5%)
Mutual labels:  nuget, dotnet-core
Dazn Lambda Powertools
Powertools (logger, HTTP client, AWS clients, middlewares, patterns) for Lambda functions.
Stars: ✭ 501 (-64.03%)
Mutual labels:  sns, sqs
Weixinmpsdk
微信全平台 SDK Senparc.Weixin for C#,支持 .NET Framework 及 .NET Core、.NET 6.0。已支持微信公众号、小程序、小游戏、企业号、企业微信、开放平台、微信支付、JSSDK、微信周边等全平台。 WeChat SDK for C#.
Stars: ✭ 7,098 (+409.55%)
Mutual labels:  nuget, dotnet-core
Yii Queue
Queue extension for Yii 3.0
Stars: ✭ 38 (-97.27%)
Mutual labels:  sqs, rabbitmq
Dnc
dnc 去中心化 开源社区 轻联盟 dncto.com QQ群 779699538
Stars: ✭ 551 (-60.45%)
Mutual labels:  kafka, rabbitmq
Plumber
A swiss army knife CLI tool for interacting with Kafka, RabbitMQ and other messaging systems.
Stars: ✭ 514 (-63.1%)
Mutual labels:  kafka, rabbitmq
Goodskill
🐂基于springcloud +dubbo构建的模拟秒杀项目,模块化设计,集成了分库分表、elasticsearch🔍、gateway、mybatis-plus、spring-session等常用开源组件
Stars: ✭ 786 (-43.58%)
Mutual labels:  kafka, rabbitmq
Cap
Distributed transaction solution in micro-service base on eventually consistency, also an eventbus with Outbox pattern
Stars: ✭ 5,208 (+273.87%)
Mutual labels:  kafka, rabbitmq
Streamsx.messaging
This toolkit is focused on interacting with popular messaging systems such as Kafka, JMS, XMS, and MQTT. After release v5.4.2 the complete toolkit will be deprecated. See the README.md file for hints to alternative toolkits.
Stars: ✭ 31 (-97.77%)
Mutual labels:  kafka, rabbitmq
Commonx
基础框架
Stars: ✭ 57 (-95.91%)
Mutual labels:  kafka, rabbitmq
Serverless
This is intended to be a repo containing all of the official AWS Serverless architecture patterns built with CDK for developers to use. All patterns come in Typescript and Python with the exported CloudFormation also included.
Stars: ✭ 1,048 (-24.77%)
Mutual labels:  sns, sqs
Spring Cloud Stream Demo
Simple Event Driven Microservices with Spring Cloud Stream
Stars: ✭ 58 (-95.84%)
Mutual labels:  kafka, rabbitmq
canon Brighter
Brighter is a Command Dispatcher and Command Processor. It can be used with an in-memory bus, or for interoperability in a microservices architecture, out of process via a wider range of middleware transports.
Version NuGet Version
Download NuGet Downloads
Documentation Introduction; Technical Documentation
Source https://github.com/BrighterCommand/Brighter
Chat Join the chat at https://gitter.im/iancooper/Paramore
Keywords task queue, job queue, asynchronous, async, rabbitmq, amqp, sqs, sns, kakfa, redis, c#, command, command dispatcher, command processor, queue, distributed

What Scenarios Can You Use Brighter in?

  • When implementing a clean architecture (ports & adapters), one question is how to implement the interactor or port layer (sometimes called a mediator).

    • A common solution is to use the Command pattern to implement the Interactor (port) or a pattern derived from that.
    • Brighter provides an implementation the Interactor (port) using the Command Dispatcher pattern.
    • You can write a command, that is then dispatched to a handler that you write.
    • Alternatively you can write an event, that is dispatched to zero or more handlers that you write.
    • Brighter also supports the Command Processor pattern, so that you can add middleware between the sender and handler.
    • Handlers are tagged via attributes to include middleware in thier pipeline.
    • Out-of-the-box middleware is provided for logging and Polly (retry, and circuit breaker).
  • When integrating two microservices using messaging, one question is how to abstract from the developer the code that sends and receives messages in favor of writing domain code.

    • A common solution is a message pump that: gets a message, translates a message, and dispatches it to user code.
    • Brighter provides a service activator that implements a message pump.
    • The message pump dispatches to user code via Brighter's Command Dispatcher/Processor.
    • This hides the complexity of a message pump; developers need only write a handler that subscribes to a message
    • This hides the complexity of messaging from developers who just write commands/events and handlers.
    • Developers can take full advantage of Brighter's middleware pipeline when processing messages
    • Brighter can be configured for a variety of transports including RabbitMQ, and SNS+SQS.

Documentation

  • More detailed documentation on the project can be found on the ReadTheDocs pages for the project here: Paramore

What are the different branches?

Branch Description
Master The tip of active development. Anything in master should ship at the next release. Code here should conform to CI basics: compile, pass tests etc.
[Other] A branch for any work that is not ready to go into master (for example would break CI) or is experimental i.e. we don't know if we intend to ever ship, we are just trying out ideas.

Using Docker Compose to test

We provide a Docker Compose file to allow you to run the test suite, without having to install the pre-requisites, such as brokers or databases locally.

To run it, you will need to scale the redis sentinel to at least 3 nodes, and use at least two redis slaves. For example:

docker-compose up -d --build --scale redis-slave=2 --scale redis-sentinel=3

The goal is to allow you to begin working with Brighter as easily as possible for development.

Note that if you have locally installed versions of these services you will either need to stop them, or edit a local version of the docker compose file.

How do I get the NuGet packages for the latest build?

We release the build artefacts (NuGet packages) to NuGet on a regular basis and we update the release notes on those drops. We also tag the master code line. If you want to take the packages that represent master at any point you can download the packages for the latest good build from GitHub Packages.

Coverity Scan Build Status

CI

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].