blob: 283d3e32c815ac4cdfbb87488e1d88fd98d88dde [file] [log] [blame]
---
title: Distributed Stream Computing Platform
---
#main{:class=>"span-18 colborder"}
#about{:class=>"span-18 last"}
#notice{:class=>"span-17 last"}
#notice_text= "March 2013: <b>S4 0.6.0 Release Candidate</b> <a href='http://people.apache.org/~mmorel/s4-0.6.0-incubating-release-candidate-3/'>available for download</a>. Check the <a href='/doc/0.6.0'>improved documentation</a>!."
#notice{:class=>"span-17 last"}
#notice_text= "August 2012: <b>S4 0.5.0 has been released!</b> Get it <a href='/download'>here</a>!."
#notice{:class=>"span-17 last"}
#notice_text= "S4 0.5.0 \"Piper\" is a complete refactoring of the previous version of S4. It provides a clearer API and a more robust implementation. It features TCP based communications, state recovery, and a new set of tools. More information is available in an <a href='https://cwiki.apache.org/confluence/display/S4/S4+0.5.0+Overview'>overview</a> and you may also check the <a href='http://www.apache.org/dist/incubator/s4/s4-0.5.0-incubating/RELEASE_NOTES.html'>release notes</a>."
%p{:class=>'large'}= "S4 is a <span class='high'>general-purpose</span>, <span class='high'>distributed</span>, <span class='high'>scalable</span>, <span class='high'>fault-tolerant</span>, <span class='high'>pluggable</span> platform that allows programmers to easily develop applications for processing continuous unbounded streams of data."
.horrule
#sec_motivation{:class=>"span-9"}
%h2{:class=>"secheader"}= "motivation"
%p= "S4 fills the gap between complex proprietary systems and batch-oriented open source computing platforms. We aim to develop a high performance computing platform that hides the complexity inherent in parallel processing system from the application programmer."
#sec_implementation{:class=>"span-9 last"}
%h2{:class=>"secheader"}= "implementation"
%p= "The core platform is written in <span class='high'>Java</span>. The implementation is modular and pluggable, and S4 applications can be easily and dynamically combined for creating more sophisticated stream processing systems."
.horrule
#sec_osi{:class=>"span-18 last"}
%h2{:class=>"secheader"}= "open source"
#os_logo{:class=>"span-2"}
%img{:src=>"http://incubator.apache.org/images/apache-incubator-logo.png"}
#os_desc{:class=>"span-14 last"}
%p{:style=>"padding-top:10px; padding-left:170px;"}= "S4 was initially released by Yahoo! Inc. in October 2010 and is an Apache Incubator project since September 2011. It is licensed under the Apache 2.0 license."
.horrule
#sec_overview{:class=>"span-18 last"}
%h2{:class=>"secheader"}= "overview"
#ov_1{:class=>"span-6"}
%h4{:class=>"subsecheader"}= "proven"
%p= "S4 has been deployed in production systems at Yahoo! to process thousands of search queries per second."
#ov_2{:class=>"span-6"}
%h4{:class=>"subsecheader"}= "decentralized"
%p= "All nodes are symmetric with no centralized service and no single point of failure. This greatly simplifies deployments and cluster configuration changes."
#ov_3{:class=>"span-6 last"}
%h4{:class=>"subsecheader"}= "scalable"
%p= "Throughput increases linearly as additional nodes are added to the cluster. There is no predefined limit on the number of nodes that can be supported."
#ov_4{:class=>"span-6"}
%h4{:class=>"subsecheader"}= "extensible"
%p= "Applications can easily be written and deployed using a simple API. Many basic applications for stream processing are available out of the box and more are being written."
#ov_5{:class=>"span-6"}
%h4{:class=>"subsecheader"}= "cluster management"
%p= "S4 hides all cluster management tasks using a communication layer built on top of <a href='http://hadoop.apache.org/zookeeper'>ZooKeeper</a>, a distributed, open-source coordination service for distributed applications."
#ov_6{:class=>"span-6 last"}
%h4{:class=>"subsecheader"}= "fault-tolerance"
%p= "When a server in the cluster fails, a stand-by server is automatically activated to take over the tasks. Checkpointing and recovery minimize state loss."
#sidebar{:class=>"span-5 last"}
#download
#latest_head
%span= "S4 Piper release"
%br
%span{:style=>"font-size: small;"}= "v0.5.0"
#latest_link
%a{:href=>"https://cwiki.apache.org/confluence/display/S4/S4+piper+walkthrough", :style=>"border: none;"}= "Get Started"
#disclaimer
%p= "This is an alpha version. There's no guarantee of backwards-compatibility until the 1.0 release."
#participate
%h2{:class=>"secheader"}= "participate"
%ul{:class=>'large greybar'}
%li= "<a href='/contrib'>Contribute</a>"
%li= "Join the <a href='https://cwiki.apache.org/confluence/display/S4/S4+Apache+mailing+lists' onClick=\"#{google_analytics_event("External", "Forum", "Index - https://cwiki.apache.org/confluence/display/S4/S4+Apache+mailing+lists")}\">forum</a>"
%h2{:class=>"secheader"}= "recent tweets"
#twitter_widget= twitter_widget()
/ #twitter_follow{:style=>"position: absolute; bottom: 0px;"}
/ %a{:href=>"http://www.twitter.com/s4project", :onClick=> google_analytics_event("External", "Twitter", "Index - http://www.twitter.com/s4project")}
/ %img{:src=>"http://twitter-badges.s3.amazonaws.com/follow_bird_us-c.png", :alt=>"Follow s4project on Twitter"}