时间:2015-01-13 来源:

【Flume】flume中LoadBalancingSinkProcessor负载均衡实现机制的源码分析 【移动开发】

基于上一篇文章http://blog.csdn.net/simonchi/article/details/42520193  相对比较细致的分析后承接网页制作,该文章将对LoadBalancingSinkProcessor源码进行选择性的重要逻辑代码进行讲解

异常部分,承接网页制作我们发现触发了informSinkFailed()方法,html静态页面制作我们来看看该方法

再来看核心逻辑process()方法

当然该方法是针对配置中选择惩罚的机制,网站div+css也就是backoff=true,所以第一行,手机html制作如果你配置的不选择惩罚网页外包接活,读取其是否有过失败记录web前端制作,因为失败的sink有状态记录的,div+css制作就是代码中那些字段

这些状态的变来变去承接网页制作,读者自行阅读吧,承接网页制作就是个惩罚机制web切图报价, then we increase the timeout, 1000 * (1 << state.sequentialFails)); long allowableDiff = lastBackoffLength + CONSIDER_SEQUENTIAL_RANGE; if (allowableDiff > delta) { if (state.sequentialFails < EXP_BACKOFF_COUNTER_LIMIT) { state.sequentialFails++; } } else { state.sequentialFails = 1; } state.lastFail = now; //Depending on the number of sequential failures this component had, delay the restore by 1000 ms, 1000 * (1 << state.sequentialFails)); }实现如上:

惩罚机制:

public Iterator<T> createIterator() { List<Integer> activeIndices = getIndexList(); int size = activeIndices.size(); // possible that the size has shrunk so gotta adjust nextHead for that if (nextHead >= size) { nextHead = 0; } int begin = nextHead++; if (nextHead == activeIndices.size()) { nextHead = 0; } int[] indexOrder = new int[size]; for (int i = 0; i < size; i++) { indexOrder[i] = activeIndices.get((begin + i) % size); } return new SpecificOrderIterator<T>(indexOrder, "The LoadBalancingSinkProcessor cannot be used for a single sink. " + "Please configure more than one sinks and try again."); String selectorTypeName = context.getString(CONFIG_SELECTOR, false); selector = null; if (selectorTypeName.equalsIgnoreCase(SELECTOR_NAME_ROUND_ROBIN)) { selector = new RoundRobinSinkSelector(shouldBackOff); } else if (selectorTypeName.equalsIgnoreCase(SELECTOR_NAME_RANDOM)) { selector = new RandomOrderSinkSelector(shouldBackOff); } else { try { @SuppressWarnings("unchecked") Class<? extends SinkSelector> klass = (Class<? extends SinkSelector>) Class.forName(selectorTypeName); selector = klass.newInstance(); } catch (Exception ex) { throw new FlumeException("Unable to instantiate sink selector: " + selectorTypeName, ex); } } selector.setSinks(getSinks()); selector.configure( new Context(context.getSubProperties(CONFIG_SELECTOR_PREFIX))); LOGGER.debug("Sink selector: " + selector + " initialized"); }该方法最重要的就是后米娜实例化了selector对象,手机html制作通过Class.forName去加载该类网页外包接活,sinks是从配置文件中sinks读取的

首先读取配置web前端制作, ex); } } if (status == null) { throw new EventDeliveryException("All configured sinks have failed"); } return status; }首先是创建了一个sink遍历器

while (sinkIterator.hasNext()) { Sink sink = sinkIterator.next(); try { status = sink.process(); break; } catch (Exception ex) { selector.informSinkFailed(sink); LOGGER.warn("Sink failed to consume event. " + "Attempting next sink if available.", ex); } }循环内部一次选择有效的sink进行处理

这样总的看起来,承接网页制作flume内置的两种SinkProcessor其实没什么东西web切图报价,只要你按照这种结构,网站div+css就可以开发自己的sinkprocessor了

