架构师训练营第四周

用户头像
陌生人
关注
发布于: 2020 年 07 月 01 日

一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。

一、前端

1. DNS:基于访问用户的IP地址,把用户请求路由到最近的Nginx服务器;

2. CDN:通过缓存静态资源提升用户的访问性能;

3. Nginx服务器:实现应用服务器的负载均衡、静态资源或数据的缓存;

4. 前端资源:单独部署前端资源,实现前后端分离;

二、应用服务

1、微服务拆分:基于业务,对应用进行拆分,实现相同业务的单独部署,实现各业务之间的高内聚、低耦合,技术上借助spring cloud或dubbo等微服务框架来实现;

2、MQ中间件:通过分析具体的业务场景,通过MQ中间件,实现功能的解耦;

3、服务器中间件:实现应用服务的部署,如docker、tomcat等;

4、缓存:通过JVM(单机)内存或redis(集群共享)等实现某些业务数据的缓存;

5、分库分表中间件:通过mycat或sharding jdbc等中间件实现数据的分库分表;

6、ZK中间件:实现集群内部数据的分发;

三、数据存储

1. 数据存储:把产出的业务数据存储在oracle、mysql、PostGreSql等关系型数据中,基于实际的业务场景,通过读写分离来分流数据的访问压力;

2. noSQL:常用的nosql数据库有mongoDB、HBase等;

四、文件存储

   存储应用系统涉及的文件;

五、大数据

    常用的大数据有Hadoop、Spark、Flink等,Hadoop主要是批处理,Spark可以支持微批,Flink可以支持流计算;



用户头像

陌生人

关注

还未添加个人签名 2018.10.19 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营第四周