系统设计:web服务器,API和数据库



目前我有一个网站提供一些产品。web服务器与数据库位于同一系统上,并直接访问数据库以检索HTML前端所需的信息。现在我认为通过API服务器将数据库与web服务器分开是很好的。我想使用API服务器的原因是,除了网站之外,未来的应用程序可能需要访问系统上的信息。

我想要的系统应该由以下组件组成:

  • 存储所有所需信息的数据库。
  • 一个API服务器,将在Java中实现,应该使用oauth2来授权用户请求。API服务器将拥有与数据库的唯一直接连接。网络服务器

所以基本上我脑子里想的是,我想建立我的网站在API服务器的顶部。用户将注册/登录/…通过网站和网站实现将代表用户内部查询API服务器作为web服务。然后,API服务器将从数据库返回数据。这样,HTML前端只是一个使用API服务器的应用程序,它本身永远不会与数据库直接接触。

我认为这是一个经常遇到的问题,有一个很好的解决方案。我不确定这个解决方案是否可行。你能帮我一下,或者从这里给我指个正确的方向吗?

谢谢。

据我所知,不建议使用单独的API服务器,原因有两个:降低性能和增加系统的复杂性。所以基本上你应该尽量避免使用这种类型的解决方案。

你绝对应该阅读M. Fowler:"企业架构模式"来获得灵感。

回到您的问题:您是否考虑过将此API层作为模块(库)?如果我还没有说服您,请尝试阅读Java RMI文档(http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136424.html)

最新更新