- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅析一个分布式日志服务器应用
浅析一个分布式日志服务器的应用
摘 要:本文论述了一个分布式日志服务器的实现过程。通过对系统需求的介绍,具体描述了系统的设计过程,并对系统中运用的若干关键技术进行了分析,最后总结讨论了该系统的优点。
关键词:日志服务器 分布式 缓冲 多线程 UDP FTP
引言
日志在实际应用中具有重要的意义。它有助于我们发现系统中存在的问题,以改进产品的质量,也可以从侧面了解用户使用的情况。如果对日志进行更深层次的挖掘,还可以了解用户的潜在需求,为产品开发者提供指导。日志服务器就是用来收集这些日志的平台。本文给出了一个分布式日志服务器的参考应用。
一、需求介绍
本应用主要接收来自小型终端设备的日志信息。终端设备的特点是:1、分布范围很广,分布的范围跨越不同的国家;2、数量很大,达到万级,并且数量仍有不断递增???趋势;3、单个终端在单位时间内发送的日志数量巨大。以上特点无疑就给日志服务器提出了较高的要求,即日志服务器必须能够长时间承受很大的负载,并且能够有很大的数据容量。另外,在这基础上我们还要考虑到将来对系统进行扩展的可能性。
二、系统设计
本系统设计上采用了分布式的架构(架构图见图1)。其中日志接收服务器负责接收来自终端设备的日志数据包,并在经过处理后,传输到日志集中服务器。日志接收服务器分散部署到不同的地点,用于接收来自各个地区的设备的日志。而日志集中服务器负责接收日志接收服务器传输过来的日志文件,并保存到本地的数据库。
(一)架构图
(二)通讯协议
1.终端与日志接收服务器间的协议
对于终端与日志接收服务器之间的协议有两种可选的方案:UDP协议和TCP协议。两种协议各自的特点对比如下表所示:
应用中,结合本应用的特点,我们选择了UDP协议。原因主要有三点:一、本应用收集来自终端的日志,对可靠性要求不是很高,即使有少量数据丢失,也是可以接受的;二、终端发送的日志数据量较小,每个包在100字节左右;三、终端数量巨大,对接收效率的要求非常高。
2.日志接收服务器与日志集中服务器间的协议
这个环节的协议也有两种可选方案:FTP(文件传输协议)和HTTP(超文本传输协议)。本系统的实现选择了FTP。主要的考虑如下:一、FTP可以采用成熟的服务器端产品,这无疑能减少开发的时间成本,也加强了可靠性保证;二、FTP有用户验证机制,提供了一定程度的安全性。
(三)日志接收服务器
日志接收服务器的作用相当于是一个日志中转站。它接收来自终端的日志包,并将日志传输到日志集中服务器。日志接收服务器的工作流程如图2所示。
以下对日志接收服务器上用到的若干关键技术进行说明:
1.缓冲技术
缓冲区是一块空间足够大的内存。接收来自终端的日志包,实际是通过对UDP端口的循环侦听实现的。这一环节对整个系统的性能有着非常重要的影响。因为,一旦接收速度慢,就会导致后续的日志包无法送达,造成丢包。所以,引入缓冲,就是当接收到日志包之后,不进行处理,直接保存到一个缓冲区,这样处理显然就大大提高了接收日志包的速度。引入缓冲还有另外一个好处,就是终端发包的流量是时快时慢的,缓冲区能够对短时间的大流量冲击进行缓冲,避免丢包现象发生。
2.多线程
在解析日志包的时候,为了提高解析的效率,引入了多线程机制。多线程机制提高了CPU利用率,在很大程度上改善了效率。
3.压缩
在传输文件前,本应用先对文件进行了压缩处理,这主要是出于节省网络流量并且提高传输效率的考虑。因为网络的带宽是一种高成本的资源,进行压缩无疑显得非常必要。
(四)日志集中服务器
日志集中服务器是日志的一个总的存储中心。它工作流程如图3所示。
以下对日志集中服务器用到的若干关键技术进行说明:
1.FTP服务器
接收来自接收服务器的压缩文件是通过现有的FTP服务器端软件实现的,目前这种软件的选择是很多的,甚至Windows也有自带的FTP服务器。使用FTP服务器大大节省了开发的时间,并且避免了自行开发可能带来的风险。
2.缓冲技术
在将日志写入数据库的时候,也采用了缓冲技术。在写数据库的时候,逐条写入速度是很慢的。只有在达到一定量的时候,同时写入才能得到最高的速度。当然,同时写入的量是有一个最优的值,并不是越多越好,这个最优值只有通过反复测试才能找出来。
三、系统的优点
(一)分布式
只要能保持和集中服务器以及终端设备的网络通讯,日志接收服务器可以根据需要分布部署在不同的地点。分布式的特点为部署提供了很好的灵活性。
(二)工
您可能关注的文档
最近下载
- BP5929_CN_DS_Rev_1.1 规格书 晶丰明源LED电源.pdf VIP
- 肠造口患者造口周围皮肤损伤变化轨迹及影响因素研究.pdf
- (国家标准)GB/T 10051.1-2010 起重吊钩 第1部分:力学性能、起重量、应力及材料.pdf
- 江苏开放大学Android基础第1次形考作业.pdf VIP
- 一种水产养殖增氧剂.pdf VIP
- 环境的监视和测量控制程序.doc VIP
- 2025年四川省国家工作人员法治素养测评(卷二).docx
- 某石油化工有限公司加氢装置安全设施专篇.pdf VIP
- 厂房施工现场临时用电施工组织设计.doc VIP
- 2025-2030中国军工连接器行业发展趋势预判及市场前景预测研究报告.docx
原创力文档


文档评论(0)