bogdanovich / siberite Goto Github PK
View Code? Open in Web Editor NEWSiberite is a simple, lightweight, leveldb backed message queue written in Go.
Home Page: http://siberite.org
License: Other
Siberite is a simple, lightweight, leveldb backed message queue written in Go.
Home Page: http://siberite.org
License: Other
In the documentation here, fanout queue usage is described as:
Siberite allows you to insert new message into multiple queues at once by using the following syntax
set <queue>+<another_queue>+<third_queue> ...
However, in the Kestrel documentation the intended behaviour (and what I expected) is:
If a queue name has a + in it (like "orders+audit"), it's treated as a fanout queue, using the format +. These queues belong to a parent queue -- in this example, the "orders" queue. Every item written into a parent queue will also be written into each of its children.
Which is to say that the "+" syntax is used to make is so the child queue receives all SET
s that the parent queue receives after that. This is what I need since I wanted a producer to create a single queue and then the consumers to be able to create independent queues that follow the main producer queue. With this implementation, it would mean the producer has to know about every consumer and send each of them updates, which is rather inconvenient.
I understand that such a change may be breaking. Do you know of any uses that depend on the "broadcast" behaviour?
If this won't be fixed to be consistent with the Kestrel protocol, would you consider adding syntax for this, perhaps like?:
FOLLOW <child> <parent>
Or perhaps, would you consider making use of another unlikely filename character so that the syntax below complies with the use of "+" in Kestrel?:
SET parent>child 0 0 0
Do you have plans to add authentication to Siberite? Or if not, do you know of any proxies that might be suitable for the memcache protocol that I could use that might provide it?
Hi, I am very new to queues and am going to use siberite for a project. While now one consumer will be sufficient, there might be need to add multiple consumers.
Your TODO has: Add multiple consumers get queue_name:consumer_name/open
Does this mean now only one consumer is supported? If I connect two consumers what is going to happen.
when connecting from ruby and issuing simple sets / gets in a loop, i see lots of errors in the server log:
2017/01/20 17:59:25 [::1]:49381 ERROR Unknown command
2017/01/20 17:59:25 [::1]:49392 ERROR Unknown command
2017/01/20 17:59:25 [::1]:49394 ERROR Unknown command
2017/01/20 17:59:25 [::1]:49398 ERROR Unknown command
(probably a client issue, but the other repo doesn't have issues enabled.)
Are fanout queues supported?
We are heavy users of kestrel and this project looks very interesting, but we use a lot of fanout queues.
For fail-over and horizontal scalability, how to do replication? As I see it's not supported in the backed goleveldb
?
Do you already have a Go siberite client, or should I start working on one?
While the memcache clients are good enough, with the addition of multiple consumer groups and the subcommands, I think siberite could use a custom client.
Also I find the existing Go Memcache clients are not implementing all the commands, specifically, stats and others.
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.