架构师作业 - 第四周 - 一个典型的大型互联网应用系统使用了哪些技术方案和手段
这里我描述一下目前我们所用的架构吧
首先,从最外层网络上部署了CDN静态资源及VIP负载均衡,绑定外网域名,用于分发进来的请求流量;
然后每个单机上部署了Nginx和Tomcat,Nginx上有做一些缓存来进行抗量,gzip节省流量;
业务应用有做前台应用和底层应用的分离,防止外部流量直接穿透到数据库;
前台应用和底层应用间是用通讯中间件(dubbo),每个应用是多机房分布式部署多台,提高高可用;
底层应用使用到了读写分离,分散数据库压力,同时热数据进行了redis缓存,也是为了减轻数据库压力,提高并发数;
数据库本身也使用了一主多从的模式,binlog进行同步,读写分离时读从库数据;
对于复杂的数据(如商品等)做了异构处理到ElasticSearch搜索引擎上,提高搜索能力;
文件处理放到了分布式文件系统中,同时也提供了类似cdn的读取方式及压缩算法;
大致上是这些,感谢阅读~
评论