架构第四周课程作业
一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?
请列举描述:
1、前端架构
DNS 负载均衡:就近分配,减小带宽压力
CDN 内容分发分流:减小流量
2、网关及应用架构
基于 LVS 的 nginx 负载均衡: 使用户访问的流量均匀
keepalive:实现高可用
3、服务层架构
分布式缓存 Redis:使用内存增加读操作速度
分布式 memcached:使用内存增加读操作速度
dubbo,springcloud 微服务框架:可用性,可扩展性强
分布式 MQ(rocketmq,rabbitmq,kafka):限流
zk 分布式一致性锁:解决共享资源的访问
docker 与 k8s 容器化技术:方便扩展,方便伸缩,相对隔离
4、存储架构
分布式 mysql 和 mycat: 能满足数据库数据大量存储;提高了查询性能
5、后台架构
流计算 flink,sparkstreaming:应对流数据的计算处理
ES 搜索引擎:提高数据查询性能
大数据平台、搜索引擎、推荐引擎(他们三个的数据源一般不是时时产生的,离线计算产生的,是通过较长时间的预算离线计算产生的,看起来是用户每次请求而产生出来的结果,其实是根据提前离线很长时间算好的)
6、运维安全:
数据采集与展示、数据监控与报警、攻击防护、数据加密与解密
评论