jeroenrinzema / commander Goto Github PK
View Code? Open in Web Editor NEWBuild event-driven and event streaming applications with ease
License: MIT License
Build event-driven and event streaming applications with ease
License: MIT License
Commander allows different dialects to be developed. Currently the project has dialects for mocking and Kafka. Supporting more dialects could increase the versatility of the project. I am looking for contributes wanting to develop more dialects. Examples are:
some protocols (ex: GRPC, HTTP(2)) are not streaming/event driven protocols but could be used to create connectors between dialects (#11).
I want to start developing a CLI interface that could be used for debugging/testing purposes.
Feel free to join the discussion or opt in if you have any ideas.
Businesses have a lot of times multiple pieces of infrastructure which requires integrations to be made. Streaming between dialects could allow two totally different dialects to stream from one another (ex: Redis - Kafka, Kafka - RabbitMQ).
This requires the consume, handle and writer interfaces to be modified. The API should feel natural and not in the way. An idea is to move the consuming and writing from the groups to the dialect.
dialect.Handle(commander.EventTopic, "action", func())
and the writer to include the dialect.
writer.ProduceEvent(dialect, "action", 1, uuid.UUID, nil)
The mocking dialect is at the moment very unstable and needs major rethinking.
Currently issues such as race detections and deadlocks are common.
This issue has a high priority and should be fixed.
A race condition is triggered while scanning the io.Reader
for the next byte buffer.
This due to the shared byte buffer returned on read.
The next byte buffer is read before the current byte buffer is processed.
Describe the bug
data race between close ready channel, create and select
https://github.com/jeroenrinzema/commander/blob/master/dialects/kafka/consumer/group.go#L67
we can receive new ready channel here (not closed)
https://github.com/jeroenrinzema/commander/blob/master/dialects/kafka/consumer/group.go#L56
To Reproduce
Steps to reproduce the behavior. Please include code examples:
Expected behavior
A clear and concise description of what you expected to happen.
Desktop (please complete the following information):
Additional context
Add any other context about the problem here.
Describe the bug
forget to call wg.Done() and if we call Close() then we are lock on wg.Wait()
https://github.com/jeroenrinzema/commander/blob/master/dialects/kafka/consumer/group.go#L94
https://github.com/jeroenrinzema/commander/blob/master/dialects/kafka/consumer/group.go#L89
To Reproduce
Steps to reproduce the behavior. Please include code examples:
Expected behavior
A clear and concise description of what you expected to happen.
Desktop (please complete the following information):
Additional context
Add any other context about the problem here.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.