微服务架构中的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
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



