【架构思维学习】 week04
一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。
前端技术:
— App 及 web 开发技术(android,ios,vue,react,nodejs)
- 浏览器及 http 优化技术(v8)
- CDN(aliyun)
- 动静分离(nodejs)
- 图片服务(七牛云)
- 反向代理(nginx)
- DNS(aliyun?内网服务解析)
网关
- 网关架构
- 负载均衡(nginx,gateway)
- 鉴权(oauth,oauth2,jwt)
服务层架构
- 微服务框架(spring cloud)
- 分布式消息队列(RocketMQ,Kafka,RabbitMQ,ActiveMQ)
- 分布式缓存(Redis,Memcache)
- 分布式锁(Zookeeper,Redis)
- 注册中心(Zookeeper,Nacos,Eureka)
后台架构
- 大数据平台(Hadoop 系列、Spark、Storm、Flink 以及 Flume/Kafka)
- 搜索引擎(Elastic)
- 推荐引擎(基于机器学习的推荐引擎、分类模型-SVM/KNN、矩阵分解、奇异值分解、交替最小二乘法概述、混合推荐引擎)
- 数据仓库(Hive)
以上技术的使用主要是解决应用软件【高并发、高性能、高可用】的问题。
评论