《2022年分布式邮件系统设计 .pdf》由会员分享,可在线阅读,更多相关《2022年分布式邮件系统设计 .pdf(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、分布式电子邮件系统设计设计目标邮件系统在当今社会,作为一种基础通讯平台,已经不单纯是简单收发邮件,而是成为互联网各种应用的核心,承载越来越重要的应用。中国人口众多,上网人数逐年剧增,使用邮件也日益频繁。邮件系统从建成的那一天起,就面临升级的压力。如何设计一个结构良好的大容量邮件系统,对于系统稳定性、可靠性,对于日后的升级维护有着至关重要的作用。春笛公司作为一个在邮件领域默默耕耘的公司,以小用户量的企业邮件系统立身,最终希望打造一个坚固的、高度可扩展的、容易管理维护的大容量分布式邮件系统。在设计时,我们主要考虑如下方面:1 底层坚固、高度稳定。为保证系统的稳定可靠,需要在硬件、操作系统、核心MT
2、A、应用层在内的每一个环节都稳定可靠才行。硬件通常选取知名品牌服务器,稳定性、可靠性都有保障,差别不大。操作系统选择Linux 或者 FreeBSD, 针对邮件系统的特点,内核需要特殊调整:如打开文件数( open files) 、stack size 、max user processes等。除了操作系统核心外,系统只加载必须的软件,屏蔽一切不不要的服务端口。在操作系统之上,处理smtp、pop3 请求的 MTA 的稳定性、效率也至关重要。当今世界上使用比较多的是qmail 和 postfix, 都有分布世界各地的大批用户。相比较而言,qmail有着更好的模块化设计、更好的安全性,更高的投递
3、效率、更可靠的队列设计。Postfix 优势在于和sendmail 有着很好的兼容性,部署容易,集成程度比较高,也是一个非常不错的MTA 软件。应用层我们选取Apache+tomcat。Apache 久负盛名、久经考验,tomcat 背后有 SUN 支持,最重要的是tomcat5 支持应用层负载均衡(Load Balance) 。另外, java 作为一种面向对象的编程语言,最能体现软件工程思想,有一系列的UML 设计工具、集成开发环境、应用服务器可以选择。很多学校也开设J AVA 课程,以后JAVA 会像 c 语言那样普及,变成程序员必备的技能之一。邮件系统应用层会根据用户的反馈增加信的增值
4、服务品种,如果基于java 开发,很容找到相关人才。这样缩短开发周期、节省开发成本、降低维护难度。Google很多服务是基于java 开发的。当然,java 也有执行效率低的缺点,但随着硬件速度的提升,单只程序运行速度的劣势很容易被良好的设计模式优势取代。2 容易管理、维护。系统结构复杂之后,必然会带来管理维护上的麻烦。我们的设计思想是希望通过统一的一个管理控制界面,让系统管理员对每台服务器的运行状况、负载情况、 流量了如指掌; 同时通过一个管控界面,可以远程控制服务器启动、关闭,对服务进程远程启动、停止,对流量调配。当出现异常时,系统自动通过短信通知到管理人员的手机上。3 增加设备简单、有效
5、。系统扩展性是衡量系统设计好坏的一个重要指标。好的系统能够通过简单添置硬件、软件做少许配置即可满足需要。我们设计的是让用户数量的增长和邮件服务器数量呈线性关系。由于PC 服务器的硬件成本比较低,以一台高性能PC 服务器 3 万元人民币计算,如果名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 12 页 - - - - - - - - - 作为 SMTP 服务器可以支撑15 万用户,作为POP 服务器可以支撑30 万用户,作为存储服务器,可以支撑3 万用户。平均每用户为0.2
6、 元、 0.1 元、1 元。在保证系统稳定可靠的同时,能够最大地降低成本。降低成本有2 个途径, 一是最大限度利用硬件,二是避免使用高端的存储备份设备、负载均衡设备、四层交换机等。邮件系统用户数量与服务器数量增长比例服务器数量用户数量系列系列4 具有多级权限管理,支持个人用户、企业用户、运营商等。大容量邮件系统,不仅仅是个人用户,还有企业用户。不同用户群体的需求是不同的。针对不同用户群,提供不同的服务套餐,无疑是市场营销重要手段。而这,需要有技术上做保障才行。金笛邮件应用层采用java 技术,无疑是体现用户需求的最佳技术手段。作为运营商,要有丰富权限管理体系,使邮件系统的每一个管理环节严紧、严
7、密。5 高度模块化,模块之间最小耦合。模块化程度的高低,可以体现的系统的成熟度。充分利用开源宝库中的免费资源,将优秀的开源项目经过改良、优化,会搭建出优秀的系统。不赞成完全从底层开发。模块之间通过标准接口通讯,耦合程度尽可能小,这样,即使出问题也不会影响全局。最重要的是,系统扩展性大大增强。如可以随时将病毒扫描过滤模块升级,或者将垃圾邮件过滤模块升级,其它模块无需做任何改动。6 提供与其它系统直接的接口:如计费平台、短信彩信平台、防毒网关等。作为邮件运营,计费模块很重要。良好的设计可以为灵活的计费提供原始数据。根据这些计费数据,可以制定灵活的促销手段。随着彩信的普及,邮件系统与彩信会逐渐融合。
8、其它的扩展平台,如防病毒网关、反垃圾网关、反黄网关都可以灵活对接。7 应用层二次开发、部署简单方便。邮件系统的生命力来自客户的需求,只有不断满足客户需求,推陈出新, 与时俱进,才会不断有新的用户加入。根据用户需求进行二次开发,这是必不可少的。二次开发必须简单,方便。金笛邮件通过统一的二次开发接口Jindi-Mailet 实现服务端应用的扩展。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 12 页 - - - - - - - - - 邮件系统架构上的演化和优劣比较大容量邮
9、件系统按照存储方式不同,大致可以分为2 类:1 统一存储邮件队列和邮件数据集中放在存储设备上。前端smtp 服务器多台, POP 服务器多台,随机选择一台smtp 服务器或者POP 服务器(这个过程一般采用DNS 轮询方式完成) 。选定某台服务器后,与该服务器建立连接,通过认证系统确认用户身份后,发送或者接收邮件数据。因为是统一存储,数据都是放在磁盘阵列上,通过NFS 方式挂在每台服务器上。不论是通过哪台功能服务器,都可以完成邮件收发。用户对 Webmail 的请求和smtp/pop3 类似,也是通过多台机器随机选取实现负载分布。2 分布式存储邮 件 数 据 分 布 在 每 一 台 服 务 器
10、 上, 每 台 服 务 器 都 提 供 完 整 的 邮 件 服 务 :smtp/pop3/imap/webmail/ 数据库。用户请求过来之后,首先查询目录服务器,验证用户身份,然后找到对应的服务器,建立连接,收取或者发送邮件。这种方式最大的优点是用户数量和邮件服务器数量可以保持线性增长。每台服务器支持 10 万邮箱,当一台服务器用户已达这个数字时,启用另外一台。可以通过管理程序在不同服务器直接迁移用户。动态管理服务器。从早期 UNIX 几十用户的简单邮件系统,到现在几百万、 上千万邮件系统,中间经历很多变化。不妨把这些梳理一下,比较邮件系统各种技术的优劣。1 一机一域、一机多域(虚拟域)一机
11、一域代表用户是企业用户。一台服务器作为邮件服务器。一机多域象新网、万网,给很多企业提供邮箱。所有的服务,如smtp,pop3,imap 都在一台服务器上,对方邮件服务器通过查询DNS 即可唯一锁定收件方服务IP,直接投递过去。这种单机邮件系统,由于受cpu、内存、硬盘的制约,用户最多一般不超过10 万用户。考虑可靠性,一般采用HA,将用户数据存放磁盘阵列上,正常只有一台服务器工作,异常时自动切换到另外一台。对于一般的企业用户,这种单机邮件系统已经够用。但对于大型邮件系统,这种单机系统显然无法满足。2 多机一域,功能分割,集中存储。DNS : mx 10.0.0.1 mx 10.0.0.2 mx
12、 10.0.0.3 mx 10.0.0.4 0.0.1 0.0.2 0.0.3名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 12 页 - - - - - - - - - 邮件服务器smtp、pop3、imap、webmail 服务分布在不同的服务器上,通过NFS 统一访问同一存储区域。这种做法,实现一个简单功能分布,使每一台服务器功能单一,几台服务器各司其职,处理能力大大增强。这种简单的功能分散,实现起来比较简单,只要在不同的服务器其上部署相关服务即可,将存储服务器通过
13、NFS mount 到每一个服务器上,然后在DNS 中做相关配置。当用户增大到一定数量,并发量会比较大,单台smtp 可以到 256 并发量,最多不会超过 1000 并发量。因此smtp 很容易成为瓶颈。3 多机一域,负载均衡,集中存储。当邮件用户并发量大时,smtp 很容易成为瓶颈,在系统中出现瓶颈的地方可以多增加几台服务器,然后更新DNS,通过 DNS查询解析不同的smtp 服务器地址,可以使请求平均分配到每一台服务器上。现在许多大容量邮件系统都脱胎于此,特点是部署容易,简单易行。 缺点是当访问量增大后,数据访问全部通过NFS,也很容易出现磁盘IO 瓶颈。4 多机一域,功能分布,存储分布。
14、该系统前端 (front-end) 是一个邮件交换器和目录服务器LDAP,后端是多台独立的存储服务器, 通过管理中心调度,将存储服务器通过NFS 挂在相应的smtp 服务器或者pop 服务上。在目录服务器上,会保存用户名、密码、smtpserver、popserver、storeserver 等信息,当用户请求过来是,先查询LDAP ,如果是收信,找到该用户对应的smtp, 通过直接路由方式连接 smtpserver,发信;如果是收信,找到对应的pop,连接 popserver 下载邮件。Smtp1 imap Pop3 Pop3 Smtp2 DNS: MX 10 smtp1 MX 10 smt
15、p2 Smtp1 10.1.1.1 Smtp2 10.1.1.2 Pop3 10.1.1.3 Pop3 10.1.1.4 Imap 10.1.1.5 N F S Smtp Pop3 imap Webmail DNS: MX smtp Smtp 10.1.1.10 Pop3 10.1.1.20 Imap 10.1.1.30 Web 10.1.1.40 NFS 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 12 页 - - - - - - - - - 该架构解决了服务器处理
16、瓶颈、数据存储IO 瓶颈。缺点是主要的任务分发通过邮件交换器完成。一但邮件交换器出问题,整个系统都将无法运行。5 多机一域,双层负载均衡,存储分布。为避免出现单点故障,将4 改良,增加多台邮件交换器和LDAP 服务器。邮件交换器通过 DNS 轮询实现负载均衡,LDAP 服务器做成双机热备,任何一台有故障,另一台接替。存储服务器通过DRBD 实现两两镜像,避免出现存储故障。这样一套系统,可以支持千万用户级。以2000 万用户为例, 4000 并发量测算,按照处理能力:Smtp:15 万用户 /台, pop: 30 万/台需要: smtp:133 台, pop:66 台,共计约199 台 PC服务
17、器。这个方案的优点是没有瓶颈,可以无限扩充, 缺点是需要很多存储服务器,资源上有些浪费。邮件交换器LDAP Smtp Smtp Smtp Smtp Pop3 wmail wmail 存储服务器名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 12 页 - - - - - - - - - 6 多机一域,邮件功能服务器。这种方案将以邮件服务器为单位,形成邮件服务器阵列。每台邮件服务器具有完整的邮件服务功能: smtp/pop3/imap/webmail 等。 用户认证信息集中存
18、放于LDAP 服务器,通过 LDAP查找用户所在邮件服务器。系统管理通过集中管控界面可以控制用户数据在服务器之间进行移动、复制、 删除。 邮件服务器进行两两互备。设置独立的过滤服务器,主要过滤病毒、 垃圾邮件和黄色图片。过滤服务器与邮件服务器之间通过socket 通讯,所有处理在内存完成,大大加快了处理速度。该系统有如下特点:(1)这种方案系统造价比较低。以每台服务15 万用户计算, 100 台服务器可以承载 1500 万用户。 100 台服务器大约200 万 300 万人民币左右。(2)结构简单,布置方便,容易维护。(3)用户容量与服务器数量保持线性增长,扩容只需要增加服务器即可。(4)帐户
19、在服务器直接动态可调,可迁移。(5)没有瓶颈,应付突发事件的能力强。(6)小面积的故障,不会影响整理系统。基于以上优点,我们推荐优先考虑此方案。邮件交换器LDAP Smtp Smtp Smtp Smtp Pop3 wmail wmail 存 储 服务器邮件交换器LDAP DNS:MX 10 mailchanger mailchanger IN A 10.1.1.10 mailchanger IN A 101.1.20 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 12
20、页 - - - - - - - - - 功能设计功能上我们遵循如下设计理念:1 集中管控。管理一个大型邮件系统,就象管理一台服务器那样简单。在单一管理界面下,通过 web浏览器即可监控任何环节,完成大部分操作。2 自动化、智能化。通过自动装置,如SMS 监控系统流量、内存、进程、磁盘空间等,设定报警阀值,超过阀值就会自动报警,防范于未然。3 最简化、最优化。用简单办法完成简单的事情。简单意味着效率、稳定、可靠。1主要功能:基本功能:Smtp,pop3,imap,webmail 增值模块:SMS, MMS , NETFile , Photo, largeFile, Schedule,AntiSP
21、AM ,Anti Virus, Anti-pronography, 可选模块:语音邮件、视频邮件、邮件传真服务2功能清单:系统管理员域管理员普通用户(见263 需求)1统计、审计功能:域用户管理认证登录 WebMail 2监控功能:邮件广播用户 session信息初始化邮件交换器LDAP Smtp Pop3 Imap wmail Smtp Pop3 Imap wmail Smtp Pop3 Imap wmail 过滤服务器:病毒、垃圾邮彩信网关短信网关邮件交换器LDAP DNS:MX 10 mailchanger mailchanger IN A 10.1.1.10 mailchanger I
22、N A 101.1.20 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 12 页 - - - - - - - - - 3服务器管理:远程开机、关机、启动服务、停止服务域级过滤规则设定显示首页4域管理:添加、变更、转移、删除域级黑名单保存图标位置5过滤服务器管理用户邮箱大小、 附件大小、 邮件大小控制邮件索引显示6DNS 管理功能服务定制:sms/防病毒等。邮件移动邮件排序显示页码回复信件转发信件删除信件永久删除信件显示信件原文显示邮件内容加入到地址本加入到拒收列表保存邮
23、件pop 取信文件夹显示文件夹删除文件夹添加文件夹重命名查找邮件发邮件页面显示立即发送邮件定时发送邮件保存草稿发送短信邮件添加附件删除附件个人地址本显示团体地址本显示添加个人地址本删除个人地址本修改个人地址本添加团体地址本删除团体地址本修改团体地址本地址本排序导出地址本导入地址本名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 12 页 - - - - - - - - - 显示自动转发修改自动转发显示自动回复修改自动回复显示签名档删除签名档增加签名档修改签名档显示 pop
24、收信设置pop 收信设置修改pop 收信设置增加pop 收信设置删除修改密码显示参数设置参数设置修改显示多风格设置多风格设置修改显示反垃圾级别设置反垃圾级别设置显示杀毒状态修改杀毒状态显示过滤设置邮件过滤设置添加邮件过滤设置修改邮件过滤设置删除显示拒收设置拒收设置修改外挂一次认证session 维护进程3后端统计统计类别统计项目描述负载情况5 分钟采样一次, 自动绘制统计图CPU 使用情况User,system,nice and idel 内存Totoal ,used,free 交换分区Used ,free,cached,shared硬盘Total ,used,free, inode系统资源网
25、络状况收到字节数,发送字节数邮件总量统计邮件数量,总流量统计每域、每用户收发邮件总量和字节数。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 12 页 - - - - - - - - - 投递失败统计统计投递失败的记录按照每域、每用户统计隔离邮件统计邮件感染病毒,或者认定为垃圾邮件的按照每域、每用户统计短信统计短信发送数统计按照每域、每用户统计4后端服务器管控功能项功能描述添加向集群中添加一台服务器除去从集群中拿掉一台服务器重启远程重启服务器服务器节点远程管理关机远程关机
26、启动远程启动某服务器服务进程服务远程管理停止远程停止服务器进程监控、报警设定监控项目,过载报警发送 SMS 到管理员手机负载均衡管理LVS, RR-DNS, LDAP 负载均衡远程调控Tomcat 集群管理添加节点、删除、更新管理 webmail 服务器Session服务器管理集中管理用户session 说明263 多年的邮件系统运营经验,是一笔宝贵财富。只有经历过时间考验的邮件系统,才是好的系统。 263 有很多地方,值得我们学习,消化。由于我们在大容量邮件系统方面,并没有太多的实战经验 (也没有机会) ,方案中会有许多错误之处,还希望 263 的技术专家们指正。附件金笛邮件网关的技术指标:
27、金笛邮件网关是一款反垃圾、反病毒的邮件网关软件,部署在、等邮件服务器的前端,为邮件系统提供垃圾邮件过滤和病毒过滤功能。金笛邮件网关是春笛公司多年的技术结晶,综合运用动态黑名单、静态黑名单、阻断、 反向解析、邮件打分、 特征库、国际反垃圾协作网等技术手段,垃圾邮件的识别率高达。病毒邮件的识别率也在以上,可以查杀多种病毒,对于目前比较流行的邮件病毒,有的免疫力。春笛公司与多家知名防毒厂商合作,支持病毒特征库定时在线升级,保证升级频率一周次以上。金笛邮件网关设计成傻瓜化、智能化, 不需要复杂的配置,最大程度降低学习和维护的成本。名师资料总结 - - -精品资料欢迎下载 - - - - - - - -
28、 - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 12 页 - - - - - - - - - 一、防毒功能特点采用先进的技术架构,绝大部分操作在内存处理,峰值处理能力为 万封小时,比普通的反垃圾邮件网关快 倍以上。彻底查杀隐藏在等压缩文件中的病毒,深度可达 层。发现病毒邮件后,金笛邮件网关可以根据系统设置决定是否通知发信人(),收信人(),管理员()中的一位或者多位报警通知邮件采用中英文种提示,用户也可以自己定制提示信息。病毒特征库的升级频率可以从 分钟 周可调,每次升级都有详细的日志,自动发送到管理员的邮箱 日志可以设定大小,自动回滚使用
29、。金笛邮件网关内置的杀毒引擎支持多线程(最多 线程),支持 层目录深度搜索扫描,支持防病毒系统自检功能,开启自检功能后,防毒系统每隔小时会自检一次。支持病毒邮件短信报警通知功能。病毒特征库升级通过由升级服务进程自动完成,升级时通过轮寻,连接最快的升级服务器 次升级失败时,系统自动重试次。二、防垃圾邮件功能特点:层垃圾邮件防护第一层:网络层采用 阻断和动态黑名单在网络层,金笛邮件网关可以设置屏蔽任何一个,一个网段;也可以屏蔽任何一个发信人,一个域。动态黑名单采用黑洞技术,可以实时获取反垃圾邮件列表。金笛邮件网关支持由 国 际 反 垃 圾 邮 件 组 织 提 供 的 实 时 黑 名 单,系 统 预
30、 设 ,两个黑名单列表。第二层:协议会话格式检查, 反向解析在这一层,金笛邮件网关在协议的每个阶段进行判断:,对于不符合规范的邮件,都作为垃圾邮件处理对于不能正确反向解析的,也作为垃圾邮件处理。第三层:动态白名单如果某一个发信人发送的邮件均为正常邮件,积累到一定数量后,系统自动将发信人加入白名单列表。第四层:基于算法的内容过滤通过内置的贝叶斯()库对进入邮件系统的每封邮件的头部和正文进行分析,得出阀值,阀值低于,则为正常邮件;如果超过 ,金笛邮件网关判定为垃圾邮件,会在主题增加字样;如果阀值超过,系统会自动归置垃圾邮件;阀值超过,系统会自动删除对于主题带有标记的邮件,用户可以通过客户端软件或者设置过滤规则转存到一个文件夹,定期检查,确认无误后删除。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 12 页 - - - - - - - - - 详细介绍: :名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 12 页 - - - - - - - - -