Articles of 体系结构

在运行相同服务的多个容器上插入重复的数据

我有一个处理相同数据的服务副本的问题。 我的代码从套接字获取数据,然后将该数据插入到数据库。 问题是,如果我有2个相同的服务容器(我有更多的2),他们都插入相同的,我得到我的数据库重复的数据。 有没有办法告诉他们中的一个做插入? 我使用docker和kubernetes,但我还是新的 function dataStream(data) { // get the data from the socket const payload = formatPayload(lines); addToDb(payload); // I want this to happen only from 1 service broadcast(payload) }

事件驱动的处理架构build议

我目前正在开发一个需要实时进行文件处理的项目。 这是我想要实现的工作stream程 a. User requests a file to be processed to Server A (web) b. Server A forwards the request to Server B c. Server B finishes and signals Server A that it's done d. Server A signals the user that the file is ready (web) 我在找什么? 我需要find一个简单的事件驱动的方式来在服务器A和服务器B(即步骤b和c)之间进行通信。 仅供参考,我将使用socket.io通过networking在步骤a和d与用户进行通信。 我将使用的环境是运行node.js服务的Ubuntu 14.04服务器(请注意,只要存在接口,解决scheme就不必严格控制节点)。 似乎很简单? 这是它变得复杂的地方。 每一组服务器(现在认为它们是networking服务器和处理服务器)都将在云中进行复制(每个服务器都是如此)。 需要注意的是,当一个处理服务器完成一个文件的处理时,它必须向所有的 […]

一个数据库,支持多区域应用

有没有办法让一个数据库(MongoDB)能够以最小的延迟支持多区域应用程序?

meteorCMS两个应用程序或全在一个

我目前正在为meteor(基本上是一个类似于WordPress)的CMS工作。 我对这个CMS的devise有一个简单的问题。 我应该把我的CMS分成两个应用程序: – 查看内容的一部分(网站,模板,查看器插件) – 另一个用于pipe理部分(统计,网页控制,post和页面创build等) 要么, 我应该使用不同的路线和安全级别在一个应用程序中进行全部操作。 从我的angular度来看都有利有弊。 鸿沟: 在几台服务器之间共享CMS。 只有一个pipe理应用程序pipe理不同的网站的可能性。 看起来像一个networking。 – 使用pipe理没有查看器应用程序(无头Drupal) – 使用全面的meteor潜力大的应用程序。 一体 : 较小的应用程序,模板更适应pipe理小组。 更容易处理它。 – 面向博客 我真的很感兴趣,你的想法和意见。 谢谢。

RethinkDB与NodeJS:打开单个连接vs单个静态连接

我目前正在开发一个rethinkdb和node的实时应用程序,并且有许多不同的rethinkdb查询可以在不同的类中运行。 所以,我的问题是,有一个单一的rethinkdb连接,每个查询必须打开和closures,或一个连接,其中每个查询运行,静态可用更有意义? 从这个问题我推断出并行化已经是一种select,所以这是一个更高效的问题。

docker上的微服务 – 架构

我正在使用docker构build一个微服务项目。 我的一个微服务是一个应该从各种来源获取数据的监听器。 我想要实现的是启动和停止从源dynamic获取数据的能力。 例如在这幅图中,我有3个源码连接到3个docker。 我的问题开始,因为我需要创build另一个docker实例,当一个新的来源可用。 在这个例子中,让我们说源#4现在是可用的,我需要得到他的数据(我知道什么时候新的源变得可用),但我希望它被自动缩放(与源#4信息的倾听) 我想出了两个解决scheme,每个都有优点和缺点: 1)创build一个运行侦听器服务的大量docker的docker池,并且每当有新的源时,发送一条消息(使用rabbitmq,但我认为不太相关)到一个可用的docker来开始获取数据。 在这个解决scheme中,我有点担心没有理由运行Docker镜像的内存消耗,但这不是一个非常复杂的解决scheme。 2)每当有新的源代码可用时,创build一个新的docker(具有不同的环境variables) 有了这个解决scheme,我有一个创builddocker的问题。 在这一刻,我已经实现了这一点,但启动泊坞窗(让我们称之为pipe理器)的服务只是一个正常的nodejs应用程序,在同一台服务器上执行命令 – 我也需要它在docker集装箱内。 所以这里的问题是,我无法pipe理从主docker创build一个SSH连接来创build我的新的Docker。 我不太确定我的解决scheme是否按计划进行,并且非常感谢我的问题。

如何一起使用Nodejs和Ruby on Rails?

我非常喜欢Ruby on Rails,但是我也开发了js节点。 目前我正在制作一个具有聊天function的networking应用程序,其中可能有30人。 为此,我想使用节点js。 我从来没有这样做,我很困惑如何在应用程序之间的stream量分配。 如何共享应用程序之间的状态,例如我将如何共享用户会话将不得不击中每个请求的数据库。

命令行应用程序的节点框架?

我试图find一个非常简单的框架来组织nodejs命令行应用程序的“架构”。 我发现这个网站: http : //nodeframework.com/但它似乎是围绕networking或networking框架,所以希望有人可以指点我更适合的东西。 谢谢,尼克

数据库支持的工作队列

我的情况 … 我有一组计划定期运行的工作人员 ,每个工作人员都有不同的时间间隔,并希望find一个良好的实施来pipe理他们的执行。 例如:假设我有一名工人前往商店,每周一次购买我的牛奶。 我想存储这个工作,它的configuration在一个MySQL表中。 但是,轮询表(每秒?)看看哪些作业已经准备好放入执行pipe道似乎是一个非常糟糕的主意。 我的所有工作人员都是用javascript编写的,所以我使用node.js来执行,并将beanstalkd用作stream水线。 如果新创build的作业(即在某个特定时间调度一个工作人员)正在asynchronous创build,并且需要持久地存储作业结果和configuration,我该如何避免轮询表格? 谢谢!

在社交networking中的“喜欢”数据库devise(MongoDB)

我正在使用MongoDB构build一个照片/video共享社交networking。 社交networking有一个Feed,个人资料和一个追随者模型。 我基本上采用了类似的方法来为我的“社交饲料”devise这篇文章 。 具体来说,当用户发布故事时,我使用了采用桶式方法的扇出。 我的问题是当用户“喜欢”一个故事。 我目前也在使用写扇出的方式,基本上增加/减less每个用户的feed的故事“喜欢计数”。 我认为这可能是一个糟糕的devise,因为用户“喜欢”比他们发布更频繁。 用户可以通过喜欢和不喜欢stream行的post来快速饱和服务器。 你们在这里推荐什么devise模式? 我应该使用扇形阅读吗? 继续与后台工作人员一起使用扇出? 如果解决scheme是“后台工作人员”,您推荐使用什么方法为后台工作人员? 使用Node.js 任何帮助表示赞赏! 谢谢,亨利