写点什么

一个典型的大型互联网应用系统使用了哪些技术方案和手段 (作业)

发布于: 2020 年 07 月 02 日
一个典型的大型互联网应用系统使用了哪些技术方案和手段(作业)

这个作业其实可以说大到没边了,所以只能简单聊聊。



我们说到一个典型的大型互联网应用,可能大部分人脑子里面反应出来主流就是:淘宝、支付宝、百度、微博、京东、拼多多,头条系产品。我们挑一些技术点简单聊聊吧。



一、缓存

缓存可以简单的分为本地缓存和远程缓存,本地缓存使用的是当前服务器的内存,远程缓存可以参考Redis。从简单的共享session,存储短信验证码到复杂的新浪微博、秒杀的热点数据。redis提供了丰富的数据结构来满足业务需求,同时也有可靠的集群方案。



二、RPC

公司最开始发展的时候整个的技术实现估计就类似一个混乱的毛线球,功能能跑起来就行。慢慢的,我们的系统开始有自己的样子了,就像是一只小麻雀。不过麻雀虽小,五脏俱全!我们开始讨论架构的问题,开始做服务拆分,这里我们不讨论微服务拆分的边界问题,我们讨论怎么在各个微服务之间的通信。是的,各种RPC框架诞生了,国内的阿里的dubbo,微博的motan,国外谷歌的Grpc, FB的thrift以及spring cloud。RPC的框架需要提供稳定的通信方案、路由、上下线(例如zk心跳检测)、minitor等能力,为系统的水平扩展提供支持。



三、消息队列

消息队列是用来解耦的,把主要业务和次要业务拆开,比如注册的时候邮箱验证:用户可以先注册完成开始体验app而不必等到邮箱发送出去之后,因为邮箱的发送可能需要很长的时间。

消息队列用来削峰,一般来说一个秒杀场景,系统的qps上限是200,超过两百的情况下,可以让请求先进入消息队列,产品库存为0 之后可以选择丢弃之后的请求或者做其他的处理。



发布于: 2020 年 07 月 02 日阅读数: 70
用户头像

还未添加个人签名 2018.03.31 加入

还未添加个人简介

评论

发布
暂无评论
一个典型的大型互联网应用系统使用了哪些技术方案和手段(作业)