我计划在应用程序层和数据库层之间建立另一层以减少数据库访问。WCF,Web服务或休息
有200个应用程序服务器和一个巨型数据库服务器。
我不想要200服务器来查询数据库服务器。因此计划在后面建立另一个层并缓存数据,例如缓存场。此层中的服务器将定期查询数据库并在服务层中缓存结果,客户端将查询WCF服务器。
我不是在谈论分布式缓存,我已经有了。
我不熟悉WCF,这是否是一个很好的选择来实现此目的?
你会推荐REST吗?或网络服务?
我计划在应用程序层和数据库层之间建立另一层以减少数据库访问。WCF,Web服务或休息
有200个应用程序服务器和一个巨型数据库服务器。
我不想要200服务器来查询数据库服务器。因此计划在后面建立另一个层并缓存数据,例如缓存场。此层中的服务器将定期查询数据库并在服务层中缓存结果,客户端将查询WCF服务器。
我不是在谈论分布式缓存,我已经有了。
我不熟悉WCF,这是否是一个很好的选择来实现此目的?
你会推荐REST吗?或网络服务?
WCF 是是Microsoft堆栈上Web(和其他)服务的新标准,它还支持构建基于SOAP和基于REST的服务。
它也非常适合处理内部(公司内部局域网/内联网 - 使用快速高效的TCP/IP通信)以及面向外部的服务。它与Windows Azure和云接口,如果你需要支持的话。它可与任何SOAP或REST客户端交互操作,具有高度可配置性,高度可扩展性,并且可以提供统一的编程模型。它可以与消息队列进行交互,如果你需要的话 - 都具有相同的编程经验。
基于WCF,您可以轻松定义数据库模型并将其作为基于REST的OData提供 - 您可以在几分钟内将数据库置于Web上(如果您喜欢冒险并希望这样做。 ......但至少可以!)。
所以:是的! WCF肯定是要走的路!
至于资源:有MSDN WCF Developer Center它包含了从初学者的教程到文章和示例代码的所有内容。
此外,检查出的screen cast library up on MSDN对一些信息的真正有用的,10-15分钟的块在几乎与WCF的任何话题,你可能会感兴趣。
标准的SOAP Web服务就像使用WCF时一样简单,并且同时控制服务器和客户端。
您需要在服务器端做的所有事情都是定义您的操作合同和数据合同,客户端将能够自动构建用于访问Web服务的代理类。
定义操作和数据合同时需要学习一些东西,但一旦完成,客户端可以非常容易地在设计时戳服务,访问生成的WSDL并自动生成代理类以访问新的操作与他们的数据合同。
我就很少使用REST作为主要互动应用服务器和数据库服务器之间的机制如果交互的两端由您控制并且位于同一个数据中心并且可以同步更新,那么创建RESTful系统所需的额外工作可能会被浪费。
就我个人而言,我会更倾向于看消息类型系统。像nServiceBus一样。
感谢您的回答。 – DarthVader 2010-12-09 20:16:24
没有问题。如果你正在考虑走这条道路,请告诉我,我可以提供一些帮助,以及避免 – MStodd 2010-12-09 20:18:51
我不认为易于做故意的事情吗?我不确定这是最好的比喻。 ; 0 – kenny 2010-12-09 20:55:18