腾讯组织架构整改引思考:中小团队要怎样搭建架构?( 四 )

早期我们使用自主研发的Log4Net+MongoDB来收集和检索日志信息,但随着数据量的增加,查询速度却变得越来越慢。后期改为开源的ELK,虽然易用性有所下降,但它支持海量数据以及与编程语言无关的特征。下图是ELK的架构图:

腾讯组织架构整改引思考:中小团队要怎样搭建架构?

4、任务调度Job

任务调度Job如同数据库作业或Windows计划任务,是分布式系统中异步和批处理的关键。我们的Job分为WinJob和HttpJob:

WinJob是操作系统级别的定时任务,使用开源的框架Quartz.NET实现;而HttpJob则是自主研发实现,采用URL方式可定时调用微服务。HttpJob借助集群巧妙地解决了WinJob的单点和发布问题,并集中管理所有的调度规则,调度规则有简单规则和Cron表达式。HttpJob它简单易用,但间隔时间不能低于1分钟,毕竟通过URL方式来调度并不高效。

下图是HttpJob的管理后台:

腾讯组织架构整改引思考:中小团队要怎样搭建架构?

推荐阅读