Fork me on GitHub
#onyx
<
2017-04-09
>
yonatanel13:04:39

A general distributed systems question: do you think things like Docker Swarm and Kubernetes could benefit from the log-based implementation Onyx has?

lmergen13:04:04

@yonatanel what exactly do you mean ?

lmergen13:04:13

whether a log is appropriate highly depends upon the type of application

lmergen13:04:31

having said that, i do believe that it is an appropriate abstraction for many types of distributed systems

lmergen13:04:06

but a system like onyx also has to depend upon Zookeeper for consensus

lmergen13:04:25

so a log is just a single building block

yonatanel13:04:13

Yeah, forgot about zookeeper surprisingly

lmergen14:04:54

if i recall correctly, zookeeper’s consensus algorithm is some kind of variant of Paxos (or at least, it was a while back)

lmergen14:04:30

where Onyx claims to be masterless, it’s actually Zookeeper’s protocol that does the leader election

lmergen14:04:34

so it’s a bit of a lie 🙂

gardnervickers14:04:01

Not so sure about Paxos but both docker swarm and Kubernetes run Raft for consensus which uses a distributed log state machine at its core.

lmergen14:04:27

in the end, it’s very difficult to implement a truly decentralised log without some form of leader-based consensus algorithm - bitcoin comes to mind

lmergen14:04:05

so you usually have to build a log on top of a stateful consensus algorithm — not sure what the added value of that would be for Kubernetes or Swarm

gardnervickers14:04:37

@lmergen it's true ZK is needed for leader election when exactly-once processing is desired, since a peer needs to be elected to coordinate barrier injection.

lmergen14:04:24

it’s a tradeoff — i think onyx made the right one, by the way

lmergen14:04:21

zookeeper is pretty much an accepted “evil” in the world of jvm-based distributed systems nowadays

michaeldrogalis15:04:16

@lmergen Chose the term “masterless” instead of “peer-to-peer” since ZooKeeper is still doing it’s own leader election, despite Onyx itself having no leader. I try to make that distinction where I can - there wasn’t a good word for it. 🙂

lmergen15:04:50

yeah i wasnt really complaining - in fact, it's a good thing, by saying Onyx is masterless and uses Zookeeper you provide a lot of context/information about its architecture and the tradeoffs it has made.

michaeldrogalis15:04:53

No prob, I get asked that a lot. Definitely not trying to be unclear about how it works, anyway.