101
leehon 2016-08-10 04:07:50 +08:00
看起来是不懂技术的在哗众取宠啊
|
102
binux 2016-08-10 04:29:15 +08:00
「公司有 50W 个客户 (可以理解成一台电脑)每个电脑需要在 5 秒内 访问一次公司网站」即使它们在同一秒访问网站,也不意味着这 50w 个连接并发会落到动态服务器上。它们可以在某个环节排队嘛,只要你的服务器能在 5 秒内处理完 50W 个请求而不是 1 秒 50W 。
|
103
izoabr 2016-08-10 07:55:37 +08:00 1
感觉是被架构给害了。
对了,还有一句,公司封官还是要讲规矩,按规矩来,不是什么人都能副总的,你得有能耐才能上级别,不然全是副总也不是事,还怎么招人发展啊以后。 说回来这个技术问题的话,在 1 万客户的时候就应该发现问题,然后去找问题的根源,做架构优化,实在无法优化的就做分流。 我猜这里面客户就算是有那么多请求每秒同时来,而且要求实时性较高,那趋同率也会很高,所以首先是不是考虑上 Cache 去解决一部分。从上到下的话,先 CDN 分发,解决一些静态请求重复的问题,过滤出要动态请求的再回源,到了源服务器如果请求还是很大,就分多个前端去处理,前端处可以考虑持久连接,后面数据部分能 cache 的就 cache 掉,省掉数据库的查询负担。如果还是很大,就做读写分离,分离出来之后看写的请求还多不多,如果还是很多那就别直接操作数据库,加中间层,让中间层去操作数据库。 如果中间层操作数据库还是压力很大,那就考虑数据优化了,比如非关系型。 如果以上都解决不了,估计就是 12306 那样的东西了,得实时扣票,还要解决冲突问题,那也好办,现在的 12306 已经给出了解决办法,虽然不是很完美。 不过真能到最后一步的,估计就不是这种 level 的人能接触到的问题了。 |
104
nnfish 2016-08-10 23:24:12 +08:00 via iPhone
赞同楼上朋友的解决思路
|