首页 \ 问答 \ 微服务的架构(Architecture for microservices)

微服务的架构(Architecture for microservices)

我最近开始使用node.js,我必须构建一个应该使用多个express.js服务的架构。 其中一些服务必须位于其他服务器计算机上的一台服务器上。 我想构建一个基本服务(如API网关),但我不知道在这个网关和微服务之间或两个微服务之间进行通信的正确方法。

目前我正在使用基于此的解决方案:

# inside Gateway server I call another service:
http.get('http://127.0.0.1:5001/users', (service_res) ->
  data = ''
  service_res.on 'data', (chunk) ->
    data += chunk

  service_res.on 'end', ->
    # some logic on data

).end() 

我强烈认为这种方法不对。 在API网关和微服务之间构建通信逻辑的正确方法是什么?


I've recently started to work with node.js and I have to build an architecture that should use multiple express.js services. Some of these services will have to be located on one server, anothers - on other server machines. I want to build a base service (like API Gateway), but I don't know what the proper way to communicate between this Gateway and microservices, or between two microservices.

Currently I'm working with a solution based on this:

# inside Gateway server I call another service:
http.get('http://127.0.0.1:5001/users', (service_res) ->
  data = ''
  service_res.on 'data', (chunk) ->
    data += chunk

  service_res.on 'end', ->
    # some logic on data

).end() 

I have a strong feeling that this approach is not right. What the proper way to build communication logic between API Gateway and microservices?


原文:https://stackoverflow.com/questions/32838312
更新时间:2023-07-20 08:07

最满意答案

您可以使用媒体查询,例如@media (max-width: 767px)

您可以尝试的另一件事是使用像我在现有代码中制作的JSFiddle中的HTML表: http//jsfiddle.net/ALYxt/


You can use media queries such as @media (max-width: 767px)

Another thing you could try is using an HTML table like in this JSFiddle I made from your existing code: http://jsfiddle.net/ALYxt/

相关问答

