技术文章

Kafka 原理和实战

痴心易碎 提交于 2021-02-18 08:17:11
本文首发于 vivo互联网技术 微信公众号 https://mp.weixin.qq.com/s/bV8AhqAjQp4a_iXRfobkCQ 作者简介:郑志彬,毕业于华南理工大学计算机科学与技术(双语班)。先后从事过电子商务、开放平台、移动浏览器、推荐广告和大数据、人工智能等相关开发和架构。目前在vivo智能平台中心从事 AI中台建设以及广告推荐业务。擅长各种业务形态的业务架构、平台化以及各种业务解决方案。 博客地址: http://arganzheng.life 。 背景 最近要把原来做的那套集中式日志监控系统进行迁移,原来的实现方案是: Log Agent => Log Server => ElasticSearch => Kibana,其中Log Agent和Log Server之间走的是Thrift RPC,自己实现了一个简单的负载均衡(WRB)。 原来的方案其实运行的挺好的,异步化Agent对应用性能基本没有影响。支持我们这个每天几千万PV的应用一点压力都没有。不过有个缺点就是如果错误日志暴增,Log Server这块处理不过来,会导致消息丢失。当然我们量级没有达到这个程度,而且也是可以通过引入队列缓冲一下处理。不过现在综合考虑,其实直接使用消息队列会更简单。PRC,负载均衡,负载缓冲都内建实现了。另一种方式是直接读取日志,类似于logstash或者flume的方式

kafka实战

十年热恋 提交于 2021-02-18 08:16:51
---------------------------------------------------------------------------------------------------- applicationContext - resources.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation ="http://www.springframework.org/schema/beans http: // www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <!-- load properties --> <bean id="propertyConfigurer" class ="com.agu3.kafka.base.PropertyConfigurer"> <property name="locations"> <list> <value>classpath:/common-kafka

kafka实战

梦想的初衷 提交于 2021-02-18 08:16:36
kafka 目录 简介 使用场景 安装并运行 核心概念 Topics和Logs 生产者消费者 broker 分区(partition)和副本(replication) Kafka的保证 数据可靠性保证 数据一致性保证 配置 Broker配置 Topic配置 Producer配置 Consumer配置 常见操作 创建和删除topic 修改topic leader 平衡 检查消费者位置 demo 源码下载 简介 Kafka是一个分布式的流式平台,提供三个关键功能: 发布和订阅记录流,类似于消息队列或企业消息传递系统 以容错持久的方式存储记录流 实时处理发生的记录流 由LinkedIn公司开发(已捐赠Apache),使用Scala语言编写,Kafka作为一个集群运行在一台或多台可以跨越多个数据中心的服务器上。 Kafka通常用于两大类应用: 构建可在系统或应用程序之间可靠获取数据的实时流数据管道 构建实时流应用程序,用于转换或响应数据流 使用场景 Messaging (消息中间件) 消息一般要求低吞吐量,但是要求在端到端的延时最小。kafka可以保证消息的持久性(不会丢失),在这种案例下,kafka和ActiveMQ或者RabbitMQ相当。 Website Activity Tracking (网页活动追踪) Kafka最初的使用案例就是将用户的活动(页面浏览、搜索

Spring Cloud是什么?

白昼怎懂夜的黑 提交于 2021-02-18 08:15:49
[学习笔记] 3)Spring Cloud是什么? 马克-to-win@马克java社区: i)Spring Cloud是一个微服务框架,Spring Cloud基于微服务基础框架Netflix进行了upgrade,同时又能和 Spring Boot开发框架 集成开发。 ii)Sping Cloud是Spring的一个顶级项目。其中包括Spring Boot,Spring Framework,Spring Data,Spring Cloud Netflix等。马克-to-win@马克java社区:Spring Cloud有很多子项目, 其中Spring Cloud Netflix就是其中之一。这个子项目的目的就是:针对多种Netflix组件提供开发工具包,其中包括Eureka(服务注册与服务发现)、 Hystrix(容错管理)、Ribbon(负载均衡)等。 iii)Spring Cloud:也是微服务工具包,提供了在分布式系统的配置管理、服务发现等开发工具包。比如在咱们下面的项目中就有: <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka-server</artifactId> </dependency> 版权声明:本文为转载文章,原文地址

【MAC】 安装homebrew

久未见 提交于 2021-02-18 08:05:37
安装 homebrew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 安装指定的软件包(以 wget 为例) $ brew install wget 删除指定的软件包(以 wget 为例) $ brew uninstall wget 列出当前安装的软件 $ brew list 查询相关软件的信息(日期、出处、依赖库、安装时) $ brew info wgeteagledembp:~ eagle$ brew info wget wget: stable 1.19.5 (bottled), HEAD Internet file retriever https://www.gnu.org/software/wget/ /usr/local/Cellar/wget/1.19.5 (50 files, 3.7MB) * Poured from bottle on 2018-09-07 at 17:07:02 From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/wget.rb ==> Dependencies Build: pkg-config ✘

用Python做投资-小试牛刀

坚强是说给别人听的谎言 提交于 2021-02-18 08:05:19
统计、机器学习这种东西,用来做别的有点不好玩,但是用来玩股票真的可以吗? 市场的复杂性不是统计可以刻画的,所以,量化投资做的再好,这也仅仅是一种辅助罢了,至少当前的自己是这么理解数学在金融市场中的地位的。这一地位,不是低,而是很高,很科学,不是拍脑袋做决策,而是有数据驱动的依据。 希望以后这个系列的文章能够更新下去吧,不一定是股票,只要和投资有关,和程序有关,好玩有趣,都可以和大家分享。 先做一个简单的每日收益率的折线图吧,我们考察的股票是BYD。 # -*- coding: utf-8 -*- """ Created on Tue Oct 11 20:47:10 2016 @author: Luyixiao """ import numpy as np from scipy import * from data import * import matplotlib.pyplot as plt import tushare as ts byd = ts.get_hist_data('002594') #一次性获取全部日k线数据 #byd5 = ts.get_hist_data('002594',ktype='15') #一次性获取全部日k线数据 p_change = (byd['p_change'])#从pandas中获取每日价格变化百分比,换句话说,就是日收益率 p_change

