Hi Mudit,

Thanks Flavio for showing BookKeeper. Yeah this is another option you can
explore in your free time:)


I'd like to introduce it briefly to you, please have a look if you are
interested.

Documentation available at
http://zookeeper.apache.org/bookkeeper/docs/r4.2.2/

Basic terminologies:-

 - servers called as"bookies",
 - log are "ledgers",
 - and each unit of a log (aka record) is a "ledger entry"

Bookie server uses filesystem to store the ledgers and their entries(Since
it uses filesystem, message size won't be a constraint I guess). Also, it
uses ZK for storing the ledger metadata information.

Basic operations:-
1) Open a bookkeeper client.
2) Create a ledger -
Here it will internally generate id for this ledger and it will be unique.
Like ZooKeeper sequential znodes it internally maintains sequence to
generate the ids.
Upon creating a ledger, a BookKeeper client writes metadata about the
ledger to ZK.
3) Write to the ledger - User can add entries(user data) to the ledger. BK
guarantees single writer.
4) After write close the ledger.

Assume user has created four ledgers, now ledger id looks like L00001,
L00002, L00003, L00004. When user tries to create a new ledger, then id
will be incremented L00005.

Ledger metadata in ZK:
/ledgers/L00001
/ledgers/L00002
/ledgers/L00003
/ledgers/L00004
/ledgers/L00005

Now using this sequential ledger znodes present in ZK, one can write the
logic of distributed queue.

Any queries feel free to ping us happy to help you:)
You can reach us bookkeeper-...@zookeeper.apache.org or user mailing id.

Regards,
Rakesh


On Sat, Jun 7, 2014 at 2:32 AM, Flavio Junqueira <
fpjunque...@yahoo.com.invalid> wrote:

> You may want to have a look at BookKeeper.
>
> -Flavio
>
> On 05 Jun 2014, at 16:32, Mudit Verma <mudit.f2004...@gmail.com> wrote:
>
> > Hi Zookeeper Users,
> >
> > Lately, I have been working on a research project where I want to use
> zookeeper as a distributed logging service.
> >
> > I want to build a queue on top of zookeeper (also provided in recipes).
> >
> > What for:
> > Intention is to insert some operations performed by different clients in
> a distributed queue, and process them lazily at some later point of time.
>  And I want some ordering between these operations.
> >
> > Setup:
> > 5 physical  zookeeper servers
> >
> > The problem is:
> > In my current setup, I am observing a latency of about 13 ms per enqueue
> operation (using synchronous create APIs with sequential flags). I want to
> significantly reduce this time. The other way could be to use asynchronous
> zookeeper calls  but I am not sure what can be the side effects. Would it
> still be monotonous when used with SEQUENTIAL flag?
> >
> > For example, a  client X created a SEQUENTIAL node Z1 at time t1 using
> async create, same client created another SEQUENTIAL node Z2 at time t2
> where t2 > t1. Would the monotonic number associated with Z1 be lesser than
> that of Z2?
> >
> > Your help is much appreciated.
> >
> > Thanks
> > Mudit
> >
>
>

Reply via email to