该项目名为Drogon Sandbox,是一个用于多租户HTTP服务器的沙箱。
**多租户**允许一个服务器安全地由多个用户共享,每个用户都不能访问彼此的数据或对HTTP服务产生负面影响。
**设计**方面,为每个请求实例化专门的沙箱,并在请求完成后立即销毁,整个过程仅需几微秒。
- 短暂的沙箱保证了请求不会在其他请求中留下痕迹。
- 支持租户程序的热重载,避免服务重启。
- 强制执行内存和CPU限制。
**注意:**该项目虽然像生产系统一样编写,但只包含了用于基准测试的必要部分。真正的生产系统需要实现更多的可观察性、日志记录、计量等功能。
**基准测试**显示了沙箱化的“Hello World”响应在8、32和64个线程下的性能。结果表明,在64个线程的情况下,沙箱可以处理每秒170万个请求,每个请求平均耗时39微秒。
**Drogon Vanilla基准测试**显示,一个简单的Drogon“Hello World”HTTP响应(不涉及沙箱)需要8.5微秒。这表明,沙箱化带来的开销约为1微秒。
**Pythran测试程序**是一个简单的Pythran到C++的转换示例,用于演示如何在沙箱环境中运行Python代码。