这里面是比较泛的中间件集合,把相关的组件也都包含进来,主要分为:数据库、Web 容器、消息、缓存、文件服务器和安全。 
数据库。业务主要使用 MySQL,需要跑批统计的离线数据由 tungsten replicator 同步到 Mongodb。 Web容器。PHP 使用的 Apache,Java 使用的 Tomcat,静态资源代理使用的是 Nginx。 消息。最开始使用 Activemq,后来架构升级全面替换为 Rabbitmq。 缓存。满标控制使用 Memcached,后端业务缓存使用 Redis。 文件服务器。最开始使用 Nginx 做图片服务器,后来上线合同就全面使用了 Fastdfs。 安全。HTTPS 证书保证传输安全,Shiro 做权限控制,Oauth 做登录认证。
04、运维运维是平台的生命线,主要分为六部分: 
监控。主要使用了 Zabbix 来监控服务器的各项指标,少量使用 Shell 脚本和 Crontab。 负载。使用 VIP 来做均衡负载,也就是 LVS。 CI。持续集成工具主要使用了 Jenkins。Java 依赖使用 Maven 为主,Gradle 少量使用,版本控制 SVN 为主,少量使用Git。 服务器。线上服务器大多使用的是 Centos 6.5,少量使用 Centos 7.0。测试环境使用 Vsphere 来虚拟化。 自动化部署。这块还在研究,备选有:Puppet、Ansible、Saltstack。 网络。使用 Wireshark 做网络分析。
05、工具优秀的工具可以让工作事半功倍,节省很多时间。这里分开发、测试、数据库、画图和运维五个维度来介绍: 
PHP 开发工具比较多,我司开发人员主要使用 phpstorm 和 zend,集成环境使用 upupw;前端使用 Web Storm 和 Sublime3;Golang 开发工具 liteide,iOS 使用 xcode。 测试。自动化测试工具
Selenjum,性能测试使用 jmeter 或者 loadrunner,开发人员一般使用 jmeter。接口测试使用
postman;移动端测试使用 appium for Android 和 appium for iOS;抓包工具使用
firebug、MIniSniffer、Fiddler。 数据库。MySQL 数据库可视化工具常用 navicat,生产使用 Workbench,少部分开发人员使用 sqlyog 和phpMyAdmin。Mongodb 使用 Mongo VUE,表设计用 Power Designer。 画图。架构图设计使用 Visio,也尝试过 Processon;思维导图使用 Xmind。 运维。运维工具使用 xftp 或者 SecureCRT。
总结 古人有云,胸有惊雷而面如平湖者,可拜上将军。在互联网行业对大牛的要求也同样如此,特别是技术的负责人。 在面对生产事故的时候,一定首先是安抚同事,静下心来找到问题本质再去解决,而不是不断去施加压力催促解决,重压之下很多心理承受能力稍弱的队友,更加慌乱而不利于解决问题或者引发二次事故。 在看淘宝双十一视频中,有一段特别受到感触,在双十一初期,虽然技术团队做了很多的准备,但是在零点过后流量瞬间涌入,服务被打垮,部分用户投诉刷新不出网页,紧接着隔壁同事也都反馈网站打不开。 在大家都在慌乱中,xx 一拍桌子大喊一声,大家都别动,三分钟之后再说,过了几分钟之后服务慢慢部分恢复了正常。 后来回忆说,当时虽然服务瘫痪,但是监控还是有部分的业务成功,说明系统并没有被压垮,而此时的任何操作都有可能引发更大的问题,从此之后此人一战成名,成为阿里大将。 互联网平台发展大抵都会经历三个阶段: 上线初期 此阶段问题最为繁多,生产事故不断,系统快速迭代优化。有人说为什么不测试到完全没有问题再投产呢? (编辑:西安站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|