写点什么

大型互联网应用系统使用的方案

用户头像
ashuai1106
关注
发布于: 2020 年 07 月 01 日
大型互联网应用系统使用的方案



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

首先,宏观上讲可以分以下架构





再次,每一个架构都会解决不同的问题,有些也会解决一类问题。

前端架构:

登录认证:后端可jwt实现,token、session、cookie,用户名和密码,滑动锁,二维码等。

gesDNS-智能域名解析: 解决ip地址来源,根据不同地区访问不同的数据中心。

CDN-内容分发网络:缓存,解决图片或其它文件加载速度的问题,一般放在近运营商侧。

浏览器和http技术:可以缓存session、cookie、及其它信息,加速访问。

TFS-分布式文件系统:解决文件的上传下载分发问题,还有数据备份、数据安全问题等。

反向代理:负载均衡,限流、缓存等功能。

网关及应用架构:

cloudgateway网关架构:路由、熔断、限流、负载均衡等,限流有计算器、队列、令牌桶等实现。

动态页面静态化:加速访问

业务拆分:关注点分离,解决复杂业务分模块运营部署。

服务层架构:

微服务架构:springboot ,业务拆分,单独部署开发维护。

eureka:服务注册和发现

feign:cloud的内部实现负载均衡,本质还是http的方式。

rpc:dubbo等解决微服务间的通讯问题。

消息队列:rabbitMq等,异步通信,通过对象传输,削峰填谷的作用。

分布式缓存:redis缓存读频繁的数据,比如redis的应用。其它缓存,guavacache可以缓存本地热数据、memecached也可作为分布式缓存。

分布式锁:解决竞争资源,比如秒杀库存抢夺、订单重复提交等。

任务调度系统:对数据的定时发送,定时同步等

服务监控:调用链跟踪zipkin、skywalking等

健康检查:Actuator、boot-admin等。

存储层架构:

mysql集群:主备,冷热分离,一致性强的可以用。

mongo集群:对结构化要求不强的可以使用,支持大量并发。

分布式对象存储: 可以解决对象文件的存储。

分库分表:解决大量数据的存储和检索等。

后台架构:

搜索引擎:Lucene等对文本的快速搜索。

推荐引擎:对客户感兴趣的产品进行推送。

大数据平台:对各个产品线的不同维度的数据分析不同的指标,来制定不同的运营策略。

数据仓库:智能检索。

配置中心: 经常变动的业务配置,实现灰度和动态发布等

运维安全:

数据监控和报警:zabbix等

攻击防护:高仿,渗透测试等。

用户头像

ashuai1106

关注

还未添加个人签名 2017.10.20 加入

还未添加个人简介

评论

发布
暂无评论
大型互联网应用系统使用的方案