"dj_onlinefactor"
Tecblog from Netflix(03/27/2013)
Gap: offline/online processing
Mobile
Data
Algorithm/Model
Software Architecture
BackType/Twitter
Scalability
Fault-tolerance
Higher level abstraction than message passing
Redis/hiredis(a c++ wrapper)
Beantalkd/beanstalkpp(internal version)
Paracel(communication to parameter servers)
Libraries & tools @douban
Process data
Async computation
Matrix factorization
Process events
Async computation
Regression
Process requests
Sync computation
Balltree
			
     
# Make socket
socket = TSocket.TSocket('beater7', 9090)
# Buffering is critical. Raw sockets are very slow
transport = TTransport.TFramedTransport(socket)
# Wrap in a protocol
protocol = TBinaryProtocol.TBinaryProtocol(transport)
# Create a client to use the protocol encoder
client = RorService.Client(protocol)
# Connect
transport.open()
rep = Request()
rep.rating = '2619286,9087,3.45'
rep.ktop = 10	rep.method = 'tree'
rep.whitelist = ['16685', '13984', '13925']	
rep.blacklist = ['10294', '3223', '1']
# get result
req = client.search(rep)
print req.error, req.results
			
     Bugfix
Unified interface for testing
Similarity/clustering/realtime recommendation framework
Reliability: fault-tolerance
Dj @FM, Recommender @Dongxi
contact info