访问可视化
网站的统计
由于 tool.lu 的流量还不是很大,所以我把每次的访问记录都存到了MySQL(如果流量大,这么做是作死的节奏)
主要流程图
使用canal做异步处理,主要是因为
- ip => city的映射,可能要调用第三方接口比较耗时
- 网站代码处不需要写2份数据
- 装x
其中cannal分发的数据处理是用的java,本打算sse也用java的netty来实现了,惭愧,尝试未果后就放弃了,最后用golang实现的。
这样做不会太耗性能,而且每秒钟往客户端传输一次数据,但是由于 vps 的内存有限,java 又比较吃内存,所以上线之后就直接下线了。