在 Eureka Streams 之上构建一个大规模可扩展且安全的社交网络?
http://en.wikipedia.org/wiki/Eureka_Streams
http://www.eurekastreams.org/
Eureka Streams 使用无共享架构。它使用 Memcached、Apache Maven、PostgreSQL 和 Hibernate。它使用 Shindig 进行 OpenSocial。
它利用 Java 消息服务 (JMS)、Java 持久性 API (JPA)、Lucene 和 Google Web Toolkit (GWT)。它利用 Apache JServ 协议 (AJP)、OAuth 和表述性状态传输 (REST)。
这项技术听起来非常可靠,它是由洛克希德·马丁公司开发的。然而,在我做出任何承诺之前,我只想确保这个“企业”解决方案将像在单节点 Intranet 环境之外听起来一样出色地运行。
任何建议将不胜感激。
编辑:如标题所述,我特别关心可扩展性和安全性。
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.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我们构建 Eureka 是为了扩展到企业规模的人口。目前,我们部署了大约 40,000 名员工,很快就会扩大到超过 100,000 名。我们在运行性能测试时考虑了这些要点。
为了扩展到 Facebook 大小,我们可能必须开始使用像 Cassandra 这样的东西。也就是说,我们已经使架构足够强大,能够支持切换数据源,因此如果必须这样做,也不会重写。
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.
至于安全性,我们使用 Spring Security 和一些默认的身份验证机制,包括直接的 Forms 身份验证提供程序、ldap 和 kerberos。您可以非常轻松地创建新的身份验证机制。
Eureka Streams 的 OpenSocial 容器部分具有 OAuth 实现,允许 OpenSocial 应用程序使用 OAuth 1.0a 连接到外部资源。
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.
如果您有任何具体的技术或其他问题,请随时在 Google 网上论坛讨论中发帖:
http:// groups.google.com/group/eureka-streams-dev
为了回答您有关可扩展性的问题,我们异步构建前端数据对象并将它们存储在 memcache 分布式内存缓存系统中。搜索也是分布式的,因为每个网络节点都有搜索引擎的完整副本。每个搜索都是在本地执行的,当您创建更多的 Web 前端时,您也在扩展搜索。
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.