网站规模大了以后有哪些技术方面的问题需要考虑

KKK777
  • 527

如题,都有哪些技术,分别用于解决什么问题。

比如消息队列是用于解决什么问题的,在segmemtfault这样的网站什么地方会用到这个技术?

欢迎大家回答和补充

回复
阅读 3.9k
3 个回答

姑且按用户访问量来衡量一个网站的大小。

  1. 用户量小的时候,数据库服务器,应用程序服务器,都可以在一台服务器上。

  2. 用户量增加后

    • 分服务器
    • 程序服务与数据库服务器之间加缓存
    • 前端静态文件加静态文件服务器
    • 优化数据库访问
    • 优化前端代码
  3. 用户再次增加
    • 数据库服务器主从,读写分离
    • 数据分布式存储,数据同步
    • CDN

消息队列主要是为了操作比较耗时的操作,如发送邮件之类的,如果将这个操作直接放在前端的程序逻辑里面,当发送邮件的操作多的时候就比较的慢了,这个时候用户长时间得不到网站请求结果,就单从用户体验上来说就不是太好.还有一般的问答网站(如本网站),当有一个回复的时候,可能会对上面主题问题或者上面的回复都发送一个邮件通知信息.这个如果放在网站逻辑里面,可想而知得用多长时间,而如果将这些放到"消息队列",然后再交给后端的程序专门进行这些操作,逻辑架构上就将两块不同的应用分开了,也没有影响到用户的正常操作.是个不错的应用场合.

《构建高性能web站点》

宣传栏