Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Zaqar Messaging for Microservices and IoT
Search
vkmc
April 27, 2016
Technology
160
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Zaqar Messaging for Microservices and IoT
OpenStack Summit Austin 2016
vkmc
April 27, 2016
More Decks by vkmc
See All by vkmc
Teaching padawans to chop wood and carry water in their open source journey - OpenInfra Summit 2022
vkmc
0
56
Your ReadWriteMany (RWX) Storage in k8s with Manila CSI - OpenInfraSummit 2022
vkmc
0
110
Configuring Manila services for High Availability - OpenInfra Summit 2022
vkmc
0
130
Evitá (tantos) bugs en tu código: Zuul CI al rescate
vkmc
0
210
Un dia trabajando en infra
vkmc
0
150
Easy multi-tenant k8s RWX storage with cloud provisioner OpenStack and Manila CSI
vkmc
0
180
OpenShift libre de humo
vkmc
0
150
CephFS on OpenStack Manila
vkmc
0
410
OpenShift in a Nutshell - LinuxChixAR
vkmc
0
430
Other Decks in Technology
See All in Technology
AIエージェントを最高のパートナーに育てる方法|評価と判断軸を育てる5つのステップ
koichiaoki
1
150
AI de Idea
kawaguti
PRO
2
130
LLMに渡さなかった仕事
nanaism
0
1k
越境するなら専門用語を使うな高校校歌 / If you wanna cross border, you shouldn't use jargon
vtryo
0
150
Slack上でインフラをトラブルシュートする! Agentic Platform Engineeringの第一歩
teru0x1
5
1.8k
銀行勘定系システムにおける開発プロセス刷新×AIによる環境モダナイゼーション / Development Process Transformation and AI-Driven Environment Modernization
muit
1
2.4k
C#コードの結合を可視化する Roslyn解析による設計改善と リファクタリング判断
dora56
0
200
【技術的負債conf】事業成長に伴う技術的負債の説明責任とAIによるモニタリング、認知的負債について
i35_267
3
1.8k
現場で役立つ技術負債の効果的な返済方法
masuda220
PRO
9
4.6k
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
12k
AIを活用するために決めた "やらないこと" - 価値に注目する / Not betting on AI
soudai
PRO
3
560
白金鉱業Meetup Vol.25 アウトカムが二値のデータに対するCausal Impact
brainpadpr
0
250
Featured
See All Featured
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
Balancing Empowerment & Direction
lara
6
1.3k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
510
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
410
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
280
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Believing is Seeing
oripsolob
1
220
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
240
The SEO identity crisis: Don't let AI make you average
varn
0
560
Transcript
ZAQAR MESSAGING FOR MICROSERVICES AND IoT Ryan Brown Victoria Martinez
de la Cruz April 27th, 2016
WHAT IS ZAQAR?
3 TL;DR Messaging and Notifications for OpenStack To produce an
OpenStack messaging service that affords a variety of distributed application patterns in an efficient, scalable and highly-available manner, and to create and maintain associated Python libraries and documentation. Mission statement
4 Main goal ...and in OpenStack itself!* It aims to
connect applications running on the cloud... *for certain scenarios… don’t get too excited
5 What Zaqar is not - It’s not a replacement
RabbitMQ or QPID - It’s not a queue service - It’s not an email service
6 Multitenant Main features Component based Messaging patterns
7 Notifications Main features At-least-once delivery guarantee Horizontally scalable
8 Messaging for the cloud Self-healing applications Intercloud communication Data
processing Some use cases
9 Zaqar architecture Client 1 Client 2 Client 3 Client
N Transport Protocol API Storage
10 Storage backends - Redis - Ephemeral by default -
High-throughput - In-memory - MongoDB - HA - Persistent - Disk-backed
11 Storage MongoDB SQLAlchemy Redis Transport WSGI Juno Kilo Zaqar
architecture Storage backends and transmission mechanisms supported over time Liberty Storage MongoDB SQLAlchemy (mgmt only) Redis Transport WSGI Websocket Msgpack Mitaka Storage MongoDB SQLAlchemy (mgmt only) Redis Transport WSGI Websocket (beta) Storage MongoDB SQLAlchemy (mgmt only) Redis Transport WSGI Websocket
ZAQAR’S FUTURE
13 Notifications Within OpenStack - Polling - Between services -
To users - Not a replacement for oslo.messaging - Standardize on message format - oslo.versionedobjects
14 Dead letter queue - A place for failed or
undeliverable messages - Planned for Newton
15 Subscription Confirmation - Confirm with webhook recipient that subscription
is valid
MESSAGES LIFECYCLE
17 Work Queue Sender - Send job - Listen on
finished queue Worker - Listen on job queue - Receive job Sender Zaqar Worker {“job”: 123} {“job”: 123}
18 Work Queue Sender - Send job - Listen on
finished queue Worker - Listen on job queue - Receive job - Claim message Sender Zaqar Worker Claim job 123
19 Work Queue Sender - Send job - Listen on
finished queue Worker - Listen on job queue - Receive job - Claim message - Delete message Sender Zaqar Worker Delete job 123
20 Expiration and Lifetimes - Time-To-Live settings - Subscriptions -
Claims - Messages - Stale data can be worse than no data
MESSAGE PATTERNS
22 Client Notifications Websockets, email, and webhooks - Web browser
notifications - Horizon! - Email for people and legacy systems - Webhooks for cross-service collaboration
23 Messaging for Services Shares lots with work queueing -
Push or pull - Long-lived messages mean systems can go offline without losing commands
24 Stack CREATE Instance CREATE Heat Notifications Integrate Heat with
more workflows Actions Register w/ load balancer Add to inventory system Register metric metadata Zaqar event Listener Can have many listeners
25 Using Heat Notifications In environment.yml event_sinks: - type: zaqar-queue
target: myqueue ttl: 1200
26 Stack CREATE Create some stuff Heat Hooks Wait before/after
resource actions Actions Manual verification Legacy systems Hook event Finish extra work Wait for external action Continue CREATE
ZAQAR FOR IoT
28 Signed URLs Narrow, specific credentials - Per action, per
queue - Write-only or read-only - TTLs too!
29 Sensor data Many, many writers - Short TTL -
High volume - Missed messages are fine
30 Example IoT Application Climate control on campus - Multiple
buildings - Control systems in every office - Company directive to “go green”
31 Mobile app Zaqar Server Climate Control Thermostat Web interface
Websocket connection HTTP API connection Commands Air Conditioner 1 Send metrics Receive commands Air Conditioner 2
32 Mobile app Zaqar Server Changes Thermostat Web interface Set
temp to 22C Air Conditioner 1 Air Conditioner 2 Notifications
33 Mobile app Zaqar Server Changes Thermostat Web interface Air
Conditioner 1 Air Conditioner 2 23.4C 24C
Q&A @ryan_sb @vkmc