我们先定义这个服务器是‘一个运行操作系统的实体’吧、毕竟现在全是虚拟化,不太好计算到底用了多少物理服务器
因为全是web业务,所以相对来说掘金不是很复杂
web端是由3个8core16G的云服务器组成,前面接了4个负载均衡每个负载均衡绑定了一裤兜IP用来应对DDoS.
微服务层由4个16core32G的云服务器组成,同样,前面也有4个负载均衡
cronj (定时任务)2个4core 8g云服务器
数据库2个MySQL实例(4机),5个MongoDB实例(总计20机),14个Redis实例(14机).
中间件 zookeeper(6机),kafka(6机),ELK(3机).
大数据CDH全家桶(10机)
杂项 认证服务器,DNS,冷备份等(6机)
以上就是承载在线业务的所有机器了,不包含负载均衡等直接提供服务的云服务商实例,总计78个是如果极限压缩的话,比如数据库不弄的那么复杂,尽可能复用实例,砍掉大数据等供运营的组件,估计40以内实例就能完成一个这样的网站
也就是说,实现一个在中国排名500左右(世界大概3000排名左右)的社区网站,40台服务器差不多可以完成了(当然其他业务类型可能会更多也可能会少一些,不过一个社区类型的网站,应该大家都差不多)(1) 新闻等服务不复杂的普通网站,交互容易,以展示为主,所以即使PV很大,也不会需要很多机器。单台nginx服务器可以处理静态页面,可以达到几千甚至几万QPS(当然这只是一个理论值,考虑到页面大小和宽带等因素是达不到的)。
(2) 业务复杂的系统,如携程, 京东, 淘宝等。复杂的用户交互、存储、支付、第三方沟通等环节。再加上保证系统稳定性和支持容灾,将会成倍增加机器的需求。分析系统,对比业务复杂度,然后对比机器数量更有可比性。
此外,机器配置也有好有坏,新服务器的性能可能是旧机器的几倍甚至十倍。
当然,这里推荐的只是正规大型网站所需的配置条件。如果您是易受攻击的行业类型,还应该考虑服务器防御。