异地分布式部署方案

应用环境

异地部署方案适合以下情况的企业:

1)公司有不同分支机构或较小的分散站点与公司总部的网络连接通常是低带宽、高滞后或不可靠的。

2)公司总部网络无法处理中心位置的服务流量。

3)分支机构有自己的服务器、企业网络、域控制器和系统管理员,包含数目不定的用户。

4)用户要求有更快的邮箱访问速度、更佳的用户体验和可用性。

在异地部署方案中,操作系统和邮件服务器都放在本地。

网络拓扑图

不同地区的服务器使用相同的域名,不同的服务器之间的用户名不允许相同。下图为三地的异地分布式部署图:

工作原理

1)不同地域的用户只需通过当地部署邮件服务器进行邮件的收发,减少由于通信线路引起的异地用通过集中服务器收发故障问题。

2)通过分布式邮件系统的异地投递功能,增加投递邮件的成功率。由于近年来垃圾邮件不断泛滥,很多邮件服务器会采用封锁某个地区的IP方式,来阻挡垃圾邮件。采用分布式系统,可当某地的服务器IP被封锁后,系统自动的转用其他的服务器来进行投递。

3)网络设置:

对域名进行解析;

分别针对三个地方的邮件服务器添加MX记录和A记录。

分布式处理要点

1. 自动同步用户信息

不同服务器上的用户信息自动定期的同步到群内所有的其他服务器上,以保证其他服务器能及时正确的识别该服务器的用户资料。

2. 自动路由异地邮件

本地服务器通过群的用户列表,以判断邮件接收人所在的服务器,然后进行正确的投递。

3. 自动转投邮件

本地服务器根据设定,自动把本服务器投递不成功的邮件转由群内其他服务器进行再次投递。

设置方法

1. DNS设置

需要把域名的MX记录同时指向各地区的邮件服务器。

假如公司域名为abc.com,公司有三个分支机构,分别在深圳,香港,台湾,各自的邮件服务器主机域名为 mail-dl.abc.com,mail-hk.abc.com, mail-tw.abc.com。

则abc.com 的 MX记录应该设置如下:

1)abc.com

2)IN MX 10 mail-dl.abc.com

3)IN MX 10 mail-kh.abc.com

4)IN MX 10 mail-tw.abc.com

2. 分布式服务设置

通过系统设置-》分布式服务进入系统的分布式服务设置,如图:

其中字段意义如下:

1)本节点IP,指本服务器的公网IP地址,如果你的服务器是通过防火墙映射到公网的,则需要设定正确的公网IP地址。

2)服务端口,指本服务器分布式服务端口。此端口用于接收其他节点的用户信息或邮件。

3)用户名、密码,用于其他节点服务器登录本服务器的用户名,密码。

4)可访问IP,指本服务器只允许指定范围的其他分布式服务器访问。

5)启用分布式服务,指定是否启动分布式服务。

6)允许通过分布式服务转发邮件,指定当本服务器发送到其他域的邮件投递失败后,是否转由分布式群内的其他服务器继续投递。

7)客户端最大线程数,指定本服务器作为分布式服务客户端连接到其他节点的最大线程数。

8)启用分布式客户端,指定是否启用分布式客户端功能,该功能用户把本地用户信息和邮件同步到其他节点。

3. 节点设置

通过节点管理,可以添加分布式群内的其他节点。

节点列表:

节点配置:

其中字段意义如下:

1)节点IP,指节点的IP地址。

2)节点端口,指节点分布式服务端口。

3)节点优先级,当邮件需要转由其他节点投递时,则会先转给优先级较高的节点进行投递。

4)节点用户名,密码,指节点分布式服务的登录用户名密码。

5)是否启用该节点,指定该节点是否有效。

异地分布式部署方案

时间: 2024-11-04 21:17:59

异地分布式部署方案的相关文章

Memcached常规应用与分布式部署方案

1.Memcached常规应用 $mc = new Memcache(); $mc->conncet('127.0.0.1', 11211); $sql = sprintf("SELECT * FROM users WHERE uid = %d", $_GET['uid']); $key = md5($sql); //检测结果是否已经被缓存 if( ! $data = $mc->get($key)){ //没有缓存则直接从数据库读取 mysql_conncet('local

