汇总一下2017年自己的开源项目(续)-项目实战
去年年底参与开发了一个信息流产品,主要负责服务器端的架构设计、技术选型、技术落地等
目前月活千万左右,PV上千万+,日接口请求量亿级别+,人均使用时长超过50分钟+等
这一套架构功能中,除了IOS和Android端,其他的前期来自于我个人开发,兼测试、线上运维、集成、部署等,一直没有时间整理好来与大家分享、探讨。
总算整理出来了,希望抛砖引玉,对大家能有所帮助,不喜勿喷哈,O(∩_∩)O谢谢
重要事情说三遍:
图中所有项目已全部开源
图中所有项目已全部开源
图中所有项目已全部开源
项目技术源码说明列表:点击前往文章
各项目源码详见我的GitHub
一. 系统概要图
二. 系统架构图(20180718更新)
三. 防作弊系统架构图(20180718更新)
四. 相关技术补充说明
1. 系统资源监控
除了使用常见Linux自带命令如top,df,iostat,vmstat外,也安装了webmin辅助工具
2. Nginx接口访问实时监控
使用了ngxtop工具,实时分析接口访问日志相关数据
3. JVM性能监控
配置开启jmx远程访问验证机制,通过VisualVM,JProfile实时监控各实例的jvm使用情况,包括对CPU使用、JVM堆内存消耗、线程、类加载的实时监控,内存dump文件分析,垃圾回收运行情况的可视化分析等,对故障排查和性能调优很有帮助
4. SQL执行性能监控
使用阿里云平台RDS提供的性能监控工具,同时项目本身集成druid开源插件,更好的监控DB池连接和SQL的执行情况
5. 代码质量检测
使用CheckStyle,PMD,Findbugs,制定分析规则,持续发现代码存在的代码缺陷问题,结合CodeReview,优化并重构等
6. 压力测试
通过工具JMeter,Apache ab,LoadRunner等对系统压力、性能、内存CPU等使用情况等进行测试,提出改进优化方案
7. 持续集成CI
通过使用jenkins,实现自动集成、部署和测试,实现快速变更,持续交付
8. 日志平台ELK
搭建集中式日志收集系统,将所有节点上的日志统一收集,管理,访问等,还有监控、预警等功能。前往搭建文章
所有项目等都已全部开源发布到了我的GitHub上,也可以看到Csdn文章具体说明
诚然,虽然这套架构设计上线了,成功运营了一段时间,肯定还有更好的方案,但也不怕,自己也一直保持学习的心态,
去向大牛学习,学习先进前沿的架构设计,也不做过度架构设计,一步步脚踏实地,与自身项目相结合,一起成长一起进步
------------------------------------------------------
------------------------------------------------------
我的个人域名
期望和大家一起学习,共同进步,共勉,O(∩_∩)O谢谢
欢迎交流问题,可加个人QQ 469580884
或者,加我的群号 751925591,一起探讨交流问题
不讲虚的,只做实干家
Talk is cheap,show me the code