3

我有一个使用 .Net WCF、.net 4.0、SQL Server 2008 构建并托管在 Windows 服务中的同步服务。

以下是我们已经完成的一些自定义实现;

  1. 自定义数据库连接池,在应用程序启动时填充,并且还有一个清理线程贯穿应用程序的生命周期。

  2. 自定义会话,因为应用程序的目标不是部署在 IIS 上,并且使用了 BasicHTTPBinding,因此实现了自定义会话。因此,Cleaup 线程也会运行以清除非活动会话。

  3. 【特定表】缓存,数据库中有一个特定的表,以前命中频率很高,所以我们实现了一个自定义缓存,以避免对数据库的过多命中,这个缓存在应用程序启动时启动。

考虑到上述几点,请建议我关注;

  1. 这个应用程序适合部署在 IIS 上吗?(我认为部署在 IIS 上的应用程序仅在活动中保持活动状态,并在空闲时停止,因此缓存、池将丢失并重新初始化)

  2. Amazon EC2 是否适合这个;或者我应该注册 EC2 windows 实例?请简要介绍一下(我之前从未使用过ec2,也没有太多关于它的信息)

  3. 是否支持故障转移集群?

  4. 模拟账户有什么选择吗?

  5. 我也应该考虑 Windows Azure 怎么样?

问候

4

1 回答 1

1

这个应用程序适合部署在 IIS 上吗?

如果空闲超时是您避免使用 IIS 的原因,那么我会说重新考虑,因为您可以禁用它: 如何在 IIS7 中禁用应用程序池空闲超时?

如果它热身,你担心它已经在 IIS8.0 http://www.iis.net/learn/get-started/whats-new-in-iis-8/iis-80-application-initialization

甚至还有一个用于 IIS 7.5 http://www.iis.net/downloads/microsoft/application-initialization的“热身”模块

Amazon EC2 是否适合这个

您可以在 EC2 或 Azure 虚拟机上相当轻松地运行它。我不确定您所说的“Amazon EC2 适合这个;或者我应该注册 EC2 Windows 实例?”是什么意思,EC2 实例只是一个虚拟机,可以选择您想要的任何操作系统。

是否支持故障转移集群?

对于网络服务?您使用 Amazon Auto Scaling 和负载均衡器通过简单的 http 运行状况检查一次维护一定数量的服务器。 http://aws.amazon.com/autoscaling/

模拟账户有什么选择吗?

AWS 确实有一个免费套餐,它只是足够的资源来测试和学习。 http://aws.amazon.com/free/ 请注意,使用量是按小时计算的,例如您每月获得 750 个微实例小时,这意味着您可以运行 3 台服务器 250 小时。

我也应该考虑 Windows Azure 怎么样?

是的。它不像 AWS 那样灵活,并且缺少一些功能,但 Azure 应该拥有您的用例所需的一切,并且可能会稍微便宜一些,并且更容易为 Windows VM 配置。

于 2014-01-07T05:04:26.413 回答