19、微服务架构中的Web、UI与REST通信

微服务架构中的Web、UI与REST通信

1. ROCA架构与Web UI

ROCA(Resource Oriented Client Architecture)是单页应用(SPAs)的一种替代方案。在ROCA中,JavaScript的作用仅限于优化网页的可用性。它可以方便网页的使用,或者为HTML网页添加效果,但应用程序在没有JavaScript的情况下也必须保持可用。ROCA的目的并非让用户真的在没有JavaScript的情况下使用网页,而是应用基于HTML和HTTP的Web架构,并且确保所有逻辑都在服务器端实现,而非客户端的JavaScript中,这样其他客户端也能使用相同的逻辑。

当Web应用划分为微服务时,ROCA可以减少依赖并简化划分。微服务之间的UI耦合可以通过链接实现,对于HTML应用来说,链接是网页间导航的常用工具,代表着自然的集成,不会像SPAs那样存在“异物”。

为了保证HTML用户界面的一致性,微服务可以像SPAs一样使用共享资产服务器,该服务器包含所有的CSS和JavaScript库。如果团队为HTML网页制定设计指南并管理资产服务器上的资产,不同微服务的用户界面将基本一致,但这会导致微服务UI之间的代码依赖。

2. 轻松路由

从外部看,微服务应表现为一个单一的Web应用,理想情况下只有一个URL,这样有助于共享资产,也不会违反同源策略。但外部用户请求需要被导向正确的微服务,这就是路由器的功能。

路由器可以接收HTTP请求并将其转发到某个微服务,这可以基于URL来完成。具体的URL如何映射到微服务可以由复杂的规则决定,例如示例应用使用Zuul来完成此任务。反向代理也是一种选择,如Apache

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值