您的位置:首页 >  新闻中心 > 行业动态
  行业动态
 

一位计算机系高材生给我的感慨

来源:原创    时间:2017-04-27    浏览:0 次

前几天无意间在网上看到一个博主发出的关于学生时代一起敲代码的革命情怀,小编不禁回想起大学时候一起艰苦奋斗的小伙伴,虽然行业不同,但是感情却是一样的真挚,那时候的大家是那样的单纯。
男孩是大二时期接到一个电信增值的项目《短信网关》。
理科男都很淳朴,轻描淡写的描述出自己的业务逻辑及失败的最初设计,很是严密的讲解了自己失败的原因在哪儿,如果换成小编可能光革命情怀就得长篇大论一番。
我们来看下男孩遇到的具体事情,商家对项目的要求如下:每天400万条短信和不许宕机,高并发和高可靠是整个项目的质量指标。
年轻气盛的他最初认为,这样一个项目,业务层不算很复杂,整个项目难度应该是不大的,于是就开始着手操作了。 
初步设计,oracle集群,程序由调度机和发送机组成。---失败
1、oracle集群在千兆环境下工作,性能不如单台机。因为oracle集群是中心负责数据,集群点负责运算,SARS 硬盘的I/O 比网口还高,所以千兆口集群不可行。
2、调度机,发送机这样的设计不符合高可靠性,调度机负责用户的请求,负责调度底下发送机发送短信。用户请求高峰时候,调度机成为瓶颈和依赖。
年轻总是在失败中成长着,很快他们考虑自己手头现有的软硬件设备,重新制定出了新的解决方案,所以第二版设计方案在测试阶段轻松解决了他们的苛刻要求,这中间经历过多少个不眠不休夜晚,相信程序员都能体会!
第二版设计: nginx +tomcat集群。分布式程序,数据库采用redis集群。
硬件配置
手头上有很多个学校给的ip,3台8g配置的G6服务器,还有一台忘记什么型号,就知道它有32G内存。
做法
 1、如何充分利用完这些资源呢?我们采用了虚拟化技术。利用proxmox EX进行虚拟化平台的集群,上面分别跑2G内存的小机器,这样算下来我们有了十几台服务器了。(新开博客不能上传图片,有机会再贴上proxmox的管理界面),压力测试中,4台虚拟机器。一个做nginx进行负载均衡。3台虚拟机上分别做tomcat集群和redis集群。一天发了430万条短信,未见异常。更加坚定了采用虚拟化技术。
 2、其实采用redis之前,我们曾用memcached+oracle。发现memcached不适合,原因两个:一、memcached提供的功能不能满足我们,我们要在上面封装多一层,来满足我们业务需要。二、我们采用xmemcached这个客户端,是知名的memcached java 客户端,采用nio连接。在压力测试中,速度很慢很慢。采用loadRunner分析一下函数调用周期,发现xmemcached里面的动作是单线程的,所有请求都有一个wait。所以导致在高并发下非常慢。经过决定,采用了redis数据库。它的功能非常强大。对于redis的并非处理能力,我们产生过2w个连接,单机无压力。后来我们就采用了redis集群。
 3、公司需要人工审核短信,首先想到是Ajax刷新去读出短信内容,感觉这样办法很笨。后来采用了dwr推送技术,后台通过aop切面,把短信内容取出通过dwr推送出web界面。
 4、提供了axis和axis2实现的webservice接口,http接口。压力测试中,axis和axis2的速度差不多。
5、对于灾难的应对,nginx和redis切换掉死掉的集群点,毫无压力啊。
男孩总结说自己,在这段经历里学会spring,memcached,redis,nginx+tomcat,dwr,axis,axis2,mybatis,proxmox虚拟化。
这样的框架设计,在大神眼中可能很小儿科,不过对于还在上学的大学生确实,让人很是庆幸。我们都是一样的毕业之后,开始了自己的新旅程,虽然过了当初校园中学习探索,激情成长的岁月,但却迎来了人生新征途,岁月总是在不经意间被消磨,我们时长感觉到的力不从心,并不是真得难以达到,只是你已经失去了当年不顾一切的努力奋斗的决心,毕竟当年工作看信念,如今工作看的是薪水,人的物欲一旦被挑起,再多情怀都是枉然的。
 
不过我确实得承认,一个大二的小孩子,居然能够做出这样的产品而庆幸,毕竟我们253云通讯专业从事电信增值业务的企业也是使用的大致相似的原理。只是作为企业我们的硬件设施要相对有优势,我们的抗灾能力更加即时更加多元,线路优势也更强,当然还有很多其他方面的优化我们都已经完成了。小编完成这篇文章目的也很单纯,我们一直认为的万事最终都趋于大同的想法是对的,这篇文章里我们可以看出的是一种办事方式,我们其实已经使用的很习惯了。
模拟下基本分解成以下步骤:
当然趋于大同的事情,最终还是得落到细节,就是我们上面提到的优化,包含我们的硬件设施改善,软件方面的革新跟新兴技术的投入,在这个人人追逐大趋势的氛围下,就看谁能够更好整合资源和异业联盟,很显然我们走在了前列,我们也希望有越来越多的朋友可以跟我们合作,成为行业领头羊!