我不明白为什么我不需要在浏览器上运行中间件服务器?对于我的最后一个项目,它有一个前端、中间件和后端。前端是React,中间件是java server,后端是MySQL。当我把整个项目推给Heroku时,我只需要把前端和中间件推给Heroku。后端是一个附加的远程数据库,由Heroku自己提供。例如,我选择ClearDB。我的理解是远程数据库是在云上自己运行的。除非我禁用它,否则它永远不会关闭,并且它总是等待来自我的java服务器的查询。我一直认为我需要打开java服务器的Heroku链接,然后才能打开前端的Heroku链接。当我试图将数据从前端传输到数据库时,它是通过中间件传输的。这就是为什么我需要java服务器在线运行的原因。这就像我们在本地做的一样。为了让前端将数据发送到数据库,我们需要运行服务器。然而,在我将项目推送到Heroku之后,我发现我不需要打开java服务器的Heroku链接来运行服务器。相反,我只需要打开字体结束链接,我可以注册或更改配置文件,没有问题。这让我很困惑。
发布于 2020-04-18 05:27:56
让任何rdms(数据库)对互联网开放,直接访问它会邀请黑客和脚本孩子进入数据库并获取他们所能获取的东西。
这就是为什么我们总是对Android这样的开发人员负责,让他们不要直接访问数据库。但要使用基于服务器端的web中间件,如php,python django .....
因此,rdms的凭据可以隐藏在服务器上,而不是隐藏在任何人都可以访问它们的应用程序或前端中。
这就是为什么rdms通常是一个后端服务,在某种意义上是可交换的,你可以将它们组合在一起。
你认为java和数据库在同一层次上的想法是错误的,在我看来,java只是一个中间件,因此是可以替换的。Ok前端和后端也是可替换的。
Heroku本身不是中间件,它是一个后端平台,您可以在其上构建您的中间件,并且它实际上与数据库处于同一级别。
它就像亚马逊、谷歌、微软、百度、ALibaba。
他们还提供中间件即服务。
在我看来,它们都是后端级别的。
https://stackoverflow.com/questions/61280306
复制相似问题