开发者

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 Persi开发者_如何转开发stence 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, but 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.

Thoughts?

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


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.


As for security we use Spring Security with a few default authentication mechanisms including a straight Forms auth provider, ldap and kerberos. You can create new authentication mechanisms pretty easily.

The OpenSocial container part of Eureka Streams has an OAuth implementation allowing OpenSocial applications to connect to external resources using OAuth 1.0a.


Feel free to post in the Google Groups discussion with any specific technical or other questions:

http://groups.google.com/group/eureka-streams-dev

To answer your question about scalability, we build our front-end data objects asynchronously and store them in the memcache distributed in-memory caching system. Search is distributed too in that each web node has a fully copy of the search engine. Every search is performed locally, and as you create more web front-ends, you're also scaling search.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