Michael Laing
Architect, Edge Engineering
New York Times
michael.laing@nytimes.com
• nyt⨍aбrik (my project)
A Global Mesh with a Memory
Millions of users
Dozens of
internal clients
• nyt⨍aбrik (my project)
by wmasterj and Fabrice TIERCELIN - Wikipedia
Messages
Async
Scope
Time
P C
Idle
Idle
Idle
Time
P C CP
Idle
Idle
Idle
Idle
latency
• nyt⨍aбrik (my project)
Database
Semantics
For access
GW GW GW GW GW GW
Region A Region B
Push Pull
snd rcv
Written in C
Push Pull
snd rcv
Push Pull snd rcv
NSQ
NSQ
Push Pull
snd rcv
NSQ
What if…
GW GW GW GW GW GW
Region A Region B
Then:
Region A Region B
GW GW GW GW GW GW
Becomes:
• nyt⨍aбrik (my project)
NSQ
“Mobile is about moments, shorter and more
fragmented. It’s important we string these
together,” said Paul Muret, the vice president for
display, video and analytics at Google.
“We need to understand the desires of
consumers in each point in time to understand
their context and intent.”
• SQL considered harmful for global
online distributed systems
• Web is dead
• Mobile is maturing
• The excitement: Things & Events
…a design pattern that captures all
changes to an application's state as
a sequence of events…
…synchronizes in distributed
systems around the concept of
optimistic concurrency…
Characteristics
• Multi-user
• Distributed
Globally
• Clients can
disconnect
Implementation
• Message Bus
• NoSQL
Michael Laing
Architect, Edge Engineering
New York Times
michael.laing@nytimes.com

The Current Messaging Landscape

Editor's Notes

  • #4 Back to 1964
  • #5 Not me Nice shoes though GE 225 – 8KB
  • #8 Rethink Flatten Global Reliable Manageable
  • #9 Mesh Resilient Balancing
  • #10 Nodes w Roles Self organizing
  • #11 Messaging everywhere
  • #12 GLobal
  • #15 Messaging everywhere
  • #22 Header = Metadata: routing, timestamp, source
  • #43 Messaging everywhere
  • #45 Designed to fail fast
  • #51 Designed to fail fast
  • #53 Designed to fail fast
  • #55 Designed to fail fast
  • #58 Rethink Flatten Global Reliable Manageable
  • #59 Rethink Flatten Global Reliable Manageable
  • #61 Rethink Flatten Global Reliable Manageable
  • #68 Rethink Flatten Global Reliable Manageable
  • #69 Rethink Flatten Global Reliable Manageable
  • #70 Rethink Flatten Global Reliable Manageable
  • #72 Rethink Flatten Global Reliable Manageable
  • #73 Rethink Flatten Global Reliable Manageable
  • #74 Rethink Flatten Global Reliable Manageable
  • #75 Rethink Flatten Global Reliable Manageable