Web 服務器,Monkey v1.6.0 發布
Monkey HTTP Daemon 是一個大約只有50KB的、功能強大而且速度非常快的 Web 服務器軟件,支持 Linux 系統。它采用混合網絡模型和線程epoll,具備很好的可擴展性和伸縮性,支持每秒數千訪問連接。
Monkey v1.6.0 發布,此版本主要改進:實現了新的 HTTP 解析器;使用 CMake 作為默認的構建系統;實現新的 Streams 接口。
更新內容如下:
Build System
-
Monkey now uses CMake as it default build system. This relevant change and improvement have deprecated the old bash configure script of 1200 lines. Now new CMake script rules exists for every component and a new configure script of 200 lines was added that works as an optional wrapper over the CMake build options provided by Monkey.
</li> </ul>Core
-
Now the Listeners can have associated a specific networking plugin, for short we added the capability to let some Listener working on port 443 use the SSL/TLS implementation while the port 80 uses plain communication.
</li> -
A new Streams interface have been implemented, it hide the complexity of writing data to network channels and abstract the networking plugin for that specific purpose.
</li> -
Source code split: mk_core, mk_server and mk_bin.
</li> </ul>Scheduler
-
The Scheduler is aware about protocol handlers, we are preparing for HTTP/2.0.
</li> -
Remove old array of connections, allocate space on demand.
</li> -
The Connection interface have been dropped and replaced by the Scheduler directly.
</li> </ul>Event Loop
-
The Event Loop have been reimplemented and now it support different backends: for Linux it uses epoll and for OSX and FreeBSD kqueue.
</li> -
The old Event File Descriptor (EFD) table have been dropped.
</li> -
The events are not longer associated to a socket number. Upon notification, the scheduler connection context is provided.
</li> </ul>Portability
-
Starting from this version, Monkey is not only compatible with Linux, now we add support for OSX and FreeBSD.
</li> </ul>HTTP
-
A new HTTP parser have been implemented.
</li> -
Internal structures to represent a connection and request have been reimplemented.
</li> -
The HTTP interface is now a handler for the Scheduler.
</li> </ul>Virtual Hosts
-
The Virtual Host interface now implements a new configuration for Handlers, plugins such as CGI, FastCGI, Directory Listing, Mandril and others, are triggered upon a regular expression match that works on order from top to bottom.
</li> </ul>Plugin Interface
-
Plugins now have a new architecture, new registration mechanism.
</li> -
Plugins can be build in static (built-in) or dynamic mode (shared libs).
</li> </ul>Plugins
-
SSL/TLS: our plugin that provides channel encryption have been upgraded to support the new mbedTLS v2.0.
</li> -
FastCGI: plugin re-written from scratch to adapt to new architecture.
</li> -
CGI: Plugin adapted to new architecture, small changes.
</li> -
Others: all other plugins have been modified to adapt to the new registration mechanism.
</li> </ul> 下載:<a href="/misc/goto?guid=4958964846930043075" _src="</a>。
來自:http://www.oschina.net/news/65031/monkey-1-6-0本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!
-
-
-
-
-
-
-
-