Questions tagged «nginx»

4
速率限制*未经*认证的请求
假设我们有一个负载均衡器,它也可以进行速率限制。速率限制对于已登录的用户来说似乎非常简单-只需查看JWT,然后使用内存中的数据存储来查看该用户在最近10秒内有多少个请求。 但是,未登录(未经身份验证)的用户呢?我们不确定他们到底是谁或请求的确切来源,因此无法轻松地对这些请求进行速率限制或..? AWS和其他托管平台上是否有内置解决方案,这是我们需要担心的事情?似乎我们需要手动处理已登录用户的限速逻辑,但是未登录用户该怎么办? 我的猜测/希望是可能存在一些内置机制来限制主机平台上未经身份验证的请求的速率,请通知我们。

2
微服务和规范模型
当我在该网站上阅读有关微服务的信息时,遇到了以下声明。规范架构是什么意思?与域模型不一样吗? 微服务架构模式还拒绝了SOA的其他部分,例如规范架构的概念。

1
为所有用户缓存经过身份验证的请求
我正在开发一个Web应用程序,该应用程序必须处理需要授权的并发用户的巨大冲动,以请求相同的内容。在当前状态下,它甚至完全破坏了32核AWS实例。 (请注意,我们使用Nginx作为反向代理) 无法简单地缓存响应,因为在最坏的情况下,我们必须通过解码JWT来检查用户是否已通过身份验证。这要求我们启动Laravel 4 ,即使启用了PHP-FPM和OpCache ,它也很慢。这主要是由于繁重的自举阶段。 可能会问一个问题:“如果您知道这将成为一个问题,为什么首先要使用PHP和Laravel?” -但是现在再来做这个决定为时已晚! 可能的解决方案 提出的一种解决方案是将Auth模块从Laravel提取到一个轻量级的外部模块(以类似于C的方式编写),其职责是解码JWT并确定用户是否通过身份验证。 请求的流程为: 检查缓存是否命中(如果没有正常传递给PHP) 解码令牌 检查是否有效 如果有效,则从缓存中投放 如果无效,请告诉Nginx,然后Nginx将把请求传递给PHP进行正常处理。 一旦我们向单个用户提供了此请求,这将使我们不再打PHP,而是接触到轻量级模块来解决解码JWT以及此类auth附带的其他注意事项。 我什至在考虑直接将此代码作为Nginx HTTP扩展模块编写。 顾虑 我担心的是,我从未见过这样的事情,并且想知道是否有更好的方法。 同样,第二次您将任何用户特定的内容添加到页面,它完全杀死了该方法。 Nginx中是否可以直接使用另一种更简单的解决方案?还是我们必须使用像Varnish这样的更专业的东西? 我的问题: 上述解决方案有意义吗? 通常如何处理? 有没有更好的方法来实现类似或更好的性能提升?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.