php - 客户端-服务器架构决策

标签 php ajax curl architecture client-server

这不是一个故障排除问题,而是一个行业标准问题。

我正处于需要解决和实现架构标准的十字路口。这些标准之一涉及客户端应用程序(基于 AngularJS,因此单页面持久具有多个 View )和第三方信息源之间的通信路由。

对我来说,通过我的后端路由对第三方库和数据的所有请求,然后通过 CURL 发送到各个目的地,这似乎是直观且符合逻辑的。

这样,我的服务器就充当了客户端和外界之间的网关(很像手机塔路由器和手机之间的关系)。

我很好奇行业标准对此有何规定,以及潜在的陷阱。对我来说,从长远来看,这似乎会创造更多的秩序、组织和安全性。

请让我知道您对此有何想法,因为我需要外部观点。

最佳答案

不太确定这是否重要,因为我不知道任何行业标准 - 但我将其解释为您真正要求的是一般的外部视角。所以这里是:

我的简短回答是,我认为您走在正确的道路上。

我认为它更干净,因为它使数据路径保持简单,因为你的客户端总是向你的服务器发送请求 - 所以基本上你的客户端和其他所有东西之间的耦合非常松散(除了服务器上的 Controller ,这很好,甚至是必要的(IMO)。稍后想要更改数据源吗?客户端不受影响(当然,除非格式不同)。如果您可以想象自己在未来某个时间出于某种原因想要将原始数据存储在数据库中,这也是有益的。根据您要连接的服务以及您想要对数据执行的操作,通过您自己的服务器可以带来安全优势(例如,如果您需要使用私钥对第三方服务进行身份验证,就像必须这样做一样)使用万事达卡提供的 API)。

不过,这会对性能造成影响,因为除了产生额外的请求和 DNS 查找之外,它还会给您的服务器带来更多的工作要做,并且需要更多的内存。话又说回来,您可以控制缓存,因此在某些情况下您可以使服务稍微更加健壮。

因此,除非性能至关重要,否则我会走您想到的路线。到底如何在服务器上完成路由是一个不同的问题,可能需要一些测试。只需确保您使用的方法可以让您优雅地处理可能出现的任何错误:)

关于php - 客户端-服务器架构决策,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13370395/

相关文章:

javascript - 具有动态变化图像的 jquery 缩放

javascript - 我的 AJAX post 变量无法访问我的 PHP

php - 重写此代码,因为 serialize() 不起作用

php - 有没有办法改变 cURL SSL session ID 过时的速率?

c++ - 无法获得协商身份验证以在 libcurl 程序中工作

php - 整理 REST API 请求的 Htaccess 规则

php - 如何显示给定 php 组合框中的项目的不同 php 表?

php - 在数组类型的 Cakephp 中创建一个文本框字段

php - 使用 Ajax 调用同一个文件中的 PHP 对象方法

php - 如何在 CURLOPT_POSTFIELDS 中包含数组数据?