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
源码地址:https://sourceforge.net/projects/acl/
SVN地址:svn://svn.code.sf.net/p/acl/code/
Github: https://github.com/acl-dev/acl
QQ 群:242722074
相关推荐
acl 工程是一个跨平台(支持LINUX,WIN32,Solaris,MacOS,FreeBSD)的网络通信库及服务器编程框架,同时提供更多的实用功能库。通过该库,用户可以非常容易地编写支持多种模式(多线程、多进程、非阻塞、触发器、...
在IT行业中,网络与服务器编程框架库是构建高效、稳定且可扩展的网络服务的核心工具。这些库提供了丰富的功能,使开发者能够轻松处理网络通信、数据传输和服务器管理等复杂任务。下面我们将深入探讨网络通信库和...
ACL框架库是一个专为C语言设计的网络框架,它提供了丰富的功能,使开发者能够更高效地构建网络应用程序。这个框架的核心特性包括...学习和掌握ACL框架,将有助于提升C语言网络编程的能力,提高开发效率和代码质量。
acl 工程是一个跨平台(支持LINUX,WIN32,Solaris,MacOS,FreeBSD)的网络通信库及服务器编程框架,同时提供更多的实用功能库。通过该库,用户可以非常容易地编写支持多种模式(多线程、多进程、非阻塞、触发器、...
cl 工程是一个跨平台(支持LINUX,WIN32,Solaris,MacOS,FreeBSD)的网络通信库及服务器编程框架,同时提供更多的实用功能库。通过该库,用户可以非常容易地编写支持多种模式(多线程、多进程、非阻塞、触发器、UDP...
整个 acl 项目主要包含三个函数库:lib_acl(纯C开发的基础库,主要包含网络通信及服务器编程框架以及其它丰富的功能)、lib_protocol(包含 HTTP/PING/SMTP 通信协议的C语言实现)、lib_acl_cpp(基于 lib_acl 及 lib_...
acl 工程是一个跨平台(支持LINUX,WIN32,Solaris,MacOS,FreeBSD)的网络通信库及服务器编程框架,同时提供更多的实用功能库。通过该库,用户可以非常容易地编写支持多种模式(多线程、多进程、非阻塞、触发器、...
acl_cpp(已包含在acl项目中:https://sourceforge.net/projects/acl/,请从acl项目url下载)是acl的c ++包装库,并且acl_cpp比...使用acl_cpp,您将获得更强大的acl功能,并且可以快速开发,进行模块编程,祝您好运!
acl 工程是一个跨平台(支持LINUX,WIN32,Solaris,MacOS,FreeBSD)的网络通信库及服务器编程框架,同时提供更多的实用功能库。通过该库,用户可以非常容易地编写支持多种模式(多线程、多进程、非阻塞、触发器、...
acl 框架库是一个 C 库,主要包含:服务器开发框架、同步/异步网络通讯、常用数据结构、进程池/线程池、流式 xml/json 解析器、http/ping 应用协议等内容。 acl 包括以下丰富的常用函数库: 1、常见网络应用库:SMTP...
acl 工程是一个跨平台(支持LINUX,WIN32,Solaris,MacOS,FreeBSD)的网络通信库及服务器编程框架,同时提供更多的实用功能库。通过该库,用户可以非常容易地编写支持多种模式(多线程、多进程、非阻塞、触发器、...
ACL库,全称为Advanced C Library,是一个为C程序员设计的跨平台库,旨在提供一系列高效且易用的数据处理算法,以及强大的服务器框架。这个库特别适合于开发需要高性能、高并发性和良好扩展性的网络应用程序。在本文...
Lua是一种轻量级的、解释型的编程语言,常用于游戏开发、配置文件、服务器应用等领域。而ACL则通常用于控制网络或系统中的访问权限,确保只有授权的用户或服务可以执行特定操作。 描述中提到“lua call c++, c++ ...
ACL(Access Control List)框架库是一个专为C语言设计的开源库,它的核心目标是提供一个高效且灵活的服务器开发框架。这个库包含了多种关键组件,使得开发者在构建网络服务时能够快速、稳定地实现复杂的功能。以下...
2. **服务器框架**:服务器框架是构建高效服务的基础,ACL项目提供的服务器框架可能包含事件驱动模型、工作线程模型等设计,用于处理大量并发请求。它通常包括请求解析、处理逻辑、响应生成等功能,并能根据需求扩展...
acl工程是一个跨平台(支持LINUX,WIN32,Solaris,MacOS,FreeBSD)的网络通信库及服务器编程框架,同时提供更多的实用功能库。通过该库,用户可以非常容易地编写支持多种模式(多线程,多进程,非二进制,异步,...
2. 后台框架:后台框架通常是用于处理服务器端逻辑、数据库操作、权限控制、数据验证等非用户界面部分的系统。ASP.NET通用后台框架通常包括登录验证、角色权限管理、数据访问层(DAL)、业务逻辑层(BLL)以及用户...
FourInOne(中文名字“四不像”)是一个四合一分布式计算框架,在写这个框架之前,我也看了老外写的其他开源框架,也对分布式计算进行了长时间的思考,当我们把复杂的hadoop当作一门学科学习时,似乎忘记了我们想...