今年,我成功的进入了一家上市的互联网公司,来了这里半年多了,通过对系统的慢慢了解,想总结一些东西,以供后续改进与提升。
一、系统面临的问题
降级开关与灾备方案做的不足
优质人才缺乏,导致上线问题多
灰度环境无人维护,开发分支,版本控制 没有 统一规范
二、大型系统应该有的功能特点
( 一)服务治理
大型项目都会按照功能模块拆分成分布式项目,然后有个服务治理中心,比如zookeeper+dubbo比较常见,还有公司自己封装的类似这样可以监控服务的,这样的好处是,利用了hash一直性算法,可以动态扩展服务,而不需要重启服务,另外监控中心可以监控提供者。
( 二)降级开关
项目运行期间,都会遇到一些不能控制的因素影响服务,比如出票系统,由不同途径出票,如果某个途径出问题了,不能让这个出票系统挂在那里,这时候就需要一些降级开关挽救一下。
(三)灾备方案
我们系统多少会因为一些不可抗拒因素,一旦发生了这个系统就会瘫痪,后果会很严重,影响公司效益 与名声。有很多一些公司业务,都是依托于第三方的平台才能进行的业务,我还是拿出票系统来说,比如现在市场上有些公司扒到火车票官网的接口,然后作为供应商提供给一些公司出票使用,他们有成熟的打码技术,有比较成熟的方案通过官网出票,官网是不提供接口供外部使用的,一些公司不愿意花这样的成本去研究,所以就有这样的行业诞生的,但是随着业务的发展需要,又怕12306一旦接口被封,那么就变得很被动,所有的业务都停了,所以需要研究一套自己的出票系统作为灾备方案。