更多
  • 尝试垂直对齐顶部 。 忽略高度玩,宽度百分比玩。 @media (max-width: 775px){ .sidebarpics { max-width: 32%; width: auto; display: inline-block; vertical-align: top; max-height: 100px; } } Try vertical alignment top . ignore playing with height, play with widt ...
  • 您似乎在试图找出何时何地应用您的断点 。 而不是在一堆设备上测试解决方案,为什么不建立在每个分辨率都可接受的响应式设计? 没有任何魔术断点可以修复每个设备的响应式网站,因为每个响应式网站都会根据布局,内容等而有所不同,并且存在大量具有不同分辨率的不同设备。 你可能会想,“ 到底是什么,我不会逐像素去检查我的网站, ”但这并不是我的意思。 寻找你的网站的断点: 跳入浏览器,导航至您的网站,然后打开控制台 将视口大小调整为非常低的分辨率。 320px是一个很好的起点。 ( 注意:要在控制台中获取视口类型wind ...
  • 您可以使用媒体查询,例如@media (max-width: 767px) 您可以尝试的另一件事是使用像我在现有代码中制作的JSFiddle中的HTML表: http : //jsfiddle.net/ALYxt/ You can use media queries such as @media (max-width: 767px) Another thing you could try is using an HTML table like in this JSFiddle I made from you ...
  • 正如你已经使用bootstrap利用bootstrap css类。 这里是关于表单的官方文档( https://v4-alpha.getbootstrap.com/components/forms/ )。 表单解决方案之一是:
    Form Name
  • 使用第一个css规则,你将div元素的宽度指定为100%(默认情况下已经是100%宽,作为块元素)但是默认情况下图像是内联替换元素,因此它不会延长其宽度。 在第二个规则中,您将宽度指定给图像,因此产生的效果是拉伸图像。 with the first css rule you're assigning a width of 100% to the div element (which is already 100% wide by default, as a block element) but the im ...
  • 您的问题是#primary上的-26.4%右边距和#sidebar-left上的-72%左边距。 我已经调整了那些小提琴; 我放弃了左侧边栏(虽然为了填充而保持1.5%),并将#primary的右边距调整为-100%。 http://jsfiddle.net/mstauffer/CtkyN/1/ 这仍然是非常糟糕的hack-y。 如果有任何可行的方法,那么你将有更好的经验重新处理HTML和CSS ..但如果没有,那么这个小提琴将至少允许你在这个现有框架中根据需要重新调整右侧边栏的大小。 更新:我没有可靠的来 ...
  • 修复你的标签标签,然后试试这个CSS代码: fieldset { border: none; padding: 10px; width: 600px; margin-top: 5px; } label { width: 140px; margin: 5px; display: block; float: left; } input, selec ...
  • 那这个呢? div { /* either */ margin-left: 110px; /* or */ float: left; } What about this? div { /* either */ margin-left: 110px; /* or */ float: left; }
  • 从2011年7月左右开始,我就是现在维持Coda Slider的人。由于不断变化的格局朝着响应式布局,我创建了一个新版本的Coda Slider,重新命名为Liquid Slider, 在这里抓住它。 它比Coda Slider更容易使用,我计划跟上教程系列,教初学者如何使用它。 I'm the guy maintaining the Coda Slider now since around July 2011. Because of the changing landscape toward respon ...
  • 问题是div元素之间的空格也占用空间( 因为它们是display:inline-block )。 解决方案1: 删除空白 使用html注释删除空格( 同时添加vertical-align:top以使它们在高度不同时保持顶部对齐 ) .step{ width:33%; height:200px; display:inline-block; vertical-align:top; } .fa{ color:darkgray; width:100%; margin-t ...

相关文章

更多

最新问答

更多
  • 如何在Laravel 5.2中使用paginate与关系?(How to use paginate with relationships in Laravel 5.2?)
  • linux的常用命令干什么用的
  • 由于有四个新控制器,Auth刀片是否有任何变化?(Are there any changes in Auth blades due to four new controllers?)
  • 如何交换返回集中的行?(How to swap rows in a return set?)
  • 在ios 7中的UITableView部分周围绘制边界线(draw borderline around UITableView section in ios 7)
  • 使用Boost.Spirit Qi和Lex时的空白队长(Whitespace skipper when using Boost.Spirit Qi and Lex)
  • Java中的不可变类(Immutable class in Java)
  • WordPress发布查询(WordPress post query)
  • 如何在关系数据库中存储与IPv6兼容的地址(How to store IPv6-compatible address in a relational database)
  • 是否可以检查对象值的条件并返回密钥?(Is it possible to check the condition of a value of an object and JUST return the key?)
  • GEP分段错误LLVM C ++ API(GEP segmentation fault LLVM C++ API)
  • 绑定属性设置器未被调用(Bound Property Setter not getting Called)
  • linux ubuntu14.04版没有那个文件或目录
  • 如何使用JSF EL表达式在param中迭代变量(How to iterate over variable in param using JSF EL expression)
  • 是否有可能在WPF中的一个单独的进程中隔离一些控件?(Is it possible to isolate some controls in a separate process in WPF?)
  • 使用Python 2.7的MSI安装的默认安装目录是什么?(What is the default installation directory with an MSI install of Python 2.7?)
  • 寻求多次出现的表达式(Seeking for more than one occurrence of an expression)
  • ckeditor config.protectedSource不适用于editor.insertHtml上的html元素属性(ckeditor config.protectedSource dont work for html element attributes on editor.insertHtml)
  • linux只知道文件名,不知道在哪个目录,怎么找到文件所在目录
  • Actionscript:检查字符串是否包含域或子域(Actionscript: check if string contains domain or subdomain)
  • 将CouchDB与AJAX一起使用是否安全?(Is it safe to use CouchDB with AJAX?)
  • 懒惰地初始化AutoMapper(Lazily initializing AutoMapper)
  • 使用hasclass为多个div与一个按钮问题(using hasclass for multiple divs with one button Problems)
  • Windows Phone 7:检查资源是否存在(Windows Phone 7: Check If Resource Exists)
  • 无法在新线程中从FREContext调用getActivity()?(Can't call getActivity() from FREContext in a new thread?)
  • 在Alpine上升级到postgres96(/ usr / bin / pg_dump:没有这样的文件或目录)(Upgrade to postgres96 on Alpine (/usr/bin/pg_dump: No such file or directory))
  • 如何按部门显示报告(How to display a report by Department wise)
  • Facebook墙贴在需要访问令牌密钥后无法正常工作(Facebook wall post not working after access token key required)
  • Javascript - 如何在不擦除输入的情况下更改标签的innerText(Javascript - how to change innerText of label while not wiping out the input)
  • WooCommerce / WordPress - 不显示具有特定标题的产品(WooCommerce/WordPress - Products with specific titles are not displayed)