acl 服务器编程框架特点介绍

      acl 中服务器框架模块是一个非常重要的模块,使用该模块技术人员可以快速地写出稳定、安全、高效的网络服务应用,该模块主要来源于著名的邮件服务器程序 (Postfix) 中的 master 模块,为了便于开发者使用,本人又增加了许多有益的功能模块。在 acl 的文章分类 ”acl开发--服务器篇“ 和 ”acl_cpp开发--服务器开发“ 中有关 master 服务器框架的流程图及实例讲解,本文将只对比 acl 里的 master 服务器框架(简称 acl_master) 和 Postfix 中的 master 服务器框架的不同点,以便于开发人员根据不同的使用场景选择不同的服务模块。

功能点 Postfix master acl_master
半驻留服务模式 支持 支持
安全控制 严格的用户权限控制 严格的用户权限控制
配置方式 所有服务配置在同一个配置文件中 一个服务一个配置文件
进程池模式 支持 支持
触发器模式 支持 支持
非阻塞模式 功能一般 功能强大
线程池模式 不支持 支持
协程模式 不支持 支持
在线升级 支持 支持
预启动 不支持 支持
最小进程数控制 不支持

支持

最大进程数控制 支持 支持
监控子进程报警机制 不支持 支持
开发过程调试功能 不太方便 方便(很容易使用 valgrind 检查)
客户端连接访问控制 应用自己保证 框架自动支持
单一进程监听多个地址  受限  支持
单一进程同时监听TCP及域套接口 不支持 支持
子进程运行身份控制 支持 支持
日志记录方式 支持 syslog 支持syslog-ng;允许用户注册自己的日志处理过程;允许同时写入多个目标日志对象中
子进程崩溃是否允许产生 core 文件 通过配置项控制,便于快速消除错误
是否支持UDP通信模式 不支持 支持
是否支持多进程TCP连接均匀化 不支持 支持

       以上为 Postfix 的 master 服务器模块与 acl 中的 acl_master 服务器模块的主要区别,当然这个对比并不是说明 acl 的 acl_master 服务器模块优于 Postfix 的 master(毕竟 acl 的服务器模块是来源于 Postfix),而是为了说明 acl 的 acl_master 服务模块可能更方便技术人员开发自己的服务应用。

      OK,就先写这些,欢迎大家批评建议。

      参考:

      本文地址:http://zsxxsz.iteye.com/blog/1892313

      更多文章:http://zsxxsz.iteye.com/

      源码地址:https://sourceforge.net/projects/acl/

      SVN地址:svn://svn.code.sf.net/p/acl/code/

      Github: https://github.com/acl-dev/acl

      微博:http://weibo.com/zsxxsz/

      QQ 群:242722074

猜你喜欢

转载自zsxxsz.iteye.com/blog/1892313
ACL