我是一名在西安就读的一名大四学生,学的软件工程专业,临近毕业,自己选择的是有关于电商秒杀系统的毕业设计,秒杀系统肯定是有性能方面的体现,所以我之前打算把自己的项目放在分布式的服务器上,由于经费有限,所以通过阿里云官网了解到的“飞天加速计划·高校学生在家实践”,用这台服务器进行一些尝试。
我自己之前接触服务器相关的知识也比较少,没有过很多的实践经验,一开始把项目就弄的单体架构,所有的数据库,java项目,mq都在一台机子上跑,也学会在服务器上安装程序,配置环境,通过自己网上查资料,看视频,自己也对linux操作系统更加熟悉和了解了,随后也是通过公网来访问我自己的项目,在单体架构上进行jmeter性能压测,也发现了很多性能上的瓶颈。
随后自己也是不满足于单机架构来运行java项目了,所以我把这台服务器配置好nginx反向代理,并且用按量付费的方式又买了三台服务器,一共加起来是四台服务器,一台公网ip不变的作为nginx反向代理,两台作为秒杀应用服务器来运行java项目,还有一台作为mysql,redis,rocketmq的服务器,配置这个分布式的架构也是费了我很大的力气,从一开始简单的配置jdk,为java项目写配置文件和脚本,到后来配置nginx反向代理,mysql,redia配置安装,以及recketmq的应用,这些都是我从0到1的整个过程,期间也会遇到很多的东西自己不是很清楚和了解,像前后端分离的跨域问题,因为nginx离用户是最近的,在nginx上配置缓存,以及服务器的资源耗费情况来最终决定tomcat最大线程数配置,这些都是我从没遇到过的,但我还是硬着头皮努力的解决,最后功夫不负有心人,我的分布式秒杀系统也正常的运行了,经过一系列的压力测试后,性能确实有了很大的提升。
最后我想说的是,作为软件工程的一名学生,在服务器上进行操作是需要很熟悉的,尤其是后端,架构,运维的同学,多在服务器上练习,之后对工作一定是有提升的,也希望大家一起参与起来,学生免费领取一台服务器来自己实操,是对自己最好的提升方式。