javaapachegwtarchitecturesocial-networking

Building a massively scalable and secure social network on top of Eureka Streams?


http://en.wikipedia.org/wiki/Eureka_Streams
http://www.eurekastreams.org/

Eureka Streams uses a shared nothing architecture. It uses Memcached, Apache Maven, PostgreSQL and Hibernate. It uses Shindig for OpenSocial.

It makes use of Java Message Service (JMS), Java Persistence API (JPA), Lucene and Google Web Toolkit (GWT). It makes use of the Apache JServ Protocol (AJP), OAuth and Representational State Transfer (REST).

The tech sounds solid as hell, and it was developed by Lockheed Martin. However, I just want to be sure before I commit to anything that this "enterprise" solution will function as fantastically as it sounds outside of a single-node intranet environment.

Any suggestions would be appreciated.

Edit: As stated in the title, I'm specifically concerned with scalability and security.


Solution

  • We built Eureka to scale to enterprise sized populations. We're currently deployed on about 40,000 employees and are soon going to have to scale to over 100,000. We've run performance tests with these points in mind.

    To scale to something Facebook sized we'd probably have to start using something like Cassandra. That said, we've made the architecture robust enough to be able to support switching out data sources, so if this ever had to be done, it wouldn't be a rewrite.