LFN开发者设计论坛DDF和Plugfest报告(2019年6月,pdf)

余生长醉 提交于 2021-02-18 08:05:04
LFN DDF + Plugfest于6月11日至14日在瑞典斯德哥尔摩的Kista会议中心(Kistamässan)举行,它是在先前四次ONAP DDF和六次OPNFV Plugfest活动成功的基础上举办。 活动的重点是将最终用户、学术机构、供应商和个人聚集在一起,计划即将发布的LF Networking项目版本,并对当前软件版本执行实际测试和集成活动。 来自35个组织的202名个人参加了这次活动,其中包括13个最终用户和3个研究和非营利性组织。 鉴于历史背景,大多数会议围绕ONAP、OPNFV和OPNFV验证程序(OPNFV Verification Program,OVP)展开。 但是,我们希望这次活动将包括LFN范围内的设计和互操作测试活动,并欢迎所有LF Networking项目社区的参与。 此外,这个论坛将成为跨社区协作和OVP测试的重要场所,可以随时访问TSC主席、项目技术负责人和关键提交者。 具体来说,OVP演示涵盖了当前的遵从性和验证测试状态,以及NFVi和VNF互操作的未来计划。 ONAP轨道专注于计划即将发布的两个版本 - El Alto和Frankfurt。 讨论的主题包括实际的ONAP经验和用例蓝图、项目演示和规划、体系结构、标准和第三方开源项目协作,以及S3P(稳定性、可伸缩性、安全性和性能)增强。 OPNFV主题涵盖了即将发布的Iruya的项目规划

[Vue 牛刀小试]:第十三章

一笑奈何 提交于 2021-02-18 08:04:11
一、前言   在上一章的学习中,我们简单介绍了前端路由的概念,以及如何在 Vue 中通过使用 Vue Router 来实现我们的前端路由。但是在实际使用中,我们经常会遇到路由传参、或者一个页面是由多个组件组成的情况。本章,我们就来介绍下在这两种情况下 Vue Router 的使用方法以及一些可能涉及到的概念。   学习系列目录地址: https://www.cnblogs.com/danvic712/p/9549100.html   仓储地址: https://github.com/Lanesra712/VueTrial/tree/master/chapter02-bronze/router/pass 二、干货合集   1、命名路由   在某些时候,我们期望生成的路由 URL 地址可能会很长,在使用中可能会显得有些不便。这时候通过一个名称来标识一个路会更方便一些,因此在 Vue Router 中,我们可以在创建 Router 实例的时候,通过在 routes 配置中给某个路由设置名称,从而方便的调用路由。 const router = new VueRouter({ routes: [ { path: '/form' , name: 'form' , component: '<div>form 组件</div>' } ] })   当我们使用命名路由之后,当需要使用 router

java8 异步api、循环、日期

雨燕双飞 提交于 2021-02-18 08:03:44
java8 异步api、循环、日期 转载请注明出处: https://www.cnblogs.com/funnyzpc/p/10801470.html 异步api 对于多任务耗时的业务场景,一般我们会用到线程异步处理,在以前我们用 Thread 或者 Runnable 来实现异步,这是oracle官方做法,不过缺点很明显 对于复杂业务场景需要配置线程池 代码繁杂,对于新手容易造成不必要的bug 如果涉及到线程锁或线程通讯就棘手了 现在,java8为我们提供了 CompletableFuture 类,可以完全解决以上问题。 主要方法有: runAsync() 异步无参返回 样例: @Test public void asyncThread()throws Exception{ CompletableFuture async1 = CompletableFuture.runAsync(()->{ try { Thread.sleep(1000); System.out.println(Thread.currentThread().getName()); System.out.println("none return Async"); }catch (Exception e){ e.printStackTrace(); } }); // 调用get()将等待异步逻辑处理完成 async1

Kafka实战(四) -Kafka门派知多少

爷,独闯天下 提交于 2021-02-18 08:03:31
Kafka不是一个单纯的消息引擎系统,而是能够实现精确一次(Exactly-once)处理语义的实时流处理平台 Storm/Spark Streaming/Flink,在大规模流处理领域主流 Kafka经过这么长时间不断的迭代,现在已经能够稍稍比肩这些框架 Kafka社区对于这些框架心存敬意 目前国内鲜有大厂将Kafka用于流处理的尴尬境地,毕竟Kafka是从消息引擎“半路出家”转型成流处理平台的,它在流处理方面的表现还需要经过时间的检验。 从流处理平台扩展到流处理生态圈,Kafka更是还有很长的路要走 Kafka Streams提供了Kafka实时处理流数据的能力 但是其实还有一个重要的组件 Kafka Connect 在评估流处理平台时,框架本身的性能、所提供操作算子(Operator)的丰富程度固然是重要的评判指标, 但框架与上下游交互的能力也是非常重要的 能够与之进行数据传输的外部系统越多,围绕它打造的生态圈就越牢固,因而也就有更多的人愿意去使用它,从而形成正向反馈,不断地促进该生态圈的发展。 就Kafka而言,Kafka Connect通过一个个具体的连接器(Connector),串联起上下游的外部系统。 整个Kafka生态圈如下图所示 外部系统只是Kafka Connect组件支持的一部分而已 使用Kafka Connect组件的用户越来越多