大型应用程序如何处理网络可扩展性



所以,基本上我想要的是对大型应用程序如何处理/创建其用户数据库和网络连接的全面解释?也许您自己创建了一个大型应用程序?他们使用插座还是其他技术?GZIP?JSON?

我之所以这么问,是因为我目前正在编写一个应用程序,该应用程序需要服务器端的用户数据库,当然也需要客户端的某种套接字连接或HTTPRequest。我知道很多人会使用这个应用程序,我只是不知道如何使它可扩展。。

我认为这个问题会帮助更多的人,而不仅仅是我

非常感谢您的帮助!

//Alexander

除了使用伸缩性好的web服务器(如果配置得当,apache做得很好)之外,还有一些技术可以帮助您快速处理尽可能多的客户端。

为静态内容使用单独的服务器(即nginx)。这是一个特殊的服务器,专门提供尽可能快的静态内容。用于访问图像、js文件、css文件等……任何不会随一个web请求更改的内容。

使用memcached来限制数据库调用。当数据库调用成为瓶颈时,这将有所帮助(如果您在每个web请求上多次ping数据库(动态内容),则可能会很快发生)。这本质上是一个非常快速的内存(读取:临时)位置,用于放置变化不太快的数据。您必须对代码进行修改,以首先检查memcached,查看信息是否可用(即未过期…使用memcached时,您设置了一个过时的时间来删除字段),如果是,则使用这些数据而不是ping数据库。如果数据不可用,则ping数据库并将数据放入memcached中,并为下一个请求超时。

这个博客也有很好的信息
其他人也提到这本书是一个很好的整体位置,以获得一些见解。

最新更新