marconi: queuing and notification service for openstack

24
@flaper87 at EuroPython 2013 Queuing & Notification Service … made by and for OpenStack

Post on 14-Sep-2014

1.088 views

Category:

Technology


4 download

DESCRIPTION

Marconi is a multi-tenant cloud queuing system written in Python as part of the OpenStack project. As message bus, it’s main goals are: performance, availability, durability, fault-tolerance and scalability. This talk aims to give the audience as much information as possible about Marconi’s architecture, design, patterns, performance, issues it faced and how / why it was built from scratch.

TRANSCRIPT

Page 1: Marconi: Queuing and Notification service for OpenStack

@flaper87 at EuroPython 2013

Queuing & Notification Service… made by and for OpenStack

Page 2: Marconi: Queuing and Notification service for OpenStack

@flaper87 at EuroPython 2013

What is it?

What isn't it?

Architecture

API v1

Page 3: Marconi: Queuing and Notification service for OpenStack

Who's this dude?

@flaper87 (a.k.a, Flavio Percoco):Very proud Red Hatter, who's also part of the MongoDB Master team and has contributed to Open Source since... forever.

One of those who thinks about programming when he's not programming.

member of

Page 4: Marconi: Queuing and Notification service for OpenStack

@flaper87 at EuroPython 2013

Queuing service Queues MessagesClaims

Page 5: Marconi: Queuing and Notification service for OpenStack

@flaper87 at EuroPython 2013

Messaging ServiceReq / RepPub / Sub

Page 6: Marconi: Queuing and Notification service for OpenStack

@flaper87 at EuroPython 2013

Very young projectBugsWIP IdeasMissing pieces

Page 7: Marconi: Queuing and Notification service for OpenStack

@flaper87 at EuroPython 2013

It is NOT a ...

Replacement for QPID, RabbitMQ, ZMQ

Page 8: Marconi: Queuing and Notification service for OpenStack

@flaper87 at EuroPython 2013

It is NOT a ...

Incubated, yet!

Page 9: Marconi: Queuing and Notification service for OpenStack

@flaper87 at EuroPython 2013

Plugin Based TransportsStorage

Page 10: Marconi: Queuing and Notification service for OpenStack

@flaper87 at EuroPython 2013

Transports HTTPZMQ

Page 11: Marconi: Queuing and Notification service for OpenStack

@flaper87 at EuroPython 2013

HTTP FalconNo container

Page 12: Marconi: Queuing and Notification service for OpenStack

@flaper87 at EuroPython 2013

Storages SQLiteMongoDB

Page 13: Marconi: Queuing and Notification service for OpenStack

@flaper87 at EuroPython 2013

Authentication Keystone

Page 14: Marconi: Queuing and Notification service for OpenStack

@flaper87 at EuroPython 2013

RESTFul CRUDCollections

Page 15: Marconi: Queuing and Notification service for OpenStack

@flaper87 at EuroPython 2013

RESTFul CRUDCollections

API Consistency planned throughout transports

Page 16: Marconi: Queuing and Notification service for OpenStack

@flaper87 at EuroPython 2013

FIFO Guaranteed

… don't run out there just to test it

Page 17: Marconi: Queuing and Notification service for OpenStack

@flaper87 at EuroPython 2013

ACCESSPaginatedLimitedStreamed

Page 18: Marconi: Queuing and Notification service for OpenStack

@flaper87 at EuroPython 2013

CUSTOMMax SizeMax Bulk...

Page 19: Marconi: Queuing and Notification service for OpenStack

@flaper87 at EuroPython 2013

QUEUESMetadata64b Name

Page 20: Marconi: Queuing and Notification service for OpenStack

@flaper87 at EuroPython 2013

MESSAGESTTLEcho

Page 21: Marconi: Queuing and Notification service for OpenStack

@flaper87 at EuroPython 2013

CLAIMSTTLGrace

Page 22: Marconi: Queuing and Notification service for OpenStack

@flaper87 at EuroPython 2013

BEST EFFORTBulksClaims

Page 23: Marconi: Queuing and Notification service for OpenStack

@flaper87 at EuroPython 2013

Some benefitsAPI over queuesService orientedEasy to scale

Page 24: Marconi: Queuing and Notification service for OpenStack

@flaper87 at EuroPython 2013

Q&A

Thankswe

're hi

ring

http://wiki.openstack.org/Marconi