As part of Couchbase[SF]2013, Ido Shilon, R&D Group Leader at LivePerson, discusses LivePerson's project to re-architect their LiveEngage platform backend, with a focus on LivePerson's decision to use NoSQL technologies, the challenges encountered, and the lessons learned.
Video: http://www.youtube.com/watch?v=rYKWFmJEHX0
5. Optimize Customer Acquisition & Reduce Bounce Rate
Live engagement for
Rich multimedia to
lingering customer
drive sales closure
Recommended use case
15. Data flow
Agent
Visitor
(5) Get
visitors List
Every 3 sec
(7) Return
relevant
visitors
(1) Visitor
browsing
Visitor
Monitoring
Service
Visitor Feed
API
(2)
Visitor
events
Kafka
(6) Return
relevant
visitors
Couchbase
(4) Write
event to visitor
document
Visitor Feed Storm Topology
(3) Analyze relevant
events
16. Data modeling - doc
Visitor type doc
Document = Active visitor
Contain session level attributes
Multi tenant bucket
Views
Used for secondary indexes
17. Document structure
{
"accountId": "64302875",
"id": 121640710013,
"rtSessionId": "643028754295878498",
"eventSequence": 5104,
"ipAddress": {
"fieldValue": "194.39.63.10",
"seq": 1
},
Multi tenant DB
"browser": {
"fieldValue": "Chrome 27.0.1453.116",
"seq": 1
},
Basic visitor
"state": {
information
"fieldValue": "LEFT_SITE",
"seq": 5104
}
......................................
Sequence use
due to Kafka
}
18. Cross data center replication
Using Bi Directional replication (A/A)
Tips :
Key space is the same across the two
clusters (avoid conflicts)
Impact on the sizing
20. What did we learn till now ?
Test in production
Use the Couchbase sizing guidelines
RAM and SSD are key factors in
scalability
21. Data stack now with Couchbase
MONITORING
CHAT/VOICE
system
APACHE KAFKA
Batch track
Real-Time track
PERPETUAL STORE
COMPLEX EVENT
PROCESSING
STORM
ANALYTICAL DB
RT REPOSITORY
BUSINESS INTELLIGENCE
Cassandra
LiveEngage
DASHBOARD
22. Couchbase in LP - Strategic choice
Visitor Session state
Cross Session state
Fast RW persistent store
Generic caching layer (Memcached
style)
23. Summary
Who we are
Our journey
The problem we have encountered
We are not alone - Couchbase helped us