问题标签 [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.
api - 定义 GET /users/{id}/photos 路由是否有意义,或者我应该发送多个 GET /photos/{id} 请求以返回用户的照片?
这是我发现自己在处理嵌套资源时经常面临的两难境地。
所以假设目标用户有 n 张照片。GET /users/{id}/photos
定义路由是否有意义,或者我应该GET /photos/{id}
通过首先请求用户对象然后循环遍历该用户的photo_ids
属性来发送 n 个请求?
rest - 用于多个应用程序和数据库连接的烧瓶应用程序结构
虽然是 Web 开发的初学者,但我目前一直在开发一个更大的 Flask 应用程序。
目前我正在使用下面显示的结构,但我想知道构建这样一个应用程序的最佳方法是什么,特别是关于不同的数据库连接(SQLAlchemy)。
与通常(并且非常有用)的 Flask 教程中显示的不同,我设想了一个由多个部分独立(子)应用程序组成的架构,每个应用程序也依赖于自己的数据库连接。此外,我不一定要在访问主网站时立即加载所有数据库,而只需要加载所需的子应用程序之一。
对于服务器和客户端之间的通信,我计划使用 REST API,并且我已经使用蓝图来分隔子应用程序。
该应用程序有一个统一的前端,子应用程序被简单地映射到不同的 URL 端点(例如 website.net/app1 和 website.net/app2)。
非常感谢任何有关构建此类应用程序的指导,谢谢!
当前应用结构:
amazon-web-services - 提高印度托管电子商务网站性能以克服中国防火墙的最佳架构实践
不确定这是否是正确的平台,但想在这里试一试,因为有许多传奇人物生活在 stackoverflow 领域。
我们有一个典型的电子商务网站,托管在印度。架构接触点可以总结如下
- 静态内容从 AWS CDN 加载
- 第一个入口点是 AWS 应用程序负载均衡器
- 使用弹性搜索的搜索功能
- 启用 Redis 缓存
- 使用 nodejs、typescript、javascript 实现并托管在 kubernetes 集群中的业务功能
该网站在除中国以外的任何地方都非常快,因为Great firewall of china
我们尝试过的解决方案
我们尝试将阿里巴巴全球加速器与 AWS 地理位置记录路由策略结合使用,以确保来自中国的流量应该来自全球加速器,而不是来自主要互联网。
我们还尝试使用地理位置再次尝试华为 Cloud Connect ,通过 Cloud Connect 路由流量,通过 NAT 网关从香港到新加坡,然后表现得好像流量来自新加坡
性能方面,华为云连接似乎表现更好。然而,从 AWS CDN 加载的静态内容仍然很慢,因为它试图从日本最近的 AWS CDN 节点获取。
我们如何加速图片的 CDN?
欢迎任何想法。
design-patterns - 将 Web 框架与主应用程序分离
我有一个关于软件设计/架构的问题。我想构建一个应用程序,它提供 REST API 并在后台运行多种算法。我的主要目标是严格区分这两个功能。理想情况下,任何开发算法的人都没有关系,目前正在使用哪个框架。Web 框架将负责提供 API 并调用主应用程序所需的任何服务/数据库。
我对完成这样一个架构的第一个猜测是在 Web 框架和主应用程序之间有一个“内部 API”。我不知道如何设计这样的 API。实现将在 Java 中,但我认为架构的第一个目标应该是提供一种可以用任何 OOP 语言实现的结构。
由于我在设计软件方面没有经验,我想问一下这样的架构是否有意义,是否有人可以向我指出资源,这些资源描述了类似的东西。到目前为止,我无法真正找到我想要的。也许我只是缺少正确的关键字来描述我的问题。
谢谢您的帮助。
three.js - WebVR 渲染:服务器端与客户端
我正在涉足 WebVR 世界。我正在开发一个基本的应用程序,其中 CanonJS 用于物理,Threejs 用于渲染。
据我了解,我的应用程序目前的架构是使用 NPM/Webpack 将我的应用程序转换并捆绑到简洁的 JS 文件中,然后将其提供给我的 VR 设备。一旦为 VR 设备提供了这个 JS,它就会开始在任何浏览器中执行它并使用 WebVR API 来处理事件。这包括所有物理和图形处理。
我承认,我的设备(带有 Cardboard 的 OnePlus7)的计算能力非常强大。尽管如此,我想了解
为什么这些库在客户端运行?处理服务器端(可能使用 GPU)然后简单地为客户端提供它需要渲染的两个帧不是更有效吗?我的猜测是延迟,但我想检查一下。 https://developer.mozilla.org/en-US/docs/Web/API/WebVR_API/Concepts#latency
服务器端如何维护多人世界状态?是否有任何此类示例应用程序?
python - 如何通过本地网络(不在互联网上)在网络服务器上获取多个 IP 设备数据
考虑到我们有多个 IP 设备通过 UDP 连续向特定(服务器)IP 发送数据,目前我们有桌面应用程序(作为服务器)来监控/处理设备,现在我们想将此服务器应用程序从桌面应用程序转移到 Web服务器。
有什么方法可以在 Web 服务器后端获取 UDP 数据并显示到网页上?还需要从服务器(网页)向特定设备发送特定命令(因为所有设备的 IP 地址都是已知的)
这可能吗?我有兴趣与 Django 合作,我是否可以通过 UDP 从 Django (Python) 后端接收/发送 UDP 数据并处理到数据库和网页?
注意:请记住,这不是互联网,而所有设备的 IP 都是已知的本地网络。