用熟悉的技术做产品
2019-05-06 来源:程序员官网
人人网技术总监黄晶认为一个软件系统是不是健康、能不能持续发展,与整个系统架构的设计有重要关系。而从性能上来说,不同语言之间的差别并不是那么重要,所以在技术选型中,最好是应用自己和团队熟悉的技术。
《程序员》:您曾经在天人互动游戏公司和空中网任职过,后来为什么选择加入千橡了?
黄晶:在我刚加入千橡的时候,公司条件还是比较艰苦的,作为一家创业公司,没有多少技术积累,资金也不多,办公地点是一幢商住两用的楼。我之所以选择加盟千橡,首先,是对互联网社区的前景充满信心;其次,我相信陈一舟的战略眼光和商业运作能力,觉得他是一个可以做大事的人。
《程序员》:千橡收购校内网之后,您对校内网的技术架构做了哪些调整?
黄晶:校内网被千橡收购时,还是一个创业团队,人数较少,所以架构设计也很简单,典型的Java+MySQL。但随着访问量的逐渐增加,数据库和中间层缓存的结构已无法适应当时的发展速度。所以,我们对数据库、中间层、前端Java框架都做了彻底的重构。
在产品上,过去校内网是把个人主页作为了解好友和沟通的最主要方式,就相当于为每个用户提供了一个表达个性的涂鸦板,这是早期校内网的核心;后来,我们将“新鲜事”这个功能加了进去,以“新鲜事”作为最主要的获知好友动态的方式,实际上“新鲜事”成为了信息流动的核心。
《程序员》:现在有很多公司都喜欢用PHP来做SNS,千橡为什么选择用Java来做?
黄晶:使用Java做SNS,主要原因就是千橡从最开始做网站就一直在用Java,所以有非常多的积累,从语言特性、虚拟机优化到开发框架和部署的体系都比较完善。Java有强大的Sun公司和开发者社群在支持着它,发展非常稳健。在广大的开源社区支持下,积累了很多开源项目和组件包,无论你想实现什么,都可以找到需要的东西。对于整个产品来说,语言不是很关键的因素。Java语言面向对象特性极强,可以把整个体系组织的层次模块清晰,结构优美 。但是它的代码量、冗余度可能会高一些,不那么简洁。
《程序员》:人人网作为一家国内著名的SNS,您的技术团队都采取了哪些措施来保证海量数据的安全性?
黄晶:首先,我们已经花了很多的精力与资金来保障数据的安全性和服务的高可用性。任何服务器都会有硬件故障,我们要保证任何一台甚至是几台服务器发生硬件故障的时候,数据不会丢失,整个系统仍然能够正常运转。在这个方面要做的事情非常多:我们设计了一定的存储冗余度,并通过系统机制来实现线上热备份以便在故障发生时及时替换。通过以上手段,我们已经解决了很多问题,可以保证在任意一台服务器宕机之后不会对数据安全和用户的访问造成很大影响。
其次,我们正在进行基础设施即数据中心的扩充。目前数据中心是非常紧缺的资源,要想找到一个规模和质量都适合的数据中心非常困难。随着我们业务的不断扩大,需要不停地加入新的服务器,单个数据中心会趋于饱和。每饱和一个数据中心,我们就需要再新建一个数据中心。但新建的数据中心如何与之前的实现分布式架构下数据的实时同步,如何制定广域网负载均衡的方案以达到最佳访问速度,这又是一个很难解决的问题。而且,为了应对地震、火灾等自然灾害,应该把不同的数据中心建在不同的城市,导致异地数据同步难度加大,这是我们目前正在解决的问题。
文章来源:程序员官网
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。