举个栗子:
工商部门要求淘宝下架某件商品,大体会经历如下流程:
1、发个文件给马老师,马老师一看,工商部邮件,一定没啥好事,根本不想看,直接将文件转发给运营老大。
2、运营老大一看,不得了,老板邮件,'加急'转给运营TL。
3、运营TL收到邮件,我靠,'加急'邮件,'星标'发给运营值班组。
4、值班小二收到邮件,火速打开管理后台下架。
5、层层回复。
具体执行者是运营小二,马老师会能直接通知xx小二吗?能,但不会,如果马老师去做这些琐碎的事,就没有今天的阿里了。他不关心具体谁做了这件事,只需要把事情扔给下手可以了,至于下级部门是加急还是放缓,不关心,只要结果。CEO,只关心战略、方向和结果。牛逼的人,做牛逼的事就可以了,
F5就是CEO,是公司的入口和代言人,apache是运营老大,识别到自己这里的内容,分配权重,业务系统就是小二,做具体的事情。
不管是F5还是其他负载硬件或软件,作为入口级负载,是非常宝贵的资源,承担各种外在压力,他不会也不应该识别内容,直接转发流量即可,否则CPU就爆表了,而作为二级路由器的apache或nginx,他能识别请求内容,结合自己部分(下游服务)的情况做负载。
从功能上讲, F5和apache/nginx/HA/LVS都是负载工具,没有本质上区别,只是定位不同,F5这一类工具为了保持高效,只能做最简单最最重要的事情:流量转发,而apache/nginx等,定位4/7层代理,他们会解析协议内容,做更精细化路由,这也是它们存在的价值。
apache是用来处理静态文件的,用来降低tomcat的解析压力,apache过滤后tomcat专心处理动态内容。
这个架构太老了吧,十几年前一提java满世界都是怎么配置这个东西的教程。