架构师训练营第 4 周作业

用户头像
悠哉
关注
发布于: 2020 年 10 月 11 日

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



1、遇到的挑战主要是复杂度问题,主要包括业务上 高并发、高性能、高可用,以及一些非业务 可扩展 安全 成本等等问题



2、主要解决思路是

  • 缓存

解决重复数据查询问题

  • 拆分

数据备份

水平扩展

业务垂直拆分



学习总结

本章内容相对前几周,干货较少,大多是一些通用的设计思路,希望能够补充一下



包括不限于以下内容

1、系统遇到瓶颈,需要演化或扩展,怎么判断瓶颈在哪里?或者说怎么判断是需要加 缓存,还是需要加机器,还是需要扩db?有什么具体指标或者经验分享吗。

因为系统演进看过太多次了,但是实际工作遇不到快速发展的业务,还是很难有体感,遇到问题就还是不知所措。



2、系统架构不光是 交易类的设计。典型的比如社交类、搜索架构,能不能简单介绍。

比如腾讯、头条、微博、百度 的系统设计,因为交易类的最核心关注事务和一致性,而社交类更关注消息无丢失、顺序的送达等。不同关注点对系统架构的设计思考和演进都不一样。

因为我之前一直在做交易相关的,有一次项目需要做一个 类似qq的聊天+推送系统,发现需要用websocket,这个最大的问题是服务器需要维护长连接,就是有状态的,那么分布式水平扩展的时候,怎么办?类似这样的问题,交易架构是没法涉及的。



3、系统架构遇到的一些难点,是怎么解决的,比如:

数据库扩容,在不间断业务的前提下,怎么平滑扩容;具体实施步骤是什么?

秒杀或大促系统,那一分钟的流量怎么抗下来,只是限流吗?

异地多活,怎么做到,如果按uid切分,怎么保证我访问的是最近的数据中心?

缓存遇到的问题,比如热点问题?失效穿透问题?



发布于: 2020 年 10 月 11 日 阅读数: 19
用户头像

悠哉

关注

还未添加个人签名 2018.11.25 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营第4周作业