一套大型交易系统,交易标的价格为流式数据,采用价格触发成交方式,T+0交易制度(像股票,期货,贵金属交易等)。系统需要记录大量价格数据、交易信息及订单流水,且系统对性能要求极高(敏感度达毫秒级),因此需要避免日志服务成为系统性能瓶颈。通过对几个通用型日志(如log4j、logback)的性能压测,以及考虑到它们作为通用型日志相对比较臃肿,就决定采用自己研发的日志系统,支撑系统功能和性能所需。系统上线两个月后日均成交额200亿RMB,最高达440亿RMB,峰值成交4000笔/秒。系统非常庞大,该日志系统完美的支撑了日志服务。改日志系统包含以下特性:双缓冲队列、多种刷盘机制,多种 RollingFile 机制,多日志级别,热加载,超轻量,性能保证,成功用于日交易额百亿级交易系统。
本课程从无到有带大家手把手实现改日志系统,从中大家可以学习到很多设计思想、编码技巧、高级的知识点,最终该系统是一个可用的高性能日志系统,商业价值极高。课程最后会做性能测试,让大家看到该日志系统的真实的性能。
课程目录:
课时 1 : 日志系统课程介绍课时 2 : 日志系统之日志常量设计与实现 课时 3 : 日志系统之配置文件设计与读取实现以及测试用例代码编写课时 4 : 日志系统之配置文件缓存设计与实现课时 5 : 日志系统之多级配置文件读取设计和实现课时 6 : 日志系统之配置文件动态更新加载设计和实现课时 7 : 日志系统之配置文件动态更新代码抽取优化讲解课时 8 : 日志系统之常量优化之动态获取用户配置信息课时 9 : 日志系统之多种数据类型读取实现以及常量类优化课时 10 : 日志系统之日志双缓冲队列结构设计讲解课时 11 : 日志系统之日志双缓冲队列多条数据缓冲实现课时 12 : 日志系统之日志系统之日志多种刷盘机制设计课时 13 : 日志系统之日志管理设计讲解课时 14 : 日志系统之双重检测构建单例日志管理课时 15 : 日志系统之字节以及堆栈信息工具课时 16 : 日志系统之添加日志信息到缓存实现课时 17 : 日志系统之日志管理线程实现课时 18 : 日志系统之日志输出到文件实现课时 19 : 日志系统之时间工具类实现课时 20 : 20、日志系统之拆分文件实现课时 21 : 日志系统之刷盘触发实现课时 22 : 日志系统之多线程异步任务以及刷新日志级别课时 23 : 日志系统之优雅关闭日志实现课时 24 : 日志系统之日志主类构建课时 25 : 日志系统之钩子处理异常退出课时 26 : 日志系统之效果测试课时 27 : 日志系统之性能和吞吐量代码开发和系统性能和吞吐量测试