身为一个江西人,没撸过烤串是不可能的,我们现在就用撸烤串这个事情来类比,看看服务器到底都是干嘛的。作为一个用户,当你打开一个APP,是为了获得你想要的内容/服务;当你到一个烧烤摊面前,其实你需要的是羊肉串。做一个类比:你需要的内容/服务 = 你需要的羊肉串。
1、 数据存储
羊肉串都不是现杀现串的,如果这么做的话,上串会很慢,身为用户肯定不希望去等待,所以任何一个烧烤摊子都有存货的地方,这样可以随时从存货的地方拿羊肉串,你点几串,我拿几串。而服务器也是存储数据的地方,这个数据包括:业务数据、用户数据、内容数据等等,以一个视频APP为例,用户打开APP就是为了看视频的,但是视频那么多,不能都存储在一台手机上啊,需要有个存储地方,这个地方就是服务器,就类似烧烤摊主放串的地方。当用户点了某个烤品/剧集时,烧烤摊主/视频APP便向存货的地方/服务器去拿对应的烤品/视频,然后呈现给用户,这就是服务器一个很主要的功能:存储。
2、逻辑计算
这个烧烤摊子是我每天下班必去的地方,老板和我都称兄道弟,难道我撸串还不打折吗?那这个打折由谁来判断?由烧烤摊的老板判断,但是突然有一天老板生病了,老板娘来了,还会给我打折吗?不会的,因为我不认识老板娘。这中情况就是说:很多逻辑其实可以由云端来判断。
我们还是以视频APP为例子,假设爱奇艺就是老板,我常来爱奇艺并且买了会员,老板(爱奇艺)知道我买了会员,所以视频内容随便看,还可以跳广告;但是突然有一天老板娘(腾讯视频)来了,我和老板娘说你给我跳过广告,我要看所有电影,老板娘就是一巴掌,说一句:你是谁啊?你以为你是谁啊?老板和老板娘就是两个不同的服务器,对我是否打折的判断是由服务器判断的,那么当服务器换了,自然就没有这个判断逻辑,我的折扣也就没有了。
3、数据桥梁
我今天下班又来到了这个烧烤摊,我想换换口味,不吃羊肉串了,说要吃大腰子,老板发现自己家的卖没了,但是生意还是要做,钱还是要赚的啊,那怎么办哪?老板去附近的摊位去借了几串腰子,然后给我烤上了,老板自己没有存储,但是老板作为一个桥梁,从别人存储的地方拿到烤品来满足了我的需求。现在我们用一个实际中应用的例子来类比下这个问题,这个例子就是:天气。能够采集和输出天气信息的公司就那么几家,但是你会发现所有的手机厂商中都能查看天气,所以手机厂商的天气必然从这几家公司来获取,而供应商的收费标准是按照请求次数来计算,就像撸串:一串2块,供应商是请求一次5毛(假设),但是随着用户数量的增加,在相同一个地区的用户数量就会增加,那么在同一天中让每个手机都反复去请求服务器的话,经济成本就要上升很多,所以此时手机厂商的天气应用应该是请求自己的服务器,当发现的对应请求时间、地点的天气已经有了,就直接下发,如果没有,就再去供应商的服务器去拿,以此来减少对供应商服务器的请求次数。
如有需要可详细
文章名称:服务器是什么?有什么功能
网页地址:http://cxhlcq.com/article/chcgei.html