Apache Rivet 3.0 released

Apache Rivet 3.0 released

Nonetheless Rivet 3.0 ships with a major rewriting of mod_rivet, whose code has been redesigned into a modular architecture with the purpose to preserve the basic features of the 2.x series of modules but also to provide support for both non threaded Apache MPMs (Multi Process Module), such as mod_mpm_prefork, and threaded MPMs such as mod_mpm_worker, mod_mpm_event and mod_mpm_winnt. As a consequence mod_rivet now also can run with the Apache Web Server on the MS-Windows family of operative systems.

Threaded MPM integration was achieved by making mod_rivet multi-threaded and modular itself, introducing the MPM-module bridge concept. We developed a set of loadable modules which are supposed not only to overcome the issues related to threading but also the best possible MPM mod_rivet integration. As a side effect of this modular design mod_rivet is not only able to integrate with its environment but also to work as a framework for writing more MPM bridges designed along different multi-threading schemes and workload management models.

mod_rivet is built using the traditional autotools based toolchain but with version 3.0 we also are supporting a CMake based script that can be used on any OS where CMake is available. The CMake tool is necessary in order to build mod_rivet on MS-Windows

快速解釋一下狀況。如果只支援傳統的 perfork mode,那麼就無法與 HTTP/2 module 共用(因為 HTTP/2 module 與 perfork mode 並不相容)。

也就是如果要使用 Apache Httpd server + mod_http2 + Apache Rivet,Apache Rivet 必須支援其它的模式。這是個很重要的進展。


我在 local 端建立 RPM 的時候會在最後的 check test 階段失敗,所以 test 整段都被我拿掉了。經測試,在一個 Aapache Http Server + SSL + mod_http2 (使用 MPM_event)的環境下加入 Apache Rivet 3.0.0 跟之前的行為不同,是可以運作的,所以目前可以確定,使用 Apache mod_http2 與 Apache Rivet 搭配是可行的。