基于.NetCore开发 StarBlog 番外篇 (1) 全新的访问统计功能,异步队列,分库存储...

💡 原文中文,约8500字,阅读约需21分钟。
📝

内容提要

文章介绍了StarBlog的新访问统计功能,重新设计了日志记录方式,采用队列和后台任务提高性能,避免数据库过大。使用EFCore进行数据库操作,并实现分库优化数据管理。

🎯

关键要点

  • 文章介绍了StarBlog的新访问统计功能,重新设计了日志记录方式。
  • 旧实现通过中间件每个请求都写入数据库,导致性能问题和数据库过大。
  • 新实现使用队列暂存访问日志,并添加后台任务定时写入数据库,提升性能。
  • 使用EFCore作为ORM,方便实现分库优化数据管理。
  • 引入ConcurrentQueue实现线程安全的日志队列,批量写入数据库时使用事务。
  • 后台任务VisitRecordWorker定期从队列中写入日志到数据库。
  • 分库是必要的,以避免访问日志占用过多数据库空间。
  • 重构服务以适应EFCore,修改相关接口以支持新的数据操作方式。
  • 文章最后提到将升级SDK版本以解决安全警告,并预告下一个功能与备份有关。
➡️

继续阅读