Successfully reported this slideshow.
KAKARANET         Social GamingMaxim Sokhatsky maxim@synrc.com
Technical Input       How modern portal should looks like ?●    Active Fast Comet Pages●    High-load Ready●    Reliabilit...
Underlying Products                        Quick and Well strategy    Riak                      RabbitMQ                 G...
Social Web Application                   Simple but modern●    Users and Groups        ●                                Fr...
Game Server Nodes                Easy to Write new games●    AMF listeners and Flex Clients●    Tables, Games, Tournaments...
Sequential Consistency                     Guard Processes●    All entities that could   ●                                ...
Cluster Levels         Diferrent Tasks Require Different Clusters    Database                      Memory●    Riak is pres...
Cluster Line                 Erlang/OTP Releases per OS    app@srv1                      game@srv1●    Workers            ...
Three Production Lines            Continue running after single server down    SRV1                      SRV2             ...
Upcoming SlideShare
Loading in …5
×

Kakaranet quick and well

5,776 views

Published on

  • Be the first to comment

  • Be the first to like this

Kakaranet quick and well

  1. 1. KAKARANET Social GamingMaxim Sokhatsky maxim@synrc.com
  2. 2. Technical Input How modern portal should looks like ?● Active Fast Comet Pages● High-load Ready● Reliability and Failover● Ditribution for Speed● Monitoring tools● Facebook-like facilities and integration● Simple and small time-to-market● Single Environment
  3. 3. Underlying Products Quick and Well strategy Riak RabbitMQ GProc● High Availability ● Connecting People ● Distributed In-● Monitoring Tools ● Deliver Messages memory database● Best In-class ● Invented in Banks ● Consistent● Stable ● Language Opaque ● Complex Queries● Manageable ● Fast Nitrogen Cowboy Erlang● Best Comet Server ● Fastest Web Server ● Automatic Fail-over● Clustered ● SSL Ready ● Purity of code● Typed HTML ● Modular ● High Reliability● Rich JavaScript ● Young but stable ● High Load● Easy to Develop ● Mature Infrastructure● Event driven
  4. 4. Social Web Application Simple but modern● Users and Groups ● Friends● Free to register ● Likes● Direct Messages ● Feeds● Media Files as Attachments, Music, Video● Drop-down Auto-completion● Comet Pages with Rich JavaScript● Pub/Sub key-routing with RabbitMQ
  5. 5. Game Server Nodes Easy to Write new games● AMF listeners and Flex Clients● Tables, Games, Tournaments model● Access to Riak and GProc databases● Matching Players Each Other in ranges● Global Registry of all games in Cluster● Persist Game Data● 40KB per game on server-side
  6. 6. Sequential Consistency Guard Processes● All entities that could ● Back-end Workers for be changed controlled ordering write by Erlang Process requests in RabbitMQ spawn on bootstrap queues● Respawn on failover on ● All read operations still another node available for anyone in cluster● Examples: Feeds, Users, Groups, Lists
  7. 7. Cluster Levels Diferrent Tasks Require Different Clusters Database Memory● Riak is present in ● Each Process each node in cluster registered in global database Filesystem Routing● GlusterFS on each ● Clustered RabbitMQ server to handle routing
  8. 8. Cluster Line Erlang/OTP Releases per OS app@srv1 game@srv1● Workers ● Games● Riak R/W ● Riak R/O● GProc ● GProc rabbit@srv1 web@srv1● RabbitMQ ● Nitrogen● Routing Databse ● Riak R/O ● Gproc ● Cowboy
  9. 9. Three Production Lines Continue running after single server down SRV1 SRV2 SRV3● app@srv1 node ● app@srv2 node ● app@srv3 node● game@srv1 node ● game@srv2 node ● game@srv3 node● web@srv1 node ● web@srv2 node ● web@srv3 node● rabbit@srv1 node ● rabbit@srv2 node ● rabbit@srv3 node● SNMP Agent / node ● SNMP Agent / node ● SNMP Agent / node● Riak Control / node ● Riak Control / node ● Riak Control / node● 8x Xeon 3GHz ● 8x Xeon 3GHz ● 8x Xeon 3GHz● 30GB RAM ● 30GB RAM ● 30GB RAM● 512GB SSD ● 512GB SSD ● 512GB SSD● 3TB RAID ● 3TB RAID ● 3TB RAID

×