成为工程师的你100天后 – 第88天 – 数据 – 关于数据传输
过去的是在昨天。
100天后成为工程师的你-第86天-数据库-Hadoop相关
在100天后成为一名工程师的你 – 第76天 – 编程 – 关于机器学习
100天后成为工程师的你 – 第70天 – 编程 – 关于网络爬虫
100天后成为工程师的你 – 第66天 – 编程 – 关于自然语言处理
100天后成为工程师的你 – 第63天 – 编程 – 关于概率1
在过去的59天里,作为要在100天后成为工程师的你,我们将聚焦于编程和算法方面的学习。
100天后成为工程师的你 – 第53天 – Git – 关于Git
100天後成為工程師的你 – 第42天 – 云 – 關於雲服務
在100天后成为工程师的你 – 第36天 – 数据库 – 关于数据库
100天后成为工程师的你 – 第24天 – Python – Python编程语言的基础1
在100天后成为工程师的你-第18天- JavaScript- JavaScript基础1
100天后成为一名工程师的你 – 第14天 – CSS – CSS基础1
在100天后成为工程师的你-第6天-HTML-HTML基础1。
这次是关于数据传输的话题。
关于数据传输
在网页服务中,收集日志数据对于服务的持续运营有着重大影响。
一般情况下,日志通常输出在WEB服务器运行的地方,但是如果要进行汇总等操作的话,应该更常在WEB服务器以外的地方进行。
考虑到目前数据量的增加,通常会将日志数据存储在专门的数据库中进行汇总处理,因此需要将日志文件转移到另一台服务器或其他设备上进行处理。
由于这种文件传输机制对于服务来说是必不可少的,因此会引入专用的文件传输软件。
关于Fluentd的讨论
Fluentd是一款跨平台的数据收集软件,主要使用Ruby语言编写,开发者是古桥贞之(Treasure Data)先生。
Fluentd GitHub 精通
这个软件是开源的,可以在Linux和其他各种操作系统上运行。
这个工具对于经常进行数据相关工作的工程师来说应该很熟悉了吧。
可以通过指定输入和输出的方式来使用。
可以用于服务器对服务器的用途,也可以通过使用插件等来利用。
作为输出目标,除了本地文件之外,还可以选择AWS S3、Hadoop HDFS、MongoDB、Cassandra、MySQL、PostgreSQL、Redis等。
由于日志文件本身损坏会引起问题,因此通常会先将其存储在像S3这样的存储中,然后再存储到用于聚合的数据库中。
基本上,這個應用程式需要安裝在運行日誌輸出的伺服器上並運行。
日志收集的用例
可以考虑以下步骤来收集访问日志和应用程序日志。
1. 服务器上的应用程序通过日志输出。
2. 各个服务器上运行着用于传输的Fluentd接收该日志。
3. Fluentd通过网络将日志传输给用于日志聚合的Fluentd(或AWS S3等)。
4. 日志聚合的Fluentd将接收到的日志写入某个位置(文件、AWS S3、Hadoop HDFS、MongoDB等)。
大致上,ログ传送的机制是这样的。
在应用程序中,日志会异步地不断生成。因此,我们需要迅速地将其汇总起来,以确保没有遗漏。
我們制定了日誌文件的命名規則並設立了相應規則,
按照這些規則進行傳輸,傳輸完成後將刪除原始伺服器上的文件。
在收集文件时,我们需要根据文件类型和日期等进行整理,以确保搜索和检索以及存储到数据库的操作都能顺利进行。
过去,人们经常使用磁带等方式进行数据备份,但近年来,将数据集中存储在云存储中的情况也越来越多。
总结
在游戏和网络服务中,日志分析是必不可少的,为了进行日志分析,收集日志的机制也是不可或缺的。
如果你想成为一个服务器端工程师或者处理数据的工程师,
掌握数据传输的机制是非常重要的。
距离你成为一名工程师还有12天。
作者的信息 (Zhū zuò zhě de
乙py的HP网址是:http://www.otupy.net/
YouTube:https://www.youtube.com/channel/UCaT7xpeq8n1G_HcJKKSOXMw
油管:https://www.youtube.com/channel/UCaT7xpeq8n1G_HcJKKSOXMw
Twitter: 请访问https://twitter.com/otupython。