找回密码
 立即注册
查看: 846|回复: 0

基于Golang协程实现流量统计系统

[复制链接]
累计签到:6 天
连续签到:2 天
发表于 2019-8-3 23:13:54 | 显示全部楼层 |阅读模式
  • 第1章 课程介绍

    欢迎大家学习Go语言,本课程基于Go协程特性,实现企业级流量统计系统。关于Go语言,是一门朝气蓬勃富有战斗力的语言,它近些年的发展势头完全不亚于2012年前后的PHP语言,越来越多的Go语言爱好者、工程师。协程是Go最吸引眼球的特性,它将带你走进函数式编程的新世界。...

    • 1-1 课程概览) ~% }+ e! o9 t6 N( n% J

    / i* C; a0 Q  f' f
  • 第2章 并发模型

    并发模型对于科班出生的同学并不陌生,在近些年的高级语言中,大量应用线程的并发能力做高并发应用,本章节将从并发模型开始,带你进入更轻量更高并发度的并发世界

    • 2-1 并发编程启蒙
    • 2-2 并发编程--协程
    • 2-3 Golang协程基本示例' ]& M+ E" s1 j* M! i
    0 |7 O% |$ r* Q& v( m9 R
  • 第3章 Go的协程

    Go语言天生自带协程:协程即Goroutine,但只学习Goroutine可远远不足以满足项目开发需要,本章介绍Go协程在做真实项目研发时所需要涉及的周边函数能力。以Sample代码为入手,让Go语言零基础的同学不掉队。

    • 3-1 Golang协程特性实践
    • 3-2 golang select多队列选择器
    • 3-3 selete等待机制0 r9 f; U. g8 C. S

    : {9 I3 y. v9 s$ i3 e% \  |9 `
  • 第4章 示例环境搭建

    流量统计系统应用于成型互联网公司线上流量统计,本章节带领大家搭建一套含有一万多条数据的视频网站,整站嵌入用户信息上报JS,实时上报用户浏览情况,用于服务端统计分析。

    • 4-1 快速构建一个示例网站(上)
    • 4-2 快速构建一个示例网站(下)
    • 4-3 上报用户信息数据到打点服务器
    • 4-4 Nginx打点服务器的搭建与配置# P* U& n0 Q3 U3 P- C

    ( Q2 i7 L  Y" R  z3 h
  • 第5章 Go批量生成日志

    本章节通过一步步编写Go语言脚本,带大家实现一个可以自定义数量级的线上日志生成工具,用于模拟大量用户访问视频网站所产生的打点请求,生成数万行日志,用于后续统计分析系统消费。

    • 5-1 创建解析样本(一)
    • 5-2 创建解析样本(二)
    • 5-3 创建解析样本(三)
      & T! V8 q6 W' f; ^9 i' o2 h2 n
    $ {+ p, \- }. w2 ^7 h$ ?+ T4 ~
  • 第6章 统计系统框架构成

    打点数据统计系统模块的骨架设计先行,将骨干Goroutine、Channel声明在先,一套清晰易懂的框架结构便于开发过程中专注于实现功能,在实际开发前就能摸清程序脉络,少走许多弯路。

    • 6-1 统计分析模块的框架实现(上)
    • 6-2 统计分析模块的框架实现(下)' ^& L* ]& L9 w( L

    - h1 d  ~* N: e( |( m2 k. ^4 B: [
  • 第7章 统计系统之日志消费

    逐行批量的消费线上打点日志,实现四大Goroutine环节第一步,并且实现日志顺序进入带解析通道。对于线上流量凌晨期间的冷时间段,进行一定逻辑的等待循环处理。

    • 7-1 统计分析模块逐行消费日志1 z9 W- X9 R- M
    ; r2 Z& f" l6 g* ^6 Q& j
  • 第8章 统计系统之批量解析

    创建一组用于批量解析日志的Goroutine,是四大环节中并发度最高的环节,可以并行开展,相互之间不受牵制,分别扣取打点日志中关键信息,并构成自定义结构体,对上报信息翻译后放入待统计通道,给未来扩展能力提供了空间。...

    • 8-1 统计分析模块日志解析" v! o9 F% _: k1 ~
    1 _$ k( x, m3 \" l0 X
  • 第9章 统计系统之统计逻辑

    最贴近业务需求的系统子模块,其中采用HyperLogLog能力实现UV天级去重,定义了用于存储数据所需的结构体后,对过往数据进行架构封装,投递至待存储通道,待存储器消费。

    • 9-1 统计分析模块PVUV统计(上)
    • 9-2 统计分析模块PVUV统计(下)
      ! V" s* W" r4 l# _5 y) S3 j2 T
    : Y2 d- f) t/ y  ?# t
  • 第10章 统计系统之存储器

    无业务状态的通用存储Goroutine,将上游派发来的存储诉求逐个落实到存储系统中,并能扩展数据查询所需的时间维度数据,该环节对于存储知识要求较高,需要在不同的存储系统中选好最佳的抉择。

    • 10-1 数据存储(上)
    • 10-2 数据存储(下)
      ) {/ v6 M2 S( W& \
    ) ^0 J* ^) t/ Q/ J6 S$ n
  • 第11章 数据可视化

    对于已落实到存储系统中的线上流量数据,本章节借助专业级的Dashboard脚手架Ant Design Pro,呈现美观的线上流量数据结果。彻底打通了用户侧系统的线上流量情况,将结果呈现在企业管理者、决策者的眼前。

    • 11-1 基于Ant Design的数据可视化
      4 i# h/ S1 O. N3 E2 b5 Y2 [
    / |- s! q6 o  V+ @
  • 第12章 企业级解决方案及课程总结

    基于前面所涉及的内容,打通知识点,并且拆解企业级实现时,每个环节应当关注的点与系统方案的核心挑战剖析,抛砖引玉为学员提供更大的想象空间与成长空间

    • 12-1 企业级解决方案的关注点
    • 12-2 课程知识点回顾
      ' y7 o8 [: [- L; S4 {: `; K

    - ]5 {( H: ?% L( ?; y
    " @1 U, ]" m+ @, ^
0 F# Y1 ?5 J4 o5 E8 M6 B0 O# `
0 u' U* Q9 P# u, X* _
来源: 基于Golang协程实现流量统计系统
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

点击这里给我发消息

QQ|小黑屋|Archiver|手机版|一路学IT论坛 专业视频教程网站

GMT+8, 2026-10-28 08:23

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表