Zabbix监控和分布式部署实施方案

最近在研究Zabbix监控,由于机房分布在多个城市,因此采用zabbix proxy做为监控方案,在每 个节点部署zabbix proxy,由zabbix proxy收集agentd数据,然后将采集到的数据主动推送给zabbix server,zabbix server将数据存入数据库,并在WEB前端显示. 1.Zabbix主要功能和优劣势说明 1.1 Zabbix主要功能: 1)Application monitoring 应用监控 数据库/SSH/Apache/Nginx等应用程序的监控.

ActiveMQ实现负载均衡+高可用部署方案

一.架构和技术介绍 1.简介 ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线.完全支持JMS1.1和J2EE 1.4规范的JMS Provider实现 2.activemq的特性 1. 多种语言和协议编写客户端.语言: Java, C, C++, C#, Ruby, Perl, Python, PHP.应用协议: OpenWire,Stomp REST,WS Notification,XMPP,AMQP 2. 完全支持JMS1.1和J2EE 1.4规范 (持久化,XA消息

ActiveMQ实现负载均衡+高可用部署方案(转)

本文转自:http://www.open-open.com/lib/view/open1400126457817.html%20 一.架构和技术介绍 1.简介 ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线.完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现 2.activemq的特性 1. 多种语言和协议编写客户端.语言: Java, C, C++, C#, Ruby, Perl, Python, PHP.应用协议: OpenWire,Stomp

Apache Spark探秘:三种分布式部署方式比较

目前Apache Spark支持三种分布式部署方式,分别是standalone.spark on mesos和 spark on YARN,其中,第一种类似于MapReduce 1.0所采用的模式,内部实现了容错性和资源管理,后两种则是未来发展的趋势,部分容错性和资源管理交由统一的资源管理系统完成:让Spark运行在一个通用的资源管理系统之上,这样可以与其他计算框架,比如MapReduce,公用一个集群资源,最大的好处是降低运维成本和提高资源利用率(资源按需分配).本文将介绍这三种部署方式,并比

项目分布式部署那些事(1):ONS消息队列、基于Redis的Session共享,开源共享

因业务发展需要现在的系统不足以支撑现在的用户量,于是我们在一周之前着手项目的性能优化与分布式部署的相关动作. 概况 现在的系统是基于RabbitHub(一套开源的开发时框架)和Rabbit.WeiXin(开源的微信开发SDK)开发的一款微信应用类系统,主要业务是围绕当下流行的微信元素,如:微官网.微商城.微分销.营销活动.会员卡等. 关于RabbitHub详情请戳: .NET 平台下的插件化开发内核(Rabbit Kernel) RabbitHub开源情况及计划 关于Rabbit.WeiXin详

可扩容分布式session方案

分布式session有以下几种方案: 1. 基于nfs(net filesystem)的session共享 将共享服务器目录mount各服务器的本地session目录,session读写受共享服务器io限制,不能满足高并发. 2. 基于关系数据库的session共享 这种方案普遍使用.使用关系数据库存储session数据,对于mysql数据库,建议使用heap引擎. 这种方案性能取决于数据库的性能,在高并发下容易造成表锁(虽然可以采用行锁的存储引擎,性能会下降),并且需要自己实现session过

[转载]ActiveMQ实现负载均衡+高可用部署方案

转载于 http://www.open-open.com/lib/view/open1400126457817.html 一.架构和技术介绍 1.简介 ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线.完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现 2.activemq的特性 1. 多种语言和协议编写客户端.语言: Java, C, C++, C#, Ruby, Perl, Python, PHP.应用协议: OpenWire,Stomp RES

Spark的三种分布式部署

目前Apache Spark支持三种分布式部署方式: 分别是standalone.spark on mesos和 spark on YARN, 其中,第一种类似于MapReduce 1.0所采用的模式,内部实现了容错性和资源管理,后两种则是未来发展的趋势, 部分容错性和资源管理交由统一的资源管理系统完成:让Spark运行在一个通用的资源管理系统之上,这样可以与 其他计算框架,比如MapReduce,公用一个集群资源,最大的好处是降低运维成本和提高资源利用率(资源按需 分配).本文将介绍这三种部署