Suche senden
Hochladen
MongoUK 2011 - Rplacing RabbitMQ with MongoDB
•
18 gefällt mir
•
9,203 views
Boxed Ice
Folgen
Technologie
Sport
Melden
Teilen
Melden
Teilen
1 von 55
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
MongoDB Tokyo - Monitoring and Queueing
MongoDB Tokyo - Monitoring and Queueing
Boxed Ice
MongoDB - Monitoring & queueing
MongoDB - Monitoring & queueing
Boxed Ice
MongoDB as Message Queue
MongoDB as Message Queue
MongoDB
Путь мониторинга 2.0 всё стало другим / Всеволод Поляков (Grammarly)
Путь мониторинга 2.0 всё стало другим / Всеволод Поляков (Grammarly)
Ontico
Developing High Performance Application with Aerospike & Go
Developing High Performance Application with Aerospike & Go
Chris Stivers
Building a High-Performance Distributed Task Queue on MongoDB
Building a High-Performance Distributed Task Queue on MongoDB
MongoDB
PostgreSQL
PostgreSQL
Reuven Lerner
Go Profiling - John Graham-Cumming
Go Profiling - John Graham-Cumming
Cloudflare
Empfohlen
MongoDB Tokyo - Monitoring and Queueing
MongoDB Tokyo - Monitoring and Queueing
Boxed Ice
MongoDB - Monitoring & queueing
MongoDB - Monitoring & queueing
Boxed Ice
MongoDB as Message Queue
MongoDB as Message Queue
MongoDB
Путь мониторинга 2.0 всё стало другим / Всеволод Поляков (Grammarly)
Путь мониторинга 2.0 всё стало другим / Всеволод Поляков (Grammarly)
Ontico
Developing High Performance Application with Aerospike & Go
Developing High Performance Application with Aerospike & Go
Chris Stivers
Building a High-Performance Distributed Task Queue on MongoDB
Building a High-Performance Distributed Task Queue on MongoDB
MongoDB
PostgreSQL
PostgreSQL
Reuven Lerner
Go Profiling - John Graham-Cumming
Go Profiling - John Graham-Cumming
Cloudflare
Ruby 2.4 Internals
Ruby 2.4 Internals
Koichi Sasada
[2C1] 아파치 피그를 위한 테즈 연산 엔진 개발하기 최종
[2C1] 아파치 피그를 위한 테즈 연산 엔진 개발하기 최종
NAVER D2
Go debugging and troubleshooting tips - from real life lessons at SignalFx
Go debugging and troubleshooting tips - from real life lessons at SignalFx
SignalFx
Go memory
Go memory
jgrahamc
Apache Con NA 2013
Apache Con NA 2013
muellerc
The Art of JVM Profiling
The Art of JVM Profiling
Andrei Pangin
Мониторинг. Опять, rootconf 2016
Мониторинг. Опять, rootconf 2016
Vsevolod Polyakov
Metrics: where and how
Metrics: where and how
Vsevolod Polyakov
Pick diamonds from garbage
Pick diamonds from garbage
Tier1 App
Go Memory
Go Memory
Cloudflare
Apache con na_2013_updated_2016
Apache con na_2013_updated_2016
muellerc
GitLab PostgresMortem: Lessons Learned
GitLab PostgresMortem: Lessons Learned
Alexey Lesovsky
Mасштабирование микросервисов на Go, Matt Heath (Hailo)
Mасштабирование микросервисов на Go, Matt Heath (Hailo)
Ontico
Java 어플리케이션 성능튜닝 Part1
Java 어플리케이션 성능튜닝 Part1
상욱 송
Tarantool как платформа для микросервисов / Антон Резников, Владимир Перепели...
Tarantool как платформа для микросервисов / Антон Резников, Владимир Перепели...
Ontico
Prometheus Storage
Prometheus Storage
Fabian Reinartz
JavaOne 2012 - JVM JIT for Dummies
JavaOne 2012 - JVM JIT for Dummies
Charles Nutter
Concurrency in Python
Concurrency in Python
Mosky Liu
PostgreSQL Troubleshoot On-line, (RITfest 2015 meetup at Moscow, Russia).
PostgreSQL Troubleshoot On-line, (RITfest 2015 meetup at Moscow, Russia).
Alexey Lesovsky
glance replicator
glance replicator
irix_jp
RabbitMQ Data Ingestion
RabbitMQ Data Ingestion
Alvaro Videla
Introduction to RabbitMQ | Meetup at Pivotal Labs
Introduction to RabbitMQ | Meetup at Pivotal Labs
Alvaro Videla
Weitere ähnliche Inhalte
Was ist angesagt?
Ruby 2.4 Internals
Ruby 2.4 Internals
Koichi Sasada
[2C1] 아파치 피그를 위한 테즈 연산 엔진 개발하기 최종
[2C1] 아파치 피그를 위한 테즈 연산 엔진 개발하기 최종
NAVER D2
Go debugging and troubleshooting tips - from real life lessons at SignalFx
Go debugging and troubleshooting tips - from real life lessons at SignalFx
SignalFx
Go memory
Go memory
jgrahamc
Apache Con NA 2013
Apache Con NA 2013
muellerc
The Art of JVM Profiling
The Art of JVM Profiling
Andrei Pangin
Мониторинг. Опять, rootconf 2016
Мониторинг. Опять, rootconf 2016
Vsevolod Polyakov
Metrics: where and how
Metrics: where and how
Vsevolod Polyakov
Pick diamonds from garbage
Pick diamonds from garbage
Tier1 App
Go Memory
Go Memory
Cloudflare
Apache con na_2013_updated_2016
Apache con na_2013_updated_2016
muellerc
GitLab PostgresMortem: Lessons Learned
GitLab PostgresMortem: Lessons Learned
Alexey Lesovsky
Mасштабирование микросервисов на Go, Matt Heath (Hailo)
Mасштабирование микросервисов на Go, Matt Heath (Hailo)
Ontico
Java 어플리케이션 성능튜닝 Part1
Java 어플리케이션 성능튜닝 Part1
상욱 송
Tarantool как платформа для микросервисов / Антон Резников, Владимир Перепели...
Tarantool как платформа для микросервисов / Антон Резников, Владимир Перепели...
Ontico
Prometheus Storage
Prometheus Storage
Fabian Reinartz
JavaOne 2012 - JVM JIT for Dummies
JavaOne 2012 - JVM JIT for Dummies
Charles Nutter
Concurrency in Python
Concurrency in Python
Mosky Liu
PostgreSQL Troubleshoot On-line, (RITfest 2015 meetup at Moscow, Russia).
PostgreSQL Troubleshoot On-line, (RITfest 2015 meetup at Moscow, Russia).
Alexey Lesovsky
glance replicator
glance replicator
irix_jp
Was ist angesagt?
(20)
Ruby 2.4 Internals
Ruby 2.4 Internals
[2C1] 아파치 피그를 위한 테즈 연산 엔진 개발하기 최종
[2C1] 아파치 피그를 위한 테즈 연산 엔진 개발하기 최종
Go debugging and troubleshooting tips - from real life lessons at SignalFx
Go debugging and troubleshooting tips - from real life lessons at SignalFx
Go memory
Go memory
Apache Con NA 2013
Apache Con NA 2013
The Art of JVM Profiling
The Art of JVM Profiling
Мониторинг. Опять, rootconf 2016
Мониторинг. Опять, rootconf 2016
Metrics: where and how
Metrics: where and how
Pick diamonds from garbage
Pick diamonds from garbage
Go Memory
Go Memory
Apache con na_2013_updated_2016
Apache con na_2013_updated_2016
GitLab PostgresMortem: Lessons Learned
GitLab PostgresMortem: Lessons Learned
Mасштабирование микросервисов на Go, Matt Heath (Hailo)
Mасштабирование микросервисов на Go, Matt Heath (Hailo)
Java 어플리케이션 성능튜닝 Part1
Java 어플리케이션 성능튜닝 Part1
Tarantool как платформа для микросервисов / Антон Резников, Владимир Перепели...
Tarantool как платформа для микросервисов / Антон Резников, Владимир Перепели...
Prometheus Storage
Prometheus Storage
JavaOne 2012 - JVM JIT for Dummies
JavaOne 2012 - JVM JIT for Dummies
Concurrency in Python
Concurrency in Python
PostgreSQL Troubleshoot On-line, (RITfest 2015 meetup at Moscow, Russia).
PostgreSQL Troubleshoot On-line, (RITfest 2015 meetup at Moscow, Russia).
glance replicator
glance replicator
Andere mochten auch
RabbitMQ Data Ingestion
RabbitMQ Data Ingestion
Alvaro Videla
Introduction to RabbitMQ | Meetup at Pivotal Labs
Introduction to RabbitMQ | Meetup at Pivotal Labs
Alvaro Videla
Rabbitmq an amqp message broker
Rabbitmq an amqp message broker
ANASYS
The Future of Messaging: RabbitMQ and AMQP
The Future of Messaging: RabbitMQ and AMQP
Eberhard Wolff
RabbitMQ
RabbitMQ
Lenz Gschwendtner
dubizzle's Guide to RabbitMQ
dubizzle's Guide to RabbitMQ
Ibrahim Abdel Fattah Mohamed
Introduction to AMQP Messaging with RabbitMQ
Introduction to AMQP Messaging with RabbitMQ
Dmitriy Samovskiy
10 Ways Your Boss Kills Employee Motivation
10 Ways Your Boss Kills Employee Motivation
Officevibe
Top 5 Deep Learning and AI Stories - October 6, 2017
Top 5 Deep Learning and AI Stories - October 6, 2017
NVIDIA
Andere mochten auch
(9)
RabbitMQ Data Ingestion
RabbitMQ Data Ingestion
Introduction to RabbitMQ | Meetup at Pivotal Labs
Introduction to RabbitMQ | Meetup at Pivotal Labs
Rabbitmq an amqp message broker
Rabbitmq an amqp message broker
The Future of Messaging: RabbitMQ and AMQP
The Future of Messaging: RabbitMQ and AMQP
RabbitMQ
RabbitMQ
dubizzle's Guide to RabbitMQ
dubizzle's Guide to RabbitMQ
Introduction to AMQP Messaging with RabbitMQ
Introduction to AMQP Messaging with RabbitMQ
10 Ways Your Boss Kills Employee Motivation
10 Ways Your Boss Kills Employee Motivation
Top 5 Deep Learning and AI Stories - October 6, 2017
Top 5 Deep Learning and AI Stories - October 6, 2017
Ähnlich wie MongoUK 2011 - Rplacing RabbitMQ with MongoDB
Drools, jBPM OptaPlanner presentation
Drools, jBPM OptaPlanner presentation
Mark Proctor
CBDW2014 - MockBox, get ready to mock your socks off!
CBDW2014 - MockBox, get ready to mock your socks off!
Ortus Solutions, Corp
Python在豆瓣的应用
Python在豆瓣的应用
Qiangning Hong
Fisl - Deployment
Fisl - Deployment
Fabio Akita
Android RenderScript on LLVM
Android RenderScript on LLVM
John Lee
Deployment de Rails
Deployment de Rails
elliando dias
Spinnaker 파트 1
Spinnaker 파트 1
Steven Shim
Bh ad-12-stealing-from-thieves-saher-slides
Bh ad-12-stealing-from-thieves-saher-slides
Matt Kocubinski
JVM @ Taobao - QCon Hangzhou 2011
JVM @ Taobao - QCon Hangzhou 2011
Kris Mok
Sista: Improving Cog’s JIT performance
Sista: Improving Cog’s JIT performance
ESUG
Gl qtp day 3 1
Gl qtp day 3 1
Pragya Rastogi
Tunning mobicent-jean deruelle
Tunning mobicent-jean deruelle
Ivelin Ivanov
Native Java with GraalVM
Native Java with GraalVM
Sylvain Wallez
Development myshoes and Provide Cycloud-hosted runner -- GitHub Actions with ...
Development myshoes and Provide Cycloud-hosted runner -- GitHub Actions with ...
whywaita
Stealing from Thieves: Breaking IonCUBE VM to RE Exploit Kits
Stealing from Thieves: Breaking IonCUBE VM to RE Exploit Kits
Мохачёк Сахер
Invoke dynamic your api to hotspot
Invoke dynamic your api to hotspot
Boundary
J1 2015 "Debugging Java Apps in Containers: No Heavy Welding Gear Required"
J1 2015 "Debugging Java Apps in Containers: No Heavy Welding Gear Required"
Daniel Bryant
Scala, ECS, Docker: Delayed Execution @Coursera
Scala, ECS, Docker: Delayed Execution @Coursera
C4Media
Replatforming Legacy Packaged Applications: Block-by-Block with Minecraft
Replatforming Legacy Packaged Applications: Block-by-Block with Minecraft
VMware Tanzu
Heavenly hell – automated tests at scale wojciech seliga
Heavenly hell – automated tests at scale wojciech seliga
Atlassian
Ähnlich wie MongoUK 2011 - Rplacing RabbitMQ with MongoDB
(20)
Drools, jBPM OptaPlanner presentation
Drools, jBPM OptaPlanner presentation
CBDW2014 - MockBox, get ready to mock your socks off!
CBDW2014 - MockBox, get ready to mock your socks off!
Python在豆瓣的应用
Python在豆瓣的应用
Fisl - Deployment
Fisl - Deployment
Android RenderScript on LLVM
Android RenderScript on LLVM
Deployment de Rails
Deployment de Rails
Spinnaker 파트 1
Spinnaker 파트 1
Bh ad-12-stealing-from-thieves-saher-slides
Bh ad-12-stealing-from-thieves-saher-slides
JVM @ Taobao - QCon Hangzhou 2011
JVM @ Taobao - QCon Hangzhou 2011
Sista: Improving Cog’s JIT performance
Sista: Improving Cog’s JIT performance
Gl qtp day 3 1
Gl qtp day 3 1
Tunning mobicent-jean deruelle
Tunning mobicent-jean deruelle
Native Java with GraalVM
Native Java with GraalVM
Development myshoes and Provide Cycloud-hosted runner -- GitHub Actions with ...
Development myshoes and Provide Cycloud-hosted runner -- GitHub Actions with ...
Stealing from Thieves: Breaking IonCUBE VM to RE Exploit Kits
Stealing from Thieves: Breaking IonCUBE VM to RE Exploit Kits
Invoke dynamic your api to hotspot
Invoke dynamic your api to hotspot
J1 2015 "Debugging Java Apps in Containers: No Heavy Welding Gear Required"
J1 2015 "Debugging Java Apps in Containers: No Heavy Welding Gear Required"
Scala, ECS, Docker: Delayed Execution @Coursera
Scala, ECS, Docker: Delayed Execution @Coursera
Replatforming Legacy Packaged Applications: Block-by-Block with Minecraft
Replatforming Legacy Packaged Applications: Block-by-Block with Minecraft
Heavenly hell – automated tests at scale wojciech seliga
Heavenly hell – automated tests at scale wojciech seliga
Mehr von Boxed Ice
MongoDB - Monitoring and queueing
MongoDB - Monitoring and queueing
Boxed Ice
Monitoring MongoDB (MongoUK)
Monitoring MongoDB (MongoUK)
Boxed Ice
Monitoring MongoDB (MongoSV)
Monitoring MongoDB (MongoSV)
Boxed Ice
MongoUK - PHP Development
MongoUK - PHP Development
Boxed Ice
MongoUK - PHP Development
MongoUK - PHP Development
Boxed Ice
MongoUK - Approaching 1 billion documents with MongoDB1 Billion Documents
MongoUK - Approaching 1 billion documents with MongoDB1 Billion Documents
Boxed Ice
Webinar - Approaching 1 billion documents with MongoDB
Webinar - Approaching 1 billion documents with MongoDB
Boxed Ice
Mehr von Boxed Ice
(7)
MongoDB - Monitoring and queueing
MongoDB - Monitoring and queueing
Monitoring MongoDB (MongoUK)
Monitoring MongoDB (MongoUK)
Monitoring MongoDB (MongoSV)
Monitoring MongoDB (MongoSV)
MongoUK - PHP Development
MongoUK - PHP Development
MongoUK - PHP Development
MongoUK - PHP Development
MongoUK - Approaching 1 billion documents with MongoDB1 Billion Documents
MongoUK - Approaching 1 billion documents with MongoDB1 Billion Documents
Webinar - Approaching 1 billion documents with MongoDB
Webinar - Approaching 1 billion documents with MongoDB
Kürzlich hochgeladen
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
Ridwan Fadjar
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
Sujit Pal
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
Puma Security, LLC
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
Paola De la Torre
🐬 The future of MySQL is Postgres 🐘
🐬 The future of MySQL is Postgres 🐘
RTylerCroy
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
Maria Levchenko
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
shyamraj55
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
HampshireHUG
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Igalia
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Anna Loughnan Colquhoun
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Drew Madelung
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
The Digital Insurer
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Enterprise Knowledge
Slack Application Development 101 Slides
Slack Application Development 101 Slides
praypatel2
How to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
naman860154
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Miguel Araújo
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
HostedbyConfluent
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
naman860154
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
soniya singh
Kürzlich hochgeladen
(20)
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
🐬 The future of MySQL is Postgres 🐘
🐬 The future of MySQL is Postgres 🐘
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Slack Application Development 101 Slides
Slack Application Development 101 Slides
How to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
MongoUK 2011 - Rplacing RabbitMQ with MongoDB
1.
Replacing RabbitMQ with
MongoDB
2.
David Mytton Woop Japan!
3.
4.
Queuing: Uses www.flickr.com/photos/triplexpresso/496995086/
5.
Queuing: Uses • Background
processing www.flickr.com/photos/triplexpresso/496995086/
6.
Queuing: Uses • Background
processing • Sending notifications www.flickr.com/photos/triplexpresso/496995086/
7.
Queuing: Uses • Background
processing • Sending notifications • Event streaming www.flickr.com/photos/triplexpresso/496995086/
8.
Queuing: Features
9.
Queuing: Features • Consumers
10.
Queuing: Features • Consumers •
Atomic
11.
Queuing: Features • Consumers •
Atomic • Speed
12.
Queuing: Features • Consumers •
Atomic • Speed • GC
13.
Queuing: Features •Consumers
14.
Queuing: Features •Consumers
MongoDB RabbitMQ Mongo Wire AMQP Protocol
15.
Queuing: Features •Atomic en.wikipedia.org/wiki/State_of_matter
16.
Queuing: Features •Atomic
MongoDB RabbitMQ findAndModify consume/ack en.wikipedia.org/wiki/State_of_matter
17.
Queuing: Features •Speed
18.
Queuing: Features •GC
19.
Queuing: Features •GC
MongoDB RabbitMQ ☹ consume/ack
20.
It’s a little
different.
21.
Implementation • Consumers
22.
Implementation • Consumers
db.runCommand( { findAndModify : <collection>, <options> } )
23.
Implementation • Consumers
db.runCommand( { findAndModify : <collection>, <options> } ) query: filter (WHERE) { query: { hats: 5 } }
24.
Implementation • Consumers
db.runCommand( { findAndModify : <collection>, <options> } ) sort: selects the first one on multi-match { sort: { added: -1 } }
25.
Implementation • Consumers
db.runCommand( { findAndModify : <collection>, <options> } ) update: modifier object { update: { $set: {inProg: true, start: new Date()} } }
26.
Implementation • Consumers
db.runCommand( { findAndModify : <collection>, <options> } ) remove: true = deletes on return new: true = returns modified object fields: return specific fields upsert: true = create object if !exists()
27.
Implementation • Consumers
28.
Implementation • Consumers
def run(self): import time, sched sc = sched.scheduler(time.time, time.sleep) self.poll(sc) sc.run() def poll(self, sc): doStuff() sc.enter(10, 1, self.poll, (sc,))
29.
Implementation • Consumers
30.
Implementation • Consumers
from daemon import Daemon class pantalaimon(Daemon): def run(self): # Do stuff pineMarten = pantalaimon('/path/to/pid.pid') pineMarten.start() https://github.com/boxedice/python-daemon
31.
Implementation • Consumers
from daemon import Daemon class pantalaimon(Daemon): def run(self): import time, sched sc = sched.scheduler(time.time, time.sleep) self.poll(sc) sc.run() def poll(self, sc): doStuff() sc.enter(10, 1, self.poll, (sc,)) https://github.com/boxedice/python-daemon
32.
Implementation • GC
33.
Implementation • GC
now = datetime.datetime.now() difference = datetime.timedelta(seconds=10) timeout = now - difference queue.find({'inProg' : True, 'start' : {'$lte' : timeout} })
34.
Fault tolerance Replica sets
35.
Fault tolerance Replica sets
Basic automatic failover
36.
Fault tolerance Replica sets
Basic automatic failover Writing to n slaves
37.
Fault tolerance Replica sets
Basic automatic failover Writing to n slaves Data centre awareness
38.
Scaling Capped Collections
39.
Scaling Capped Collections
Extremely fast
40.
Scaling Capped Collections
Extremely fast Maintain insertion order (FIFO)
41.
Scaling Capped Collections
Extremely fast Maintain insertion order (FIFO) Don’t have to remove()
42.
Scaling Sharding
43.
Scaling Sharding
findAndModify() locks
44.
Scaling Sharding
findAndModify() locks Scaling writes across machines
45.
Scaling Sharding
46.
Scaling Sharding
Not with capped collections
47.
Problems / Mongo
quirks
48.
Problems / Mongo
quirks Meta
49.
Problems / Mongo
quirks Meta Durability
50.
Problems / Mongo
quirks Meta Durability Global lock
51.
Stick with RabbitMQ?
52.
Stick with RabbitMQ? QoS
53.
Stick with RabbitMQ? QoS AMQP
54.
Stick with RabbitMQ? QoS AMQP Throttling
55.
David Mytton @davidmytton david@boxedice.com www.mongomonitor.com Woop
Japan!
Jetzt herunterladen