问题标签 [microservices]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1767 浏览

apache-camel - 使用 Spring Cloud 时,Apache Camel 是否无关紧要?

我参与了使用 Spring Cloud 和 Apache Camel 的服务设计。今天,当一位同事问(也许提倡会是一个更好的词)我们是否真的需要 Apache Camel 时,我吃了一惊。在他看来,我们讨论的大多数下游系统都是基于 REST 的,因此不需要集成框架。如果我没记错的话,他还暗示微服务和集成框架不兼容。

我开始热情地建议 Spring Cloud 帮助解决部署/操作问题,而集成框架解决集成问题并且它们具有正交要求。

以下是系统将用于通信的一些协议:

未知协议:当我们集成到客户环境中时,我们需要与他们的系统集成。通信协议尚不清楚。

Martin Fowler 和 James Lewis 的以下声明似乎表明 ESB 和微服务是不兼容的:“我们无法抗拒提及 Jim Webber 的声明,即 ESB 代表“Egregious Spaghetti Box”。现在,您认为该声明在多大程度上适用于像 Apache Camel 这样的集成框架?

更一般地说,我的同事有意见吗?这是否意味着集成模式在微服务中没有位置?

0 投票
5 回答
52619 浏览

.net - 微服务和 .NET

如何在 .NET 世界中构建面向微服务的应用程序?有没有我们可以在 .NET 世界中编写面向微服务的应用程序的平台?如何构想包含微服务、事件存储和一些 NoSQL 数据库的架构?谢谢。

0 投票
2 回答
1591 浏览

java - 为什么 12 Factor 应用程序应该是自包含的?

在关于端口绑定的 12 Factor 文章 http://12factor.net/port-binding中,要求每个应用程序都是独立的,并且没有注入运行时,例如 Tomcat。出于什么原因,建议这样做......微服务的自包含应用程序有什么优势?

0 投票
1 回答
1388 浏览

filter - 使用微服务架构进行分页或过滤数据的策略有哪些?

通常当你有一个单一的应用程序或数据模型时,你可以创建一个连接不同表的 SQL 并对它们应用过滤器。然后,一旦您返回结果集,您也可以分页该数据。但是,如果您使用微服务架构,则数据模型可能会有所不同。我听说 netflix 实际上把它带到了一个极端,他们将每个表都暴露为微服务。在这种情况下如何处理分页和过滤?

我知道他们使用 API Gateway 模式,它可以充当聚合层(可能这就是 RxJava 之类的项目的用武之地)。从使用微服务的人那里获得想法或解决这个问题会很棒。

0 投票
2 回答
1732 浏览

java - DDD:谁能解释 DTO、聚合根和分离实体之间的差异?

我对弄清楚这三者之间的区别感到有些困惑。假设我有一个客户 - > 地址关系,(JPA)分离实体也将有这个(假设是急切加载)。哪里需要额外的聚合根?哪里需要 DTO?这一切都差不多吗?

原因之一可能是符合 JPA 的实体有一些客户根本不感兴趣的信息,例如@Entity、。@Id@OneToMany

我可以使用 JAX-RS/-WS 轻松地将其转换为 JSON/XML,并且几乎每个客户端都可以处理它,那么哪里需要它呢?这一切都几乎相同还是我错过了一些重要的事情?

0 投票
6 回答
22313 浏览

architecture - 微服务:什么是智能端点和哑管道?

我读过 Martin Fowler 的一篇文章“微服务”,发现很难理解智能端点哑管道。请解释这些术语,欢迎举例。

0 投票
1 回答
291 浏览

tomcat - 带有嵌入式 tomcat 和 apache http 服务器的端口绑定、负载平衡器和横向扩展架构

12因素应用建议使用端口绑定,以便应用完全自包含。我们可以使用嵌入式 tomcat 或 jetty 来实现这一点,但我想知道在这种情况下如何处理横向扩展。

设置

目前我有使用嵌入式 tomcat 公开的服务。我可以使用 Apache HTTP 服务器进行负载平衡。

问题

这种场景下如何动态添加新服务进行横向扩展?我问是因为添加新服务意味着我还需要将其添加为现有集群的一部分。

0 投票
3 回答
511 浏览

12factor - 为什么 12factor 建议不要守护进程?

12factor 建议不要守护进程。这样做有什么缺点?

0 投票
2 回答
696 浏览

node.js - Proxy_pass nginx 未找到

因此,我正在按照节点中的微服务架构开发我的服务器。因此,我使用 nginx 正确重定向每个服务的路由。自从我在子目录中添加了 ghost 以来,进展顺利。

现在,Ghost 运行良好,但所有其他路线都中断了。未找到 nginx 答案。

我的 nginx 服务器配置:

我还测试了微服务,即:

结果没事。

我什至不知道发生了什么,任何帮助都会很棒。提前致谢。

编辑:我还注意到,如果我在 root 上启动一个微服务,即下一个路由尝试遵循该服务而不是 nginx 路由。

0 投票
1 回答
1994 浏览

spring - HATEOAS 微服务的跨服务链接

我有许多使用 Spring Boot 构建的微服务,所以为了找点乐子,我想我应该尝试向它们添加 HATEOAS 以帮助建立跨资源链接。它似乎在特定项目中工作得很好,但我想知道是否有一种跨 API 链接的好方法。例如,假设我有 3 个服务:

用户详细服务: 代码:

用户日历服务: 代码:

用户消息服务: 代码:

要通过 API 进行浏览,最好有从用户资源到其约会和消息的链接。同样,最好从这些资源中获得链接。当我在类路径上有一个包含所有内容的单一 API 时,这一切都是可以实现的,我可以在其中编写如下代码:

代码:

但是,如果 CalendarController 不在我当前正在访问的服务的类路径上,我将无法执行此操作。

是否有一个好的/推荐的方法来创建不在当前项目中的控制器的链接?

引用自春季论坛