java 服务端渲染_使用Java和ReactJS服务器端渲染的微服务UI前端

我目前的设计是让客户端使用浏览器连接到我的(

Java)Web API网关,Web API网关将调用每个(Java)微服务来获取他们的

JSON数据并将其返回到在客户端上发出请求的UI组件.

唯一的客户端呈现将来自每个ReactJS UI组件,用于重复发送到网关的请求.

在服务器端,将在发送回客户端之前呈现完整的HTML视图.

Client browser

▼ (Request Dashboard View)

Web API Gateway

▼ (Request microservice JSON data)

Microservice A JSON Data

Microservice B JSON Data

Microservice C JSON Data

Microservice D JSON Data

▼ (Return JSON Data to gateway)

Web API Gateway

▼ (Render HTML and return to Client)

Client browser

▼ (ReactJS UI Components request data from API Gateway)

这是不清楚的地方,是否最好让每个UI组件与Web API网关或它来自的微服务器进行通信以获取数据?

注意事项

>让UI组件与Web API Gateway通信似乎是合理的,但会将微服务耦合到网关,这意味着在微服务上公开新的API,网关也需要更新.

>让UI组件直接与其微服务通信以获取数据,这样就无需更新Web API网关,从而减少了它们的耦合.但是这会将微服务暴露给来自客户端浏览器的外部调用.

设计决策

>让API组件中的UI组件创建一个UI整体,而不是让每个微服务负责其自己的UI组件.使用单片方法简化了解决方案,并且还避免了在客户端请求特定视图时必须聚合每个微服务UI组件的复杂性.

工具:

> Java

> Nashorn

> Dropwizard

> ReactJS

> Gradle

> Webpack

> NodeJS

> NPM

如何使用Java和ReactJS在Web API网关上聚合多个微服务ui组件,然后将此预呈现的HTML数据与JavaScript应用程序一起提供给客户端?

有用的参考:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值