如题,都有哪些技术,分别用于解决什么问题。
比如消息队列是用于解决什么问题的,在segmemtfault这样的网站什么地方会用到这个技术?
欢迎大家回答和补充
姑且按用户访问量来衡量一个网站的大小。
用户量小的时候,数据库服务器,应用程序服务器,都可以在一台服务器上。
用户量增加后
- 分服务器
- 程序服务与数据库服务器之间加缓存
- 前端静态文件加静态文件服务器
- 优化数据库访问
- 优化前端代码
- 用户再次增加
- 数据库服务器主从,读写分离
- 数据分布式存储,数据同步
- CDN
《构建高性能web站点》
消息队列主要是为了操作比较耗时的操作,如发送邮件之类的,如果将这个操作直接放在前端的程序逻辑里面,当发送邮件的操作多的时候就比较的慢了,这个时候用户长时间得不到网站请求结果,就单从用户体验上来说就不是太好.还有一般的问答网站(如本网站),当有一个回复的时候,可能会对上面主题问题或者上面的回复都发送一个邮件通知信息.这个如果放在网站逻辑里面,可想而知得用多长时间,而如果将这些放到"消息队列",然后再交给后端的程序专门进行这些操作,逻辑架构上就将两块不同的应用分开了,也没有影响到用户的正常操作.是个不错的应用场合.