有关三个九的可用性的信息

时间:2011-10-25 05:55:15

标签: c# .net wcf web-services oracle

我将开发高可用的WCF服务,该服务应该为99.9%的正常运行时间服务客户端。你可能猜测我需要尽可能多的信息。 所以我在这里知道,在stackoverflow上,很多专业人士帮助像我这样的新手:)所以如果你指出我在制作.NET WCF服务方面有很好的经验,那将对我有好处。 此服务将与许多地理位置远程数据库一起使用,并将为客户提供数据。 任何文章,链接,博客/论坛帖子和个人记忆将非常感激。 提前谢谢!

3 个答案:

答案 0 :(得分:2)

没有一个相关的方面,只有几个......只需考虑/记住一些要点:

  • 冗余
    无论是并行运行服务的多台机器,还是一些基于DNS的机制来帮助当一台机器停机/无法访问时...不同的机器不同的物理位置(数据中心),不同的主干连接( ISP)...无论是冗余的DB后端(如Oracle RAC设置)等。

  • 安全
    这必须从一开始就是你设计的一部分......你需要服务本身的强大安全性(基本的东西,如彻底检查所有传入的数据)和运行时环境(如防火墙等)。

  • 备份
    这个部分必须经过深思熟虑并经过最全面的测试......有不同的技术,例如你的备份和运行速度等等有所不同 - 有时你需要结合多种技术......再次:测试你的最坏情况

  • 监测
    为了确保发生了什么并尽早做出反应,你需要一个良好的监控实施......这从服务器的内部开始到结束......它不仅要检查可用性,还要检查负载等等。可配置报警......它还需要允许历史...这反过来又为您提供足够的数据来了解高峰时间和/或何时添加新机器等。

  • 测试
    使用任何可用的工具检查您的服务真的很难......无论是内存分析器,还是使用realisitc场景进行负载测试,即使是极端的... ...

  • 可伸缩性
    无状态服务在可扩展性方面通常更好......

  • 计划
    非常重要,通常被遗忘或根据我的经验不做更新...制定部署,推出/更新,灾难恢复等计划。最重要的是:彻底测试并记录下来!

答案 1 :(得分:0)

我建议在负载均衡器后面安装多台服务器。

此外,您可能需要另一个地理位置删除的远程位置以确保正常运行时间。

答案 2 :(得分:-1)

  

高可用性WCF服务,应该为客户端提供99.9%的正常运行时间

Hahahhaahaha。严重。

99.9是“机架中的普通计算机”,而不是“高可用性”。请数学吧。 99.9%的可用性是每年3.65天的停机时间。如果你有这样的话,我会称之为正常的电脑蹩脚 - 包括维修。

此级别的可用性是“在24小时内与技术人员在现场购买服务器以防万一发生故障”。