写点什么

架构师训练营作业

用户头像
郎哲
关注
发布于: 2020 年 11 月 22 日

作业一:垃圾回收原理

JVM 垃圾回收就是将 JVM 堆中的已经不再被使用的对象清理掉,释放宝贵的内存资源。 从线程栈帧中的局部 变量,或者是方法区的静态变量出发,将这些变量引用的对象进行标记,然后看这些被 标记的对象是否引用了其他对象,继续进行标记,所有被标记过的对象都是被使用的对 象,而那些没有被标记的对象就是可回收的垃圾对象了。 主要有三种方法,清理,压缩,复制。 清理并不是真正清理,只是标记为空闲,这时候空间就可以用来分配新的对象,此操作下会生成碎片空间,这时候需要用压缩方法,把村活的对象拷贝到连续的内存空间,剩余更大连续空间。复制则是讲对空间分成两部分,一部分创建对象,另一部分存储标记过可用对象。

作业二:如何设计秒杀系统

挑战高并发,高稳定

思路:

1.所谓的高并发不是指系统中的每个接口能要支持高并发,只有特定的关键接口或页面支持高并发就能满足业务需求。

2.维护一个旧接口往往不如新开发一个接口更容易更稳定,减少对旧系统的影响和依赖。

3.系统要独立,单独的域名,单独的机器,单独的 CDN 等等,轻松做到增加服务器,并不对旧系统产品影响。

4.当发现现有业务系统无法支持高并发的秒杀时,要从时间成本,财力成本进行技术可行性分析。 还要分析秒杀系统临时性还是常规性业务(即是否是核心业务),可以先开发一个临时性的慢慢演变成常规性系统。

5.好多情况下是突发临时性的,这时候架构师要根据业务对系统进行拆分,例如构建专门的图片服务器可以直接采用阿里 OSS,上 CDN 减少静态文件对系统的依赖。

6.说了那么多都是概念,系统设计的时候,把动态页面转化为静态页面,限流并发控制,业务流程简化,三道阀门设计很重要减少必要的请求。这还是概念,要想了解具体细节来上课吧 PPT 里面有具体的解决方案。


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

郎哲

关注

还未添加个人签名 2017.10.19 加入

还未添加个人简介

评论

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