API平台,可替代运行时、Caddy、Vulcain、缓存生态系统



目前我正在研究一个由api平台支持的设置,目标如下:

  • PHP后端必须产生最小的资源负载,因此我根本不想嵌入关系
  • PHP后端应该能够在其他运行时中运行,例如Swool
  • Web服务器应该利用api平台分发的内置vulcain支持,通过HTTP2Push推送相关资源

我找不到那么多关于这些设置的资源——至少没有足够的形式来回答后续的问题。

我的初始设置只是基于api平台发行版2.6.8

所以,到目前为止,我已经学会了以下几点:

  • 开箱即用,caddy+http2推送设置与基于php:8.1-fpm-alpine的PHP容器一起工作,而caddy显然直接使用php_fastcgi
  • 当我摆弄当前可用的缓存处理程序时,我能够使http缓存正常工作,但我很难找到任何关于缓存无效工作的信息。api平台文档主要关注清漆;api平台核心中也只有一个CCD_ 3。如果caddy缓存处理程序以某种方式允许BAN请求或类似的东西,那么编写自定义缓存就不应该那么困难了-在哪里可以找到相关信息?我知道处理程序是基于Souin的,但由于我不熟悉,我根本不知道Souin是如何(以及是否(支持缓存无效的
  • 当将php容器更改为(在我当前的测试场景中(基于Swoole时,php_fastcgi不能在caddy中使用——相反,我最终使用了reverse_proxy(如vulcain文档中所述(,它基本上可以工作并提供正确的http响应,但不会推送任何使用Preload头请求的资源(正如我所说,当php后端基于php-FPM时,它可以工作(。如何调试此处发生的情况?Caddy不会提供任何关于push处理的信息,vulcain Caddy模块也不会

长话短说(er(:总结我的问题

  • 我怎么能弄清楚为什么caddy+vulcain不能在reverse_proxy设置中工作
  • caddy缓存处理程序的当前状态是否正常/受api平台发行版支持
  • 如何实现/支持caddy缓存处理程序的BAN请求(或其他细粒度缓存无效(

Souin支持使用PURGEHTTP方法进行无效处理。我已经写了一篇PR来在api平台/核心项目中设置Souin,但他们正忙于v3.0的发布。也许在不久的将来,他们会审查并可能合并,我不知道。但是,如果你在清漆清除器上使用装饰器,并使用我在PR中编写的代码,你将能够自动清除到基本路由的相关端点。

最新更新