专业接单黑客联系方式 全天24小时接单的黑客

访客3年前黑客资讯1051

分享人介绍:王团结,七牛数据平台工程师,主要负责数据平台的设计研发工作。关注大数据处理,高性能系统服务,关注Hadoop、Flume、Kafka、Spark等离线、分布式计算技术。

下为讨论实录
数据平台在大部分公司属于支撑性平台,做的不好立刻会被吐槽,这点和运维部门很像。所以在技术选型上优先考虑现成的工具,快速出成果,没必要去担心有技术负担。早期,我们走过弯路,认为没多少工作量,收集存储和计算都自己研发,发现是吃力不讨好。去年上半年开始,我们全面拥抱开源工具,搭建自己的数据平台。

数据平台设计架构
20151227114046250.jpg (450×421)

公司的主要数据来源是散落在各个业务服务器上的半结构化的日志(系统日志、程序日志、访问日志、审计日志等)。大家有没考虑过为什么需要日志?日志是最原始的数据记录,如果不是日志,肯定会有信息上的丢失。说个简单的例子,需求是统计nginx上每个域名的的流量,这个完全可以通过一个简单的nginx模块去完成,但是当我们需要统计不同来源的流量时就法做了。所以需要原始的完整的日志。

有种手法是业务程序把日志通过 *** 直接发送出去,这并不可取,因为 *** 和接收端并不完全可靠,当出问题时会对业务造成影响或者日志丢失。对业务侵入最小最自然的方式是把日志落到本地硬盘上。

Agent设计需求

每台机器上会有一个agent去同步这些日志,这是个典型的队列模型,业务进程在不断的push,agent在不停的pop。agent需要有记忆功能,用来保存同步的位置(offset),这样才尽可能保证数据准确性,但不可能做到完全准确。由于发送数据和保存offset是两个动作,不具有事务性,不可避免的会出现数据不一致性情况,通常是发送成功后保存offset,那么在agent异常退出或机器断电时可能会造成多余的数据。

agent需要足够轻,这主要体现在运维和逻辑两个方面。agent在每台机器上都会部署,运维成本、接入成本是需要考虑的。agent不应该有解析日志、过滤、统计等动作,这些逻辑应该给数据消费者。倘若agent有较多的逻辑,那它是不可完成的,不可避免的经常会有升级变更动作。

数据收集流程

数据收集这块的技术选择,agent 是用go自己研发的,消息中间件kafka,数据传输工具flume。说到数据收集经常有人拿flume和kafka做比较,我看来这两者定位是不同的,flume更倾向于数据传输本身,kakfa是典型的消息中间件用于解耦生产者消费者。

具体架构上,agent并没把数据直接发送到kafka,在kafka前面有层由flume构成的forward。这样做有两个原因

1. kafka的api对非jvm系的语言支持很不友好,forward对外提供更加通用的http接口

2. forward层可以做路由、kafka topic和kafka partition key等逻辑,进一步减少agent端的逻辑

forward层不含状态,完全可以做到水平扩展,不用担心成为瓶颈。出于高可用考虑,forward通常不止一个实例,这会带来日志顺序问题,agent 按一定规则(round-robin、failover等)来选择forward实例,即使kafka partition key一样,由于forward层的存在,最终落入kafka的数据顺序和 agent发送的顺序可能会不一样。我们对乱序是容忍的,因为产生日志的业务基本是分布式的,保证单台机器的日志顺序意义不大。如果业务对顺序性有要求,那得把数据直接发到kafka,并选择好partition key,kafka只能保证 partition级的顺序性。

跨机房收集要点

多机房的情形,通过上述流程,先把数据汇到本地机房kafka 集群,然后汇聚到核心机房的kafka,最终供消费者使用。由于kafka的mirror对 *** 不友好,这里我们选择更加的简单的flume去完成跨机房的数据传送。

flume在不同的数据源传输数据还是比较灵活的,但有几个点需要注意

1. memory-channel效率高但可能有丢数据的风险,file-channel安全性高但性能不高。我们是用memory-channel,但把capacity设置的足够小,使内存中的数据尽可能少,在意外重启和断电时丢的数据很少。个人比较排斥file-channel,效率是一方面,另一个是对flume的期望是数据传输,引入file-channel时,它的角色会向存储转变,这在整个流程中是不合适的。通常flume的sink端是kafka和hdfs这种可用性和扩张性比较好的系统,不用担心数据拥堵问题。

2. 默认的http souce 没有设置线程池,有性能问题,如果有用到,需要自己修改代码。


相关文章

怎样下载ps5黑客帝国(ps2黑客帝国)

怎样下载ps5黑客帝国(ps2黑客帝国)

ps5已经购买的游戏在哪里下载 1、首先,你需要在自己的设备上安装一个叫做PlayStation应用程序的软件。这个软件可以在PlayStation官方网站上下载,并且支持大多数类型的移动设备和操作系...

黑客这么找有漏洞的网站,外国黑客聚集网站

一、这么有漏洞的网站怎么找黑客 1、找站接网单因此,无聊乏味的工作不仅令人不舒服,而且非常犯罪。这么有漏洞的网站攻击教程只要你不忘记你仍然是黑客,卖一些钱来支持你的家庭,买一辆汽车,买一台电脑,甚至赚...

苹果手机黑客专用软件(苹果手机黑客专用软件下载)

苹果手机黑客专用软件(苹果手机黑客专用软件下载)

苹果手机需要安装一些杀毒和杀木马的软件吗? 使用iPhone手机用户会发现,iPhone其实是不需要安装杀毒软件的,苹果官方也不允许下载。虽然已开放下载部分手机卫士等软件,但杀毒软件的权限也仅限拦截骚...

什么时候是教师节(2018教师节什么时候)

家长敷衍孩子,孩子也敷衍家长。家长会在不知不觉地敷衍孩子过程中逐渐地打消孩子的求知欲,轻易地阻断孩子最初产生的健康情趣,甚至不经意地间就。 从2018年9月10日教师节是星期一到9月30日,相差20天...

走花路是什么意思(走花路是什么意思 改词来源于韩粉)

  走花路代表什么意思(走花路代表什么意思 改词来自韩粉)   走花路代表什么意思出自哪里?近日有很多选秀综艺综艺节目在开播,由于《偶像练习生》的开播,很多人get到了pick的含意,那麼粉絲们一直在...

怎么查看老婆手机上的微信聊天记录呢如何查看

在反复多次的演练后,鄢某终于闯入了腾讯公司的计算机信息系统。他最后决定篡改一些数据,盗走两个QQ号码,以显示曾经“到此一游”。被这名未满18周岁的少年顺手牵去的QQ号码,包括一个以四个“0”为开头的五...