Skip to content
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

What a great project! #2

Open
johanhaleby opened this issue Feb 16, 2021 · 2 comments
Open

What a great project! #2

johanhaleby opened this issue Feb 16, 2021 · 2 comments

Comments

@johanhaleby
Copy link

johanhaleby commented Feb 16, 2021

Hi,

This is not really an issue, it's more praise of your work, but I hope that's ok :)

I just read your blog post (https://www.alechenninger.com/2020/05/building-kafka-like-message-queue-with.html) which was truly awesome. When working on Occurrent I've run into many of the issues you described in this blog post (and I've managed to work-around most of them). I haven't found a way to implement competing consumers yet, so I was very glad to stumble upon your blog. I will try to implement something similar in Occurrent when I find some time (and of course give you credits).

I probably can't use your code directly though (it's a different license unfortunately, Occurrent is apache 2, and I have already have other concepts to store the oplog position) but I can probably implement it from your blog post. I'm not really good with licenses, I mainly just want to write code :)

Anyways, thanks for sharing this!!

@alechenninger
Copy link
Owner

alechenninger commented Feb 22, 2021

Thanks @johanhaleby ! This proof of concept is licensed under MIT, so you shouldn't have any trouble using it with an Apache project. MIT is a very permissive license.

I'd certainly appreciate at least a credit for the inspiration :-). Hope you are successful with the algorithm.

BTW, I contributed to awaitility a ways back :-).

@johanhaleby
Copy link
Author

Thanks! I'll make sure to give you credits :)

BTW, I contributed to awaitility a ways back :-).

Oh cool! :) I need to find some time to work on some new stuff for Awaitility soon as well :). But Occurrent is taking up most of my time and interest right now :)

I saw another really cool thing in your code, you've managed to find a way to find the earliest (and latest with some slight modifications) global oplog position (bson timestamp). I'm using another approach in Occurrent, (I execute the "hostname" command and get it from there), but "my" approach doesn't work on shared mongodb instances such as Atlas. because "hostname" is forbidden. But switching to the local DB works! I actually asked Atlas support team if there was another way to get the latest/earliest oplog position but they didn't know of any. Turns out you knew :) 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants