NoSQL 是否可以用来做日志中心 ?

咨询区

  • ikrain

请问大家在分布式程序中用 nosql 来做日志中心的经验?我做了一些研究,发现用 Mongodb 做日志中心是一个非常好的选择,而且我发现 log4net 对它也是直接集成的,比如: log4mongo-net

不知道大家可推荐这种方式?或者有其他一些类似的方式吗?

回答区

  • yamen

其实在可扩展程序中用 mongodb 做日志中心不是一个推荐的做法,严格来说日志中心整体解决方案中,它只是解决了存储这个单一case的问题。

一个强大的日志中心需要解决如下几个问题:

  1. 数据采集

  2. 数据转运

  3. 数据清洗

  4. 数据存储

  5. 数据查询

  6. 数据可视化

再回头看看mongodb只解决了第4点,针对这六点,我推荐的相关落地产品为:

  1. Filebeat

它解决了对数据源的采集和转运,如日志文件。

  1. Logstash

它解决了数据清洗,你可以用正则表达式。

  1. ElasticSearch

它解决了数据的存储和查询。

  1. Kibana

它解决了数据的可视化问题

值得一提的是,ElasticSearch 为了记录日志底层就用了当前最流行的nosql方式,这整体就是 Elastic 家族给出的解决方案。

  • Kazuki Ohta

我见过很多公司都用 Mongodb 来记录应用程序的日志,毕竟它的 无模式 真的是太吸引人了,而且 mongodb 还提供了 Capped Collection 特性,它的固定大小模式可以周期性的用新数据替换老数据。

为了能够对日志进行精细化分析,一般大家都会采用 Grouping 和 MapReduce,但它不是很快,尤其是 js 的单线程引擎决定了 MapReduce 只能跑在单线程上,所以这种开销是巨大的。

当用 mongodb 记录日志时,还有一个不可避免的问题就是 锁竞争,毕竟日志场景是海量写,即使 mongodb 是一种 fire-and-forget (发送即丢弃) 的模式,也会造成大量的写锁竞争,从而影响应用程序的性能并在一定程序上影响 aggregate 和 filter 这些查询操作。

一个通用做法是采用 日志采集组件,比如:Fluentd,Logstash,Flume,这些组件需要部署在每一个应用程序节点,并从摄取应用程序产生的日志,参考如下图:

30002590436bc31dfe929352a1ad0ef9.png

这些框架会缓冲日志并将日志批量写入到比如 Mongodb,PostgreSQL 等数据库中,这种做法相比直写的方式要高效的多。

Mongodb 还有一个问题在于当数据卷达到内存上限时,它的性能会急剧下降,可替换方案就是 Apache HadoopCassandra

点评区

其实在 mongodb 盛行的 14,15 年,曾经确实把 mongodb 当作缓存用,造成的后果就是特别吃内存,那时候还是 mongodb 3.0 之前的内存映射模式,后来被迫写了一个自动释放内存的服务。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/297567.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

长能耐了?想造反了?你老婆没了.......

1 提出问题的人一律直接解决掉▼2 今年的心理阴影是金字塔和钢琴键带来的▼3 广州考如何催收房租?▼4 想起了大雄的衣柜......▼5 这简直一毛一样▼6 我今天非要跳上去不可!突然想到我还有点急事,告辞……▼7 据说,有不少男…

php 无限查找下级业绩_PHP 面试踩过的坑

因为最近需要面试,所以特意整理了一下面试所经历的一些面试题。分享一下,希望对自己有用,也对其他人有用。尚未有答案的,后面会陆续更新,如果有补充答案的,也十分感激。1.get,post 的区别**显示有区别 **ge…

python获取历史双色球数据_你的梦想,我来买单!Python分析双色球中奖号码竟成功获取特等奖

关于双色球的话题估计大家都听的很多,毕竟成本很低,但是收获很高。毕竟当利润达到100%时,就有人敢于铤而走险。当利润达到200%时,他们就敢于冒上断头台的危险。 而当利润达到300%他们就会践踏人间的一切法律。更何况是n倍的利润刺…

分布式、微服务必须配个日志管理系统才优秀,Exceptionless走起~~~

前言在真实的项目中,不管是功能日志、错误日志还是异常日志,已经是项目的重要组成部分。在原始的单体架构,通常看日志的方式简单粗暴,直接登录到服务器,把日志文件拷贝下来进行分析;而如今分布式、微服务架…

《TCP/IP详解卷1:协议》第6章 ICMP:Internet控制报文协议-读书笔记

章节回顾: 《TCP/IP详解卷1:协议》第1章 概述-读书笔记 《TCP/IP详解卷1:协议》第2章 链路层-读书笔记 《TCP/IP详解卷1:协议》第3章 IP:网际协议(1)-读书笔记 《TCP/IP详解卷1:协议…

10以内的分解与组成怎么教_狗狗酷炫的飞盘游戏怎么玩?分解步骤教你快速学会...

