C# 关于“三个9”可用性的信息
我将开发高可用的WCF服务,该服务应能以99.9%的正常运行时间为客户服务。你可能猜到了,我需要尽可能多的信息。 所以我知道在这里,在stackoverflow上,很多专业人士都在帮助像我这样的新手:)所以如果你能告诉我在制作.NET WCF服务方面的良好经验,那对我来说将是非常好的。 此服务将与许多地理位置远程的数据库一起工作,并将从这些数据库向客户端提供数据。 任何文章、链接、博客/论坛帖子和个人记忆都将不胜感激。C# 关于“三个9”可用性的信息,c#,.net,wcf,web-services,oracle,C#,.net,Wcf,Web Services,Oracle,我将开发高可用的WCF服务,该服务应能以99.9%的正常运行时间为客户服务。你可能猜到了,我需要尽可能多的信息。 所以我知道在这里,在stackoverflow上,很多专业人士都在帮助像我这样的新手:)所以如果你能告诉我在制作.NET WCF服务方面的良好经验,那对我来说将是非常好的。 此服务将与许多地理位置远程的数据库一起工作,并将从这些数据库向客户端提供数据。 任何文章、链接、博客/论坛帖子和个人记忆都将不胜感激。 提前谢谢 我建议在负载平衡器后面有多台服务器 此外,您可能需要另一个地理位置
提前谢谢 我建议在负载平衡器后面有多台服务器 此外,您可能需要另一个地理位置已删除的远程位置来确保正常运行时间 高可用WCF服务,应以99.9%的正常运行时间为客户端提供服务 哈哈哈。真的 99.9是“机架中的普通计算机”,而不是“高可用性”。请做数学题。99.9%的可用性是每年3.65天的停机时间。如果你有一台普通的电脑,包括修理,我会说它是垃圾
此可用性级别是“在24小时内由技术人员在现场购买dell服务器,以防出现故障”。没有一个相关方面,但有几个相关方面。。。只需考虑/记住以下几点:
- 冗余
无论是多台机器并行运行服务,还是当一台机器停机/无法访问时,基于DNS的机制提供帮助。。。无论是不同机器的不同物理位置(数据中心),还是不同的主干连接(ISP)。。。无论是冗余数据库后端(如Oracle RAC设置)等 - 安全性
这必须从一开始就是你设计的一部分。。。您需要在服务本身和运行时环境(如防火墙等)中提供强大的安全性(如彻底检查所有传入数据) - 备份
这一部分必须经过充分的思考和测试。。。有不同的技术,例如在备份和运行速度等方面有所不同-有时您需要结合多LPLE技术。。。再次:测试您的最坏情况场景 - 监测
为了确定发生了什么并尽早做出反应,您需要一个良好的监控实施。。。这从熨斗向上开始,在服务内部结束。。。它不仅应该检查可用性,还应该检查负载等和可配置的报警。。。它也需要考虑到历史。。。这反过来给你足够的数据,让你知道什么时候是高峰时间和/或什么时候添加新机器等 - 测试
检查您的服务与任何可用的工具真的很难。。。无论是内存分析器,还是现实场景的负载测试,甚至是极端场景 - 可伸缩性
无状态服务通常在可伸缩性方面更好 - 计划
非常重要,在我的经验中通常被遗忘或不被遗忘。。。制定部署、推出/更新、desaster恢复等计划,最重要的是:彻底测试并记录这些计划