Apache做为功能强大的web服务器,经常把用来作为前端服务器,服务的处理逻辑通过module传递给后台的服务。大致这样一个结构:
client <—-> Apache<—>Module<—>Server
这样做的好处在于:
1. 服务器省掉负责的并发处理环节,把这些交给久经考验的Apache。
2. 服务走标准的http协议,扩展能力强,便于分布式处理。而且服务不容易不防火墙、杀毒软件之类的封掉。部署和配置起来也很方便。便利多多啊
3. 把连接和处理逻辑分离开。保持各自的简单性。
ApacheModule的开发就属于中间比较重要的环节了。把一个东西,插入Apache中,来处理请求。听起来有点复杂,高深的样子,不过做上两个module就明白不是什么艰难的事情。说白了,就是要弄清楚Apache的工作模式和处理请求的链,然后把自己的module插入到某一个处理环节之中。可以见《The.Apache.Modules.Book.2007》,讲的比较详细。另外在写module的时候,Apache就是你的工作平台,需要熟悉它的内存分配,IO处理、日志处理、读取配置之类的东西。这方面最让人郁闷的就是没有详细的文档,不像jdk或者python的文档那样分类详细,具体。不明白只有看源码,看示例。它自带的几个示例还是很有得看的。
当然了,非常重要的一点是需要知道http协议,至少有一个大致了解。http请求头,回复格式, cache控制之类的。
嗯,大致这么多,一些泛泛而谈的东西,希望对你有所帮助。
归档在: 技术 — @
7:08 下午
No Comments Now!
Be the first to comment on this entry.