Presented by Michael Smyers
Co-founder and SVP of Architecture
Apache Cassandra at
Zipwhip: Messaging with
Multi Datacente...
WHO IS ZIPWHIP?
©2013 Zipwhip
Zipwhip has moved text
messaging to the cloud.
Text messaging is no longer just for mobile
p...
©2013 Zipwhip 02
CURRENT CARRIER CUSTOMERS
CARRIER-GRADE CLOUD TEXTING
Zipwhip peers with the wireless carrier
ecosystem passing traffic freely
between carrier netwo...
APPS FOR ANY DEVICE AND OPERATING SYSTEM
©2013 Zipwhip
TWO-WAY CONVERSATION TEXTING APPLICATION
©2013 Zipwhip
Zipwhips extensive
cloud platform includes:
 Unlimited texting
 U...
WHAT ARE THE USE-CASES FOR CASSANDRA?
Signal delivery to all connected devices
- Event Sync: When you delete a message, t...
THE SIGNAL SERVER
Always-on connection to many devices
Devices maintain “presence”
Active-active datacenter
Scale hori...
HOW DO YOU SCALE THE SYSTEM?
Add another Cassandra node (self discovery)
Add another Signal Server node (self discovery)...
SPECIFIC CASSANDRA USE-CASES
©2013 Zipwhip
 Topology: Who cares about what?
 Timeline: Ordered events that are to be del...
SUBSCRIPTION TOPOLOGY – WHO CARES ABOUT WHAT?
©2013 Zipwhip
This stuff is only written when they first connect
SUBSCRIPTION TOPOLOGY
©2013 Zipwhip 11
ChannelAddressChannelAddressChannelAddress
ClientAddress
ChannelAddressChannelAddre...
SUBSCRIPTION TOPOLOGY
©2013 Zipwhip 12
TIMELINE – THE EVENTS TO DELIVER
©2013 Zipwhip
TIMELINE – THE EVENTS TO DELIVER
©2013 Zipwhip
Event<T> Event<T> Event<T> Event<T> Event<T> Event<T>
Head
Last Acknowledge...
TIMELINE – HOW IT’S USED
©2013 Zipwhip 15
ColumnFamily: MessageTimeline
RowKey: address.toString()
ColumnName: timestamp
C...
WHY CASSANDRA?
©2013 Zipwhip
High write performance by adding new nodes
Easy to scale – zero configuration
Immediately ...
MILESTONES AND PRODUCT ROADMAP
We’re testing out Cassandra with Signal Server
Preparing to migrate all SMS inter-carrier...
Contact Michael Smyers for more info at:
msmyers@zipwhip.com
Thank you!
Upcoming SlideShare
Loading in...5
×

Cool stuff we use Cassandra on

515

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
515
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Cool stuff we use Cassandra on

  1. 1. Presented by Michael Smyers Co-founder and SVP of Architecture Apache Cassandra at Zipwhip: Messaging with Multi Datacenter and Carrier-Grade Uptime Cool stuff we use Cassandra on
  2. 2. WHO IS ZIPWHIP? ©2013 Zipwhip Zipwhip has moved text messaging to the cloud. Text messaging is no longer just for mobile phones. You can now send and receive text messages on your existing landline or toll free number using Zipwhip. On April 10th, 2013, Zipwhip officially became the world’s first text carrier by adding a second carrier, a text carrier, to a business’s existing landline or toll free number.
  3. 3. ©2013 Zipwhip 02 CURRENT CARRIER CUSTOMERS
  4. 4. CARRIER-GRADE CLOUD TEXTING Zipwhip peers with the wireless carrier ecosystem passing traffic freely between carrier networks and your business landline or toll free numbers. We are servicing nearly 20 million users and Zipwhip handles nearly 1 billion texts per month. ©2013 Zipwhip Zipwhip is a carrier-grade cloud texting platform. Wireless Operator Inter-Carrier Ecosystem Zipwhip Cloud Texting Inter-Carrier Texting Ecosystem AT&T Sprint T-Mobile C Spire Tracfone U.S. Cellular Verizon Zipwhip Platform The landline or toll free phone numbers are placed into the core routing tables for text messaging. The text messages flow in and out of Zipwhip’s platform.
  5. 5. APPS FOR ANY DEVICE AND OPERATING SYSTEM ©2013 Zipwhip
  6. 6. TWO-WAY CONVERSATION TEXTING APPLICATION ©2013 Zipwhip Zipwhips extensive cloud platform includes:  Unlimited texting  Unlimited storage  SMS cloud sync  Full suite of apps  Delivery receipt  Multiple user log in Coming Soon: MMS & Caller ID HTML
  7. 7. WHAT ARE THE USE-CASES FOR CASSANDRA? Signal delivery to all connected devices - Event Sync: When you delete a message, the change cascades to all devices - Privacy: Who is getting a copy of my texts? Message (sms) storage (coming soon) ©2013 Zipwhip
  8. 8. THE SIGNAL SERVER Always-on connection to many devices Devices maintain “presence” Active-active datacenter Scale horizontally Nameless nodes Zero configuration ©2013 Zipwhip
  9. 9. HOW DO YOU SCALE THE SYSTEM? Add another Cassandra node (self discovery) Add another Signal Server node (self discovery) Binds into central ActiveMQ (JMS) Binds into central Zookeeper Binds into central Cassandra ©2013 Zipwhip
  10. 10. SPECIFIC CASSANDRA USE-CASES ©2013 Zipwhip  Topology: Who cares about what?  Timeline: Ordered events that are to be delivered
  11. 11. SUBSCRIPTION TOPOLOGY – WHO CARES ABOUT WHAT? ©2013 Zipwhip This stuff is only written when they first connect
  12. 12. SUBSCRIPTION TOPOLOGY ©2013 Zipwhip 11 ChannelAddressChannelAddressChannelAddress ClientAddress ChannelAddressChannelAddressClientAddress ChannelAddress ColumnFamily: (Dormant+Active)SubscriptionTopology(Normal+Index) RowKey: addressString1 (channel or client addresses) ColumnName: subscriptionId_addressString2 (the opposite of above) ColumnValue: subscriptionId
  13. 13. SUBSCRIPTION TOPOLOGY ©2013 Zipwhip 12
  14. 14. TIMELINE – THE EVENTS TO DELIVER ©2013 Zipwhip
  15. 15. TIMELINE – THE EVENTS TO DELIVER ©2013 Zipwhip Event<T> Event<T> Event<T> Event<T> Event<T> Event<T> Head Last Acknowledged (for a given clientAddress) Channel: /user/3223424
  16. 16. TIMELINE – HOW IT’S USED ©2013 Zipwhip 15 ColumnFamily: MessageTimeline RowKey: address.toString() ColumnName: timestamp ColumnValue: JsonSerializer.serialize(message)
  17. 17. WHY CASSANDRA? ©2013 Zipwhip High write performance by adding new nodes Easy to scale – zero configuration Immediately consistent within the same datacenter Eventually consistent across all datacenters Auto expiration of old signals/subscriptions via TTL
  18. 18. MILESTONES AND PRODUCT ROADMAP We’re testing out Cassandra with Signal Server Preparing to migrate all SMS inter-carrier traffic to Cassandra (currently sharded/master/slave MySql) ©2013 Zipwhip
  19. 19. Contact Michael Smyers for more info at: msmyers@zipwhip.com Thank you!
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×