在我职业生涯的12年以上的时间里,我还没有克服这个障碍,我怀疑这个答案根本不容易,甚至是不可能的,所以我在这里问大家。
假设你遇到了极其严重的问题,只能通过从一个平台转移到另一个平台来解决 – 无论是在select多年前select的平台时犯的错误,还是仅仅超出了系统最初devise的平台。 你一定知道,随着时间的推移,这种残余将永远意味着要testing所有肯定会导致技术支持的东西几乎是不可能的 – 我们都知道这会导致客户stream失。 不是说客户已经不抱怨已经存在的严重问题!
到目前为止,我发现的最好的方法是制定一个转换计划,在几个客户端上testing它,在十几个客户端上testing它,在一百个客户端上testing它,然后最终完成所有的转换祈求你已经弄清楚了所有的错误,并且动物副产品不会以最壮观的方式撞上通风系统。
但是,这并不意味着它不会。
所以说,你正在从Exchange到Exim(甚至只是Sendmail到Exim)。 你如何处理?
这是一个棘手的问题,根据具体情况而有所不同。 关键问题是:
使用DNS对你有利。 设置这两个服务来响应相同的DNS名称,但DNS指向一个或另一个(或两者作为循环)。 使用Linux和Windows上的本地主机文件覆盖DNS,并能够在展开之前和之后validation设置。 这也使得在部署之后更容易进行故障排除。 只需将本地主机文件更改为旧服务器,看看有问题的机器上是否还有问题。 设置TTL的低,以允许快速回退。 像Cisco的GSS这样的负载均衡器可以用于此。 我可以使用iptables从池中取出特定的负载平衡主机。
对于Apache来说,使用反向代理是一个很好的方式来逐个迁移网站。 对于其他人,使用DNS,代理或可能的iptables框给你如何控制转换的选项。