【发布时间】:2016-01-16 05:06:30
【问题描述】:
我有一个假设的 Web 应用程序,它被拆分成一个微服务架构,例如(例如):
客户端 A-C 是提供 HTML 的 Web 应用程序。服务 1-3 是处理 CRUD 和服务 JSON 的后端。还有其他客户端(未显示)不访问前端服务 - 即原生客户端,如 Android 和 iOS。我正在尝试找出在所有 Web 客户端中提供通用前端内容(例如页眉/页脚/css)的最佳方式。我能想到的最好的方法是创建一个前端服务,每个 Web 客户端都可以访问它来获取这些公共信息。这样一来,公共前端的更改将立即反映在每个应用程序中,而无需更新版本、重新编译或重新部署。
我的问题是这样做的最佳方式是什么?我正在使用 Dropwizard 为 Web 客户端和服务提供服务。 Web 客户端通过 Jetty 提供 Dropwizard 视图(带有 freemarker 模板)。有没有办法组合 Dropwizard 视图,以便我可以从前端服务请求页眉和页脚视图并将它们包装在从客户端返回的每个视图周围?还是我完全错了?我知道 Freemarker 支持模板继承,但据我所知,这意味着页眉/页脚必须存在于每个客户端中,或者从公共 JAR 中提取(这需要更新版本号并重新编译)。
【问题讨论】:
标签: web-services architecture freemarker dropwizard microservices