点击次数:5164
作者:
web前端行业资讯
Web new NewsList
英特尔宣布与法拉利跨界合作欲将AI技术用于赛车运动 ,,2018年01月11日甲骨文服务器出漏洞:攻击者用漏洞挖矿获取加密货币 ,,2018年01月11日用深度学习设计图像视频压缩算法:更简洁、更强大 ,,2018年01月11日Ubuntu内核和NVIDIA更新:修复Meltdown和Spectre两处漏洞 ,,2018年01月11日AntDesign3.1.1发布,阿里企业级UI设计语言 ,,2018年01月11日微信「跳一跳」带火小游戏,开发者如何快速上手? ,,2018年01月11日谷歌公布最新安卓系统份额:你用上奥利奥了么? ,,2018年01月11日腾讯开发出“3D音效”算法:普通耳机实现3D实时语音效果 ,,2018年01月11日谷歌工程师点赞中国程序员实现Node.js启动超4倍提速 ,,2018年01月11日三星电子总裁兼CE部门负责人金炫奭:万物互联时代到来 ,,2018年01月11日NVIDIA和大众合作建立智能驾驶助手 ,,2018年01月11日GIMPS项目报告发现已知最大素数 ,,2018年01月11日微软与生物技术公司开展AI驱动的血液检测同时诊断数十种疾病 ,,2018年01月11日微软跨平台移动开发工具套件HockeyApp宣布免费 ,,2018年01月11日《硅谷》里神乎其神的压缩技术,AI正在一点点做出来 ,,2018年01月11日LinuxMint19代号敲定为“Tara”预计2018年5月至6月期间发布 ,,2018年01月11日Facebook发布wav2letter工具包,用于端到端自动语音识别 ,,2018年01月11日开源数据库ArangoDB正进行约1156万美元股权融资 ,,2018年01月11日IntelCPU漏洞闹大:腾讯云紧急升级 ,,2018年01月11日2018年1月全球数据库排名:Redis夺回第八 ,,2018年01月11日Lyft将联手无人驾驶公司于CES上展示无人驾驶汽车 ,,2018年01月11日京东X无人超市首家社会门店开业:刷脸进、微信自动结算 ,,2018年01月11日担心被AI取代是杞人忧天?高晓松跨年演讲说的有几分对 ,,2018年01月11日免费授权技术许可Intel宣布在未来CPU中集成雷电3 ,,2018年01月11日算法决定你在社交媒体上看到的信息 ,,2018年01月11日谷歌安全博客披露“英特尔内核漏洞”更多细节 ,,2018年01月04日Postgres10开发者新特性 ,,2017年12月28日阿里巴巴、狗尾草、苏大联合论文:基于对抗学习的众包标注用于中文命名实体识别 ,,2017年12月28日柯洁的2017:20岁,与AI斗与人类斗,其乐无穷 ,,2017年12月28日如果机器人拥有痛觉,这个世界会有哪些不一样? ,,2017年12月28日58同城2015校招笔试、一面、二面经历 【移动开发】2014年11月07日tabletd英文数字换行问题 【互联网】2015年04月01日数据库调优教程汇总 【移动开发】2015年04月13日imageView..setBackgroundResource没有效果 【互联网】2015年04月01日解决terminatingtheinstanceduetoerror481导致ASM无法启动故障 【系统运维】2015年02月11日Java-JSSE-SSLTLS编程代码实例-单向认证【编程语言】2014年11月12日整数划分问题--DFS 【移动开发】2015年08月14日提取不重复的整数(桶排序思想) 【编程语言】2015年08月30日VC获取任务栏窗口的句柄【编程语言】2015年07月21日魔兽争霸联机修改金钱和木头原理(可局域网多人修改不掉线)【Web前端】2015年02月09日ubuntu下面编译内核 【编程语言】2015年01月04日对Excel数据区域或表中的数据进行排序2014年01月28日OracleXE安装详解【架构设计】2015年03月18日Android--ProgressDialog用法 【数据库】2015年03月10日GenerateParentheses 【编程语言】2015年07月06日SAE的一个错误解决方法 【数据库】2015年06月11日word里删除附页 【编程语言】2015年04月17日【Java8】(10)使用Lambda完成函数组合,Map-Reduce以及并行化 【编程语言】2014年11月06日万能的JDBC工具类,通过反射机制直接简单处理数据库操作 【编程语言】2015年02月28日使用photoshop制作视频截图载入gif动画2014年01月28日C++浅析STL中的list容器 【编程语言】2015年08月24日hdu2095findyourpresent(2) 【互联网】2015年06月01日解决listview,gridview的getview多次调用问题 【移动开发】2015年05月11日PHP教程之PHP中shell脚本的使用方法2014年01月28日使用IntellijIdea生成可执行文件jar,转为exe文件步骤【编程语言】2014年11月04日spring之bean的Scope 【移动开发】2015年03月09日Python下opencv使用笔记(八)(图像金字塔) 【编程语言】2015年07月15日查找序列中第二大的元素 【编程语言】2015年05月19日C#DES加密与解密【编程语言】2015年05月05日Nagios监控LINUXvarlogmessage脚本 【移动开发】2015年02月03日
我们保证
We guarantee
> psd效果文件手工切图,保证图片效果最好体积最小利于传输
> 100%手写的HTML(DIV+CSS)编码,绝对符合W3C标准
> 代码精简、css沉余量小、搜索引擎扫描迅速,网页打开快捷
> 应用Css Sprite能够减少HTTP请求数,提高网页性能
> 跨浏览器兼容(IE6、7、8、9,Firefox火狐,Chrome谷歌)