现在的铲屎官都喜欢训练自己的狗狗,训练狗狗不仅可以增加狗狗与主人的感情,还能增强狗狗的协调性,开发狗狗的智力,可谓一举两得。其中飞盘是大家都比较爱的活动,经常看看狗狗以华丽的身姿一跃接起主人扔的飞盘&#xf…

计算机组成与系统 报告,计算机组成与系统结构实验报告2

计算机组成与系统结构实验报告,西北工业大学评语: 课中检查完成的题号及题数: 成绩:自评成绩:95课后完成的题号与题数:实验报告实验名称: 班级:1.4 CPU 与简单模型机设计实验 日期: 2015.11.16 杨添文10011303 学号&am…

c++ 异步下获取线程执行结果_前端异步编程的那些事

啊一、异步编程的运行机制我们学习Javascript语言的时候就知道它的执行环境是”单线程“的。所谓”单线程“,就是指一次只能处理一个任务。如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务。常见的浏览器无响应(假…

自动驾驶规划算法

本文将讲解BFS,Dijstra,A*,动态规划的算法原理,不正之处望读者指正,希望有兴趣的读者能在评论区提出一些这些算法的面试考点,共同学习,一起进步 0 图论基础 图有三种:无向图、有向…

印度网民集体删除中国APP,网友评论亮了

全世界只有3.14 % 的人关注了爆炸吧知识最近,国外有一款Remove China Apps火了。这款APP只有一个功能:可以一键扫描用户手机里的应用,识别出自中国公司的应用,并进行一键删除的骚操作。应用的主图标、界面,甚至特意使用…

SQL Server 负载均衡集群(转)

SQL Server 负载均衡集群一个应用系统随着业务量的提高,以及访问量和数据流量的快速增长,各个核 心部分的处理性能和计算强度也相应增大,使得单一设备根本无法承担。在此情况下,如果扔掉现有设备去做大量的硬件升级,必将造成现有资…

大前端快闪二:react开发模式 一键启动多个服务

最近全权负责了一个前后端分离的web项目,前端使用create-react-app[1], 后端使用golang做的api服务。npx create-react-app my-app cd my-app npm start歘歘歘,就搭建了一个react前端项目。前端老鸟都知道npm start或yarn start以开发模式启动react App&…

数据库比较工具SQL Delta

SQL Delta 版本4只支持SQL Server数据库 版本5支持Oracle 但是数据库中不可以有英文 否则连接时会报 ORA-12737: Instant Client Light: unsupported server character set ZHS16GBK的错误 配置如下所示: 转载于:https://blog.51cto.com/shuimomo/461266

女朋友在家是怎么利用我的模型的​

1 趁着奶猫还没长大,赶紧摸2 说有谁不喜欢玩具呢3 爸爸再也不用费心编辫子了4 谁知道这是什么5 还挺会利用的啊6 学霸上厕所的时候7 逻辑推理你点的每个赞,我都认真当成了喜欢

abap al设置单元格可编辑 oo_润乾报表美化设置 -- 样式

在制作报表时,报表设计人员经常遇到下面这些美化报表的问题:为什么我做出的报表领导总觉得不好看不满意 美化一张报表要设置太多的格式和属性,那么多报表都得重复设置,真繁琐 系统中不同人做出的报表展现格式各不相同,…

GRPC在网页前端的使用

一直以来都是一个桌面端程序狗,某天突发奇想,想用网页实现一个客户端,于是开始了electronvueasp.netcore的探寻之路,这条道路很坎坷主要是css让我头疼不已(当然我们并没有放弃使用wpf,我是一个wpf老手&…

vue 带全选和多选的表格怎么写_EXCEL五分钟,批量制作带照片的工地出入证

作者:祝洪忠 转自:Excel之家ExcelHome小伙伴们好啊,今天和大家分享一个邮件合并的技巧——批量制作带照片的工地出入证。先看效果图:要准备的材料包括:一、Excel资料表资料表中包括姓名、工号和用姓名命名的带格式后缀…

从小一看到数字,脑子里就开始搞颜色......

1 脑子里的数字有颜色估计都是它的锅▼2 不愧是你▼3 文科生考场惯用伎俩填满了就是胜利▼4 每年向社会输送大量精英人才▼5 ???▼6 高考最后一晚逆袭的答案在一本叫《刑法》的书里▼7 中国外卖VS俄罗斯外卖毛子送外卖坐公交你敢信&am…

android键盘弹出,聊天背景不变形

2019独角兽企业重金招聘Python工程师标准>>> android:transcriptMode"normal",如果软键盘弹出时候,设置该属性listview会自动调整到最后,这样弹出的软键盘就不会遮盖到listview了 背景图尽量用 getWindow().setBackgrou…

bpmn文件的标签为何都以bpmn2开头_C语言之两种作用域:函数的作用域与文件作用域...

作用域描述程序中可访问标识符的区域。一个C变量的作用域可以是块作用域、函数作用域、函数原型作用域或文件作用域。其中,块是用一对花括号括起来的代码区域。例如,整个函数体是一个块,函数中的任意复合语句也是一个块。定义在块中的变量具有…