问题标签 [web-architecture]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
13 浏览

api - 定义 GET /users/{id}/photos 路由是否有意义,或者我应该发送多个 GET /photos/{id} 请求以返回用户的照片?

这是我发现自己在处理嵌套资源时经常面临的两难境地。

所以假设目标用户有 n 张照片。GET /users/{id}/photos定义路由是否有意义,或者我应该GET /photos/{id}通过首先请求用户对象然后循环遍历该用户的photo_ids属性来发送 n 个请求?

0 投票
1 回答
42 浏览

rest - 用于多个应用程序和数据库连接的烧瓶应用程序结构

虽然是 Web 开发的初学者,但我目前一直在开发一个更大的 Flask 应用程序。

目前我正在使用下面显示的结构,但我想知道构建这样一个应用程序的最佳方法是什么,特别是关于不同的数据库连接(SQLAlchemy)。

与通常(并且非常有用)的 Flask 教程中显示的不同,我设想了一个由多个部分独立(子)应用程序组成的架构,每个应用程序也依赖于自己的数据库连接。此外,我不一定要在访问主网站时立即加载所有数据库,而只需要加载所需的子应用程序之一。

对于服务器和客户端之间的通信,我计划使用 REST API,并且我已经使用蓝图来分隔子应用程序。

该应用程序有一个统一的前端,子应用程序被简单地映射到不同的 URL 端点(例如 website.net/app1 和 website.net/app2)。

非常感谢任何有关构建此类应用程序的指导,谢谢!

当前应用结构:

0 投票
2 回答
68 浏览

amazon-web-services - 提高印度托管电子商务网站性能以克服中国防火墙的最佳架构实践

不确定这是否是正确的平台,但想在这里试一试,因为有许多传奇人物生活在 stackoverflow 领域。

我们有一个典型的电子商务网站,托管在印度。架构接触点可以总结如下

  • 静态内容从 AWS CDN 加载
  • 第一个入口点是 AWS 应用程序负载均衡器
  • 使用弹性搜索的搜索功能
  • 启用 Redis 缓存
  • 使用 nodejs、typescript、javascript 实现并托管在 kubernetes 集群中的业务功能

该网站在除中国以外的任何地方都非常快,因为Great firewall of china

我们尝试过的解决方案

性能方面,华为云连接似乎表现更好。然而,从 AWS CDN 加载的静态内容仍然很慢,因为它试图从日本最近的 AWS CDN 节点获取。

我们如何加速图片的 CDN?

欢迎任何想法。

0 投票
1 回答
33 浏览

design-patterns - 将 Web 框架与主应用程序分离

我有一个关于软件设计/架构的问题。我想构建一个应用程序,它提供 REST API 并在后台运行多种算法。我的主要目标是严格区分这两个功能。理想情况下,任何开发算法的人都没有关系,目前正在使用哪个框架。Web 框架将负责提供 API 并调用主应用程序所需的任何服务/数据库。

我对完成这样一个架构的第一个猜测是在 Web 框架和主应用程序之间有一个“内部 API”。我不知道如何设计这样的 API。实现将在 Java 中,但我认为架构的第一个目标应该是提供一种可以用任何 OOP 语言实现的结构。

由于我在设计软件方面没有经验,我想问一下这样的架构是否有意义,是否有人可以向我指出资源,这些资源描述了类似的东西。到目前为止,我无法真正找到我想要的。也许我只是缺少正确的关键字来描述我的问题。

谢谢您的帮助。

0 投票
0 回答
15 浏览

three.js - WebVR 渲染:服务器端与客户端

我正在涉足 WebVR 世界。我正在开发一个基本的应用程序,其中 CanonJS 用于物理,Threejs 用于渲染。

据我了解,我的应用程序目前的架构是使用 NPM/Webpack 将我的应用程序转换并捆绑到简洁的 JS 文件中,然后将其提供给我的 VR 设备。一旦为 VR 设备提供了这个 JS,它就会开始在任何浏览器中执行它并使用 WebVR API 来处理事件。这包括所有物理和图形处理。

我承认,我的设备(带有 Cardboard 的 OnePlus7)的计算能力非常强大。尽管如此,我想了解

  1. 为什么这些库在客户端运行?处理服务器端(可能使用 GPU)然后简单地为客户端提供它需要渲染的两个帧不是更有效吗?我的猜测是延迟,但我想检查一下。 https://developer.mozilla.org/en-US/docs/Web/API/WebVR_API/Concepts#latency

  2. 服务器端如何维护多人世界状态?是否有任何此类示例应用程序?

0 投票
0 回答
26 浏览

python - 如何通过本地网络(不在互联网上)在网络服务器上获取多个 IP 设备数据

考虑到我们有多个 IP 设备通过 UDP 连续向特定(服务器)IP 发送数据,目前我们有桌面应用程序(作为服务器)来监控/处理设备,现在我们想将此服务器应用程序从桌面应用程序转移到 Web服务器。

有什么方法可以在 Web 服务器后端获取 UDP 数据并显示到网页上?还需要从服务器(网页)向特定设备发送特定命令(因为所有设备的 IP 地址都是已知的)

这可能吗?我有兴趣与 Django 合作,我是否可以通过 UDP 从 Django (Python) 后端接收/发送 UDP 数据并处理到数据库和网页?

注意:请记住,这不是互联网,而所有设备的 IP 都是已知的本地网络。