从2013年开始陆续参与过4个创业项目,从一开始自己搭建服务器,到现在全套使用阿里云服务。其实这也是阿里云逐步走向成熟的几年。废话不多,开始说主题。
用阿里云可以快速且极低成本搭建自己的分布式后端。
云服务器ECS
这名字起的让人看不懂,可以理解为就是我们家里用的一台电脑。
它的特性在于弹性:CPU,内存,网络带宽,硬盘大小都可以按照需求进行配置。比方,后来发现带宽不够,在线升级带宽就可以,而且不用重启电脑;更酷的事你可以指定在某段时间里升级带宽,你只要为这段时间缴费就可以了。CPU,内存,硬盘也可以升级,无需换电脑;和升级带宽不同的是,升级后你必须重启系统才能生效。
阿里云后台你还可以看到系统运行的情况:CPU,内存使,带宽,硬盘使用率。你还可以设置报警值,比方cpu占用率过高了,硬盘满了...
这里有两个建议:
1,多买一块硬盘专门用来放日志,系统盘上只放后端代码。基本上我经历过的项目都出现过,日志把硬盘写满,导致后端无法运行的情况。
2,不要安装数据库,而是用阿里云的RDS;下面详细讲。
云数据库 RDS
实际就是个数据库服务,我们经常用的就是mysql了。为什么要把RDS和后端代码分开?数据库实质是个应用,也是个耗费cpu,内存的大户。如果也安装在ECS上,会和后端代码抢资源。当然,你说现在没什么用户量就放一起没关系,以后再迁移。相信我,当你不得不迁移的时候,再迁移成本就大了。况且一个基础版的一年费用也就1800元,2核4GB的配置基本支撑很长时间的业务增长了。它还有几个优点:
1,随时可以加配置。
2,可以设置报警。
3,可以看到运行情况。
4,可以看到慢查询日志。
5,可以查看binlog。这个很重要,有一次我就是从binlog中查出一个严重bug。
因为把后端和数据库分离开了,你也就可以吹嘘下我们是分布式服务。哈哈~
对象存储OSS
用来放文件啊,图片子类的静态数据。这也是一种分离技术,把静态资源和业务流分开。静态资源最大的问题就是会抢带宽,如果文件资源也放在服务器上下载,会导致因为没有带宽从而业务服务没有响应。我实实在在遇到过这个情况,当时搞了个小规模的秒杀活动,服务器就扛不住了;再看看,其实cpu和数据库资源都很充足,主要问题就在于没有带宽了。
OSS是按量付费的 1,保存了多少量的文件。2,下载的量。所有原理上,你是获得的一个无限带宽的服务器。不要小看带宽,如果你要买个20M带宽的服务器,花费可不小;问题是 1,有的时候可能还不够。2,大多数时间是闲置的。
我自己有个小App,OSS上储存了些壁纸,供用户下载使用。当时充了100元,2年过去了还有32元在账户里。可谓是小投入,大收获。
当然在2014年底参与的一个微商项目,这个项目的OSS花销可就不得了,计算下来一个月要1.2w。后来采用CDN方式来降下不少成本。
其实现在OSS还有很多功能:
1,可以动态对图片裁剪;用户上传了大图,但是显示的时候只要显示小图就够了;这就剩下流量。
2,甚至可以对图片进行鉴黄。(我还没尝试过)
负载均衡
为什么早期要用负载均衡?毕竟开始也就一台服务器。这就要先讲讲负载均衡的作用了。比方后期你业务发展了,或有短时商品促销活动,你是要升级你的服务器吗?不是的,你要做的是再买一台服务器。把业务请求分给这两台服务器来承担。也就是我们说的横向扩展。对了,服务器你可以按量付费(用1个小时算1个小时的钱),用完就拆。
最近影秀城的项目,为应对当时开业,准备了3台服务器;后来减到2台;再后来通过优化、重构代码,把服务器减到了1台。有活动的时候,临时加。通过负载均衡非常容易配置。比较基本版 4M贷款的也就1000元/年。
其实负载均衡还有其他好处:
1,和大日志功能一起使用,把所有访问的日志收集了起来。后面分析数据,或分析问题都有用。
2,SSL证书,你可以放到负载均衡上就可以了。
3,还可以进行服务分离。把指定业务由指定服务器来负责。做到了服务分离。
有个朋友公司是这么实践的:有2台服务器,其中一台用来作为试部署机器,另一台是生产机器。新代码部署好后,只要在负载均衡里修改下指向服务器,就可以上线了;如果出现问题,再重新指向到老的生产服务器。
其他
域名、短信、CDN...这些阿里云也都有。
相比之前,你要上线一个你的想法真的简单了很多!感谢这个伟大的时代。
总结下云服务特点
1,弹性:想什么时候用,马上就能准备好;而且还可以随时升级;还可以按小时收费,而不用买个1年什么的。
2,运维可视化:其实上面很多工具都可以自己安装,但免不了因为操作问题导致故障,请运维工程师代价不菲。运维的工具和可视化也极大方便了我们。
欢迎大家找我交流
网友评论