多个服务器端应用程序 "communicate" 应该如何相互配合
How should multiple server-side apps "communicate" with each other
假设在两个独立的服务器上有两个服务器端应用程序。
服务器 #1,IP 地址 1.2.3.4,包含一个带有 MySQL 数据库的 PHP 网络应用程序。
服务器 #2,IP 地址 5.6.7.8,包含一个带有 MongoDB 数据库的 NodeJS 应用程序。
PHP 应用程序如何 "commands" NodeJS 应用程序(反之亦然)做一些事情,例如:
- "please save this data on your database",或
- "I want to retrieve data from your database, where some_id = 123"
这些内部通信应该是安全的,这意味着除了两台服务器之外没有人可以执行它们。
我认为这可以通过简单的 HTTP POST / GET 请求实现。
例如,NodeJS 应用程序将带有参数的 POST 请求发送到 http://1.2.3.4/do_something.php
或者 PHP 应用向 http://5.6.7.8/retrieveSomething
发送 GET 请求
但我认为它不安全,因为 URL 暴露给 public。 (如果我错了请纠正我)
我什至不知道 google 这个问题的搜索关键字。
是网络服务吗?面向服务架构?远程过程调用?
你的例子非常好。就保护它而言,一种简单的方法是让 "client/sender" 随请求一起发送某种商定的 API 密钥。 "server/receiver" 然后会检查这个 API 键。如果有效,则将执行适当的命令。如果不是,服务器将简单地 return a 404 Not Found
.
假设在两个独立的服务器上有两个服务器端应用程序。
服务器 #1,IP 地址 1.2.3.4,包含一个带有 MySQL 数据库的 PHP 网络应用程序。
服务器 #2,IP 地址 5.6.7.8,包含一个带有 MongoDB 数据库的 NodeJS 应用程序。
PHP 应用程序如何 "commands" NodeJS 应用程序(反之亦然)做一些事情,例如:
- "please save this data on your database",或
- "I want to retrieve data from your database, where some_id = 123"
这些内部通信应该是安全的,这意味着除了两台服务器之外没有人可以执行它们。
我认为这可以通过简单的 HTTP POST / GET 请求实现。
例如,NodeJS 应用程序将带有参数的 POST 请求发送到 http://1.2.3.4/do_something.php
或者 PHP 应用向 http://5.6.7.8/retrieveSomething
发送 GET 请求
但我认为它不安全,因为 URL 暴露给 public。 (如果我错了请纠正我)
我什至不知道 google 这个问题的搜索关键字。
是网络服务吗?面向服务架构?远程过程调用?
你的例子非常好。就保护它而言,一种简单的方法是让 "client/sender" 随请求一起发送某种商定的 API 密钥。 "server/receiver" 然后会检查这个 API 键。如果有效,则将执行适当的命令。如果不是,服务器将简单地 return a 404 Not Found
.