既然说了大型,首先要考虑的就是高用户并发的情况。这就需要结合你实际用户端应用场景,视频都双向传输和简单的低通量的文本交互一定不是一个概念。做大型的系统,还要考虑平时的情况和突发的高占用率情况。
首先我们先对应用做一个分类:
1高带宽消耗累应用
这个方面的代表就是直播相关或网络教学领域。直播系统的大体原理,主播手机采集音视频、编码,然后推送一个视频流给服务器(实际上是一个做了负载均衡的视频服务器矩阵组)。然后负责实时流媒体数据流接收的服务器,会将流媒体数据流推送给分发服务器(现在有现成的CDN,这样开发难度就小了很多。)然后观众申请观看的时候,分发服务器就会将所申请的时时流媒体推荐给客户。
这么粗糙的应用就可能包换用户端权限管理服务器组,业务调度服务器组,不同区域IDC建立的接入服务器组,不同区域IDC建立的分发服务器组,分等级的数据存储服务器组,ai内容审核服务器组(基于分流实时分析,预设内容审核规则),归档视频存储服务器组,短视频评级推荐服务器组,应用兴趣行为分析服务器组。客户在请求交互的时候可能还会有一些缓冲的队列呀,nosql之类的(redis,memcache)。各组服务器的规格和数量都是根据同时并发的情况定的,在程序开发好的时间可以通过自动化的方式模拟高并发,再通过查看分析瓶颈,而对前期的规划做出合适的调整。
有些时间还要实现不经过分发,交互直通以降低延时。pk的连线的时候,太高延时是接受不了的。这个就不继续展开了。
还有网盘类应用也也很多类似,只是延时要求没那么高。传统的视频网站也是基本相同原理。
传统的微博也是类似的分发机制。
2低延时需求型
这方面一般是以网络游戏为主。对于一些点电子竞技类的应用,做到80ms以下的低延时是必须。服务器的核心响应速度和带宽的低延时是重点。这种服务器最好可以独享一条专线,或者在虚拟网络系统中设置一个更高的优先级,数据线优先同行也会尽可能的降低延时。至于服务器组之间的vpc也应该有一个更高的通过优先级,以保证服务器之间的访问延时极地。这种应用服务器,最好要支持核心运算,不过这个要开发的架构支持。
再就是后期用户量大的时候,做更新包下载的时候会采用分发服务器(CDN)。
3高突发的缓冲
这种都是电商网站,平时就是讲全段应用服务器做彼此依赖,后端选择一个大吞吐,大并发的后端框架(京东使用的go语言对高并发和数据挖掘就有很多优势,我也刚开始学习)。这种系统网元架构就简单很多,传统的负载均衡后挂着不同模块的应用服务器组,然后经过缓冲服务器组,之后到达数据服务器组和APIGateway。
日常的应用都是没啥问题,都是因为一些节日或促销,或爆款等发生临时性数据 *** 作的拥堵。解决这种缓冲都方式有很多,比如临时快速读写缓存,消息队列等。甚至开发总线通信队列等待机制,很多解决方案。
现在系统本身的规划和后期都优化都有许多解决方案,现在的瓶颈往往是系统间的交互通信。
服务器种类各云服务商都称呼也不一致,总体说分为轻量应用服务器,负载均衡服务器,超算服务器(CPU和GPU两个方向,后者也常常被成为图形处理服务器。)数据服务器(常见的版本都有),文件服务器(nas和oss),分发服务器,缓冲服务器,数据分析服务器。我项目中使用大大类就这些了,也许有些我没用过和不知道的,希望大家在讨论区补充纠正。
希望对你认知有所拓展。
类型、作用。1、类型。OSS是一款基于阿里云OSS的FTPserver工具,FTP的文件是上传到阿里云OSS存储服务器。
2、作用。OSS作用是电信业务开展和运营时所必需的支撑平台,FTP的作用是用于文件的上传和下载。国内的云服务器主要就那么几家,腾讯云、阿里云、百 度云、华为云等。一般选择云服务器的大部分都会从腾讯云和阿里云里面选。阿里云与腾讯云总的来说各有千秋,各有特点,有同有异。
云服务器:同等配置下,腾讯云 CVM 的整体性能高出阿里云 ECS 不少;CVM 的包月费用与阿里ECS 差不多,一年期以上购买 CVM 的性价比更高。
云数据库:腾讯云CDB和阿里云RDS,CDB在吞吐量和延迟两项性能指标上均大幅领先;同时降价力度也大于RDS,因此可以说CDB的性价比远高于RDS。
对象存储:在大小文件的上传、下载和删除几项指标上,腾讯云COS和阿里云OSS各有得分,OSS在文件删除上表现不错,但是在大文件上传上要逊色不少;COS在各项指标上的表现都可圈可点。
如果再加上腾讯云的价格优势,相信更多人会选择腾讯云作为云产品供应商。
至于个人有没有买的必要?要看你需求了,一般买云服务的用户基本上是用于学习,积累技术资本或者搭建自己的网站博客什么的,也有做CPS赚钱的。具体还是看你的需求了,云服务器可以做事情非常多,而且服务器配置可以选择。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)