在 Eureka Streams 之上构建一个可大规模扩展且安全的社交网络?

Posted

技术标签:

【中文标题】在 Eureka Streams 之上构建一个可大规模扩展且安全的社交网络?【英文标题】:Building a massively scalable and secure social network on top of Eureka Streams? 【发布时间】:2010-10-22 00:49:58 【问题描述】:

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

Eureka Streams 使用无共享架构。它使用 Memcached、Apache Maven、PostgreSQL 和 Hibernate。它为 OpenSocial 使用 Shindig。

它使用 Java 消息服务 (JMS)、Java 持久性 API (JPA)、Lucene 和 Google Web Toolkit (GWT)。它利用了 Apache JServ 协议 (AJP)、OAuth 和具象状态传输 (REST)。

这项技术听起来非常可靠,它由洛克希德马丁公司开发,但我只是想在我承诺任何事情之前确定这个“企业”解决方案将像听起来一样出色在单节点 Intranet 环境之外。

想法?

编辑:如标题所述,我特别关注可扩展性和安全性。

【问题讨论】:

有什么问题? “这是件好事吗”?对于这样一个开放式问题,您可能不会得到任何好的答案。 对不起,我应该更清楚(现在编辑)。这个问题实际上是在标题中暗示的:我只关心这个平台将如何扩展以及它的安全性。谢谢。 【参考方案1】:

我们构建 Eureka 以适应企业规模的人口。我们目前部署在大约 40,000 名员工上,并且很快将不得不扩展到超过 100,000 名员工。我们在运行性能测试时考虑到了这些要点。

要扩展到 Facebook 大小的东西,我们可能必须开始使用 Cassandra 之类的东西。也就是说,我们已经使架构足够健壮,能够支持切换数据源,所以如果必须这样做,也不会是重写。

【讨论】:

哇,非常感谢大家的精彩回复!很高兴知道这件事在实践中会像理论上一样有效,所以我想继续使用 Eureka 后端构建我的项目应该没问题。我实际上从背后的实际开发人员那里获得了反馈,这非常不真实(Shawn Dahlen 实际上也开始在我昨晚开始在 reddit 上的一个帖子中发表评论)。【参考方案2】:

至于安全性,我们使用带有一些默认身份验证机制的 Spring Security,包括直接的 Forms 身份验证提供程序、ldap 和 kerberos。您可以非常轻松地创建新的身份验证机制。

Eureka Streams 的 OpenSocial 容器部分有一个 OAuth 实现,允许 OpenSocial 应用程序使用 OAuth 1.0a 连接到外部资源。

【讨论】:

【参考方案3】:

如有任何具体技术或其他问题,请随时在 Google 网上论坛讨论中发帖:

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

为了回答您关于可扩展性的问题,我们异步构建前端数据对象并将它们存储在 memcache 分布式内存缓存系统中。搜索也是分布式的,因为每个 Web 节点都有搜索引擎的完整副本。每个搜索都是在本地执行的,随着您创建更多的 Web 前端,您也在扩展搜索。

【讨论】:

以上是关于在 Eureka Streams 之上构建一个可大规模扩展且安全的社交网络?的主要内容,如果未能解决你的问题,请参考以下文章

Spring Cloud第二篇 | 使用并认识Eureka注册中心

使用streams().reduce 从ArrayList<Integer> 构建一个字符串?

在 Flutter 中构建 Streams 时出现编译时错误

为 amazon-kinesis-video-streams-producer-sdk-cpp 构建依赖项时出错 [重复]

播放框架 SBT 导入 play.api.libs.streams

服务注册:如何构建单点 Eureka 服务器