Tag: 微服务

使用Docker扩展微服务

我已经创build了一个Node.js(Meteor)应用程序,并且正在研究未来处理扩展的策略。 我已经将我的应用程序devise为一组微服务,现在我正在考虑在生产中实现这一点。 然而,我想要做的是在一个服务器实例上运行许多微服务,以便在使用less量资源的同时最大限度地利用资源。 我知道容器是有用的,但我很好奇,如果有一种方法来创build一个dynamic缩放集合的地方,我可以: 编写命令,如“如果运行这个应用程序的容器达到> 80%的CPU /其他限制指标,则在此服务器上提供另一个应用程序容器”, 如果需要额外的容器,提供和准备其他服务器, 这些容器之间的负载均衡连接(这是否会影响服务器负载平衡,例如,发送较less的连接到容器较less的服务器?) 我已经研究过AWS EC2,Docker Compose和nginx,但是我不确定我是否正确地朝着正确的方向前进。

微服务通信

我实际上在研究微服务,而且我正面临一个问题。 上下文 我正在开发两个微服务: 基于Spring的用户pipe理,带有MySQL数据库 规划pipe理,基于SQL Server数据库的ASP.NET。 这个服务的唯一访问点是API列出了一些RESTFUL端点,例如/planning/{day}/{userId} or /planning/{startDate}/{endDate}/{idUser} 账单pipe理,基于MongoDB的Node.Js。 问题 我可以做什么,只允许通过用户服务访问计划信息,而不需要两个服务? 知道计划服务可以在其他地方稍后访问,但不是现在。 如何从MySQL数据库访问与用户对应的账单服务的账单信息? 我知道微服务不耦合,这一点是杀了我,因为它必须耦合在一个没有? 像在帐单中引用idUser一样? 否则,我怎么能知道我的API应该公开哪些账单? 更确切地说,微服务如何在它们之间进行通信,而不被耦合呢? 如何从其他服务中创build身份validation而不重复身份validation服务的身份validation请求?

你可以使用Hapi.JS作为微服务框架吗?

我已经看到了最近关于微服务( http://martinfowler.com/articles/microservices.html )的各种有趣的演讲,也想知道我们如何将这些概念与Hapi.JS一起使用。 邮件在线(地球上最大的在线报纸)的首席技术官检查HAPI及其与微服务有关的插件系统: http://www.nearform.com/nodecrunch/how-node-js-has-revolutionized-the-mailonline 一个微服务架构被使用,这是受到Fred George的启发,这个架构与hapi插件架构略有不同,构build应用程序以便随时可以维护,这是未来的一个关键挑战,微服务是解决scheme这个。 MailOnline也是Joyent(内部部署SDC和公共云)的重要用户。 还有一些专门为微服务设置的新节点框架(senecajs.org) 有没有人看到任何案例研究(理想的教程)利用哈皮这种方式?

NodeJS中的微服务体系结构

我正在做一个侧面项目,并且我重新devise了我的Skelton项目作为微服务,到目前为止我还没有find任何遵循这种模式的开源项目。 经过大量的阅读和search,我总结了这个devise,但我仍然有一些问题和想法。 这是我的问题和想法: 如何使API网关足够聪明,以加载请求,如果我从同一个微服务2节点? 如果其中一个微服务是closures的发现应该知道? 有没有类似的实现? 我的devise是对的吗? 我应该使用尤里卡还是类似的东西?

如何从Node.js中的不同应用程序注入模块

我有两个节点应用程序/服务一起运行,1.主应用程序2.第二个应用程序 主应用程序负责显示来自不同应用程序的所有数据。 现在我把第二个应用程序的一些代码放在主应用程序中,现在它的工作,但我希望它是分离的。 我的意思是说,secnod应用程序的代码将不会在主应用程序(通过某种方式注入运行时) 像第二个服务注册到主应用程序注入它的代码。 它的代码只是两个模块,是否有可能在nodejs中做到这一点? const Socket = require('socket.io-client'); const client = require("./config.json"); module.exports = (serviceRegistry, wsSocket) =>{ var ws = null; var consumer = () => { var registration = serviceRegistry.get("tweets"); console.log("Service: " + registration); //Check if service is online if (registration === null) { if (ws != null) { ws.close(); ws = […]

我应该在(Docker)容器中永远使用/ pm2吗?

我正在重构一些node.js服务。 他们都曾经在虚拟服务器上forever开始,如果进程崩溃,他们只是重新启动。 现在,转向容器化和无状态的应用程序结构,我认为这个过程应该退出,容器应该在失败时重新启动。 那是对的吗? 有好处还是坏处?