-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support Kafka as an additional transport #158
Comments
@Prajna you can configure a kafka producer to wait for an ack from the elected leader or wait for akcs from all brokers in a replica (or none for non-resilient producing) |
I think this could add a lot of value, and clean our code as well. |
@vladshub I agree, it will force us to decouple our message handling code from rabbitmq specifics that will promote for a better design and in addition provide kafka as a transport which will provide for a lot of value |
Solve issue #158 Disconnects rabbitmq and allows addition of kafka or any other transport
Solve issue #158 Disconnects rabbitmq and allows addition of kafka or any other transport
@vladshub I think the challenge and where we need to think about the correct abstractions is how we bridge the conceptual gap between rabbit and kafka in respect to what is the unit of parallelism. |
I agree with you, however, I think it should be "hidden" in the implementation of the transport. |
@rhinof also I was thinking about a transport registry which should look like the import "github.com/wework/grabbit/gbus"
import _ "github.com/vladshub/grabbit-kafka"
.
.
. This way we would allow the addition of new transports seamlessly, and maybe it will be easier to adopt. then we would be able to have things like:
|
I like the notion of following the driver model for hooking new transports however I still do not have a clear enough opinion on what would be the better approach to bridging the conceptual gaps between a broker model as rabbitmq and a distributed log like kafka (push vs pull, different units of parallelism etc,,) |
@rhinof , you are right that is why my suggestion is to start with just moving and abstracting away our current rabbit implementation, once it's in one place we can look at the 2 different approaches and see where this responsibility should lay in and how to model it. |
@vladshub ok, makes sense starting with something rough and refining along the way. |
@vladshub @adiweiss @avigailberger @danielwitz @yuvmendel thoughts?
The text was updated successfully, but these errors were encountered: