解耦NextJS应用和微服务以从中获取数据

时间:2019-06-13 08:37:14

标签: domain-driven-design microservices next.js decoupling

我有一个100%SSR的nextjs应用程序(由“ a”团队管理),我需要在其中集成一些来自远程微服务的数据。为了便于讨论,假设我来自“ b”团队,并维护此微服务

此微服务将从应用程序中接收一些输入,并以其他一些数据响应,这些数据应在nextjs应用程序呈现之前进行详细说明。

我想到的第一种方法是为微服务编写一个客户端,并将next逻辑放入该nextjs应用程序中,以调用该客户端(一个npm模块),将数据传递给微并处理响应以便为“结果”。 getInitialProps()函数中甚至之前的所有内容,在快速路由定义中都作为中间件。

这种方法行不通:我不想过多地耦合该应用程序和微型计算机,也无法承担nextjs应用程序的开发工作(我可以做些小事公关,但数量不多),因为它由另一个团队拥有。

我们尝试使用DDD,nextjs应用程序和微服务显然位于两个不同的域中。

使事物脱钩的最佳方法是什么?

我想到的想法:

  1. 我可以将react组件编写为npm模块,并将所有逻辑放在其中,以便仅将react组件包含在nextjs应用程序中,但是我如何使其与SSR一起使用?

  2. 我可以编写第三个微型(或节点应用),它将为html提供给nextjs应用,并负责调用提供该应用的微型

还有什么?

0 个答案:

没有答案