写点什么

第四周作业

用户头像
魔曦
关注
发布于: 2020 年 07 月 01 日

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


面对互联网高并发、高可用、高性能、可扩展、可伸缩、安全等场景,我遇到的常用技术方案如下:


前后端分离

将前端与后端解耦,后端提供统一的数据接口,不用在控制页面的跳转渲染等,后端同学也不用写前端代码了;


读写分离

接口层面:比如用户的服务会包含用户的注册、查询,一般用户服务会部署在一个单独的进程,随着查询量级增加,会影响到注册服务,因此按照重要性将查询和注册在接口层面分离,各自部署一个单独的进程

数据库层面:数据访问层将读写操作分别路由到数据的主从节点


缓存

CDN:将静态资源和动态资源分离,解决大量图片占用服务端带宽,让服务端返回的数据更少,效率更高;同时也加快了 RT,因为国内存在 3 网,网络之间跳转存在耗时,而 CDN 采用就近原则,因此节省了 RT

Nginx:除了能完成负载均衡功能外,还能执行页面的缓存

浏览器、app:浏览器或者 app 都自带缓存能力,加速用户的访问,实现秒开

redis 加速内存数据的访问


消息队列

RocketMQ 用于服务的解耦、异步化、削峰填谷

kafka 主要用于日志的采集、分析


微服务化

解决耦合,加快服务的开发进度,部署更容易,自研或者采用开源的技术栈,服务化后引入了分布式事务,目前可以采用 seate 来搞定,当然其他也行


自动化

自动化运维(扩容、缩容、监控、报警、发布)Devops 或者 k8s+docker+APM


安全

自动化的安全预警(检查交易资损、预估风险等)


集群化

两地三中心等多机房部署,解决可用性及容灾考虑


数据冷热分离

冷数据归档


中台化

提升业务能力复用,构建业务中台,算法中台,技术中台,数据中台


用户头像

魔曦

关注

我思故我在! 2018.01.15 加入

凡事有交代,件件有着落,事事有回音。

评论

发布
暂无评论
第四周作业