您如何构建和部署可扩展的Web服务基础架构?

时间:2009-07-28 23:39:50

标签: language-agnostic

我有一个客户问这个要求,之前没有这样做过,他的网络服务基础设施是什么意思?

4 个答案:

答案 0 :(得分:2)

该短语涵盖了各种各样的技术方面。您的基础架构是构成运行Web业务或应用程序(包括硬件)的系统的所有组件。因此,它指的是您的服务器和网络设置,您的带宽和连接进出,数据库设置,备份解决方案,Web服务器软件,代码部署方法以及用于成功运行Web业务的任何其他信息,具有高可靠性,正常运行时间和低错误和错误事件。

为了使这样的东西可扩展,您必须将所有这些组件组合在一起,以便随着时间的推移顺利运行。可扩展的架构应该足够灵活,以处理突然的流量高峰。

用于促进可扩展性的方法包括复制数据库,群集Web服务器,负载平衡器,RAID磁盘条带化和网络切换。您的代码必须考虑到这一点。

这是一项艰难的服务。

答案 1 :(得分:0)

首先想到的是 Enterprise service bus

他可能意味着运行许多复杂的交互式Web服务的某种“基础设施”。

答案 2 :(得分:0)

通过可以在Web应用程序服务器的多个实例上运行的Web服务调用的企业应用程序,或运行非常好的多线程并扩展到多个CPU的单个实例,或部署所有不同Web服务的负载通常通过消息队列相互交谈,直到你有一些东西一直打破并需要一大群人来维护。不妨投入大量虚拟机来拥有虚拟化,可扩展,可重新部署的Web服务基础架构(即Linux VM中的tomcats或jbosses已准备好根据需要进行部署,每个VM一个应用程序)。

然后是物理可扩展性。是否有足够的CPU功率满足您的需求?物理节点之间是否有足够的带宽来在机器之间发送所有这些消息和SOAP事务?有足够的存储空间吗?存储是否可用于快速,低延迟的互连?数据库是否能够很好地提供CPU功率,带宽,不会滞后的光盘系统。有数据库备份吗?当一台机器无法处理特定功能的负载时 - 那么您需要负载平衡器,尽管这些仍然适用于冗余和软件更新,同时保持实时。

是否有网站备份?或者您是否在全球扩展 - 全球将有多个数据中心?您是否拥有每个数据中心的互联网冗余链接?网站发生故障时会发生什么?如何在站点之间复制数据,减少站点间通信,以及这些数据如何缓存和推动工作?

依此类推。但是您的客户可能只是想要一个可以进行负载平衡而不会崩溃的Web服务(即,两个或多个实例可以共享数据/会话/等,实际上取决于应用程序),具有简单的数据库配置和备份。易于部署是可取的,因此使安装变得简单。甚至为他们提供Linux VM以添加到他们的VM基础架构。与他们的系统管理员交谈,了解他们目前的工作情况。

答案 3 :(得分:0)

这句话经常被用作销售某些部分所谓“可扩展的网络服务基础架构”的公司的营销术语。

尝试从客户端确切地了解他们需要什么。他们有现有的网络服务吗?他们是否已经决定将其作为Web服务公开的业务逻辑?他们是否有客户要求能够通过Web服务访问您客户的系统?

您的客户是否知道网络服务是什么?