关于三个9可用性的信息

本文关键字:信息 可用性 于三个 | 更新日期: 2023-09-27 18:12:31

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

关于三个9可用性的信息

不是一个相关的方面,而是几个…有几点需要考虑/记住:

  • 冗余
    可能是多台机器并行运行服务,可能是一些基于dns的机制,以帮助当一台机器停机/不可达…无论是不同机器的不同物理位置(数据中心),还是不同的主干连接(ISP)……可以是冗余的DB后端(如Oracle RAC设置)等

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

  • 备份
    这部分必须经过深思熟虑,并进行最大程度的测试。不同的技术会有所不同,比如你的备份和运行速度等等——有时你需要结合多种技术……再次:测试你最坏的情况

  • 监测
    为了确定发生了什么并尽早做出反应,你需要一个良好的监控实现……这是从熨斗开始的,一直到服务结束……它不仅应该检查可用性,还应该检查负载等,以及可配置的警报……它也需要考虑到历史……这反过来又给你足够的数据,知道什么时候是高峰时间和/或什么时候增加新的机器等。

  • 测试
    用任何可用的工具检查你的服务真的很难…无论是内存分析器,还是真实场景的负载测试,甚至是极端场景……

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

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

我建议在负载均衡器后面有多个服务器。

此外,您可能需要另一个地理位置上的远程位置来确保这种正常运行时间。

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

Hahahhaahaha。认真。

99.9是"机架中的普通计算机",而不是"高可用性"。请做数学题。99.9%的可用性是每年3.65天的停机时间。如果你有这样的电脑,包括维修在内,我会说一台普通的电脑很烂。

这个级别的可用性是"如果出现故障,在24小时内从戴尔购买一台服务器,并有技术人员在场"。