7 wuhulala

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 3k+

为什么慢SQL会把服务器CPU压爆

慢SQL & 连接池数据库连接池是池化技术的一种实现,下面模仿一下简单的池化技术。package com.wuhulala.thread.pool;import java.util.ArrayList;import java.util.Arrays;import java.util.List;public class ConnectionPool { private List<String> pool= new ArrayList<>(Arrays

2020-09-26 16:44:18

Dubbo源码解析(二十)Dubbo 服务自省(小马哥视频观后感)

服务自省Dubbo 2.7.5 +背景业界方案CloudNative 的 技术兴起Sping Cloud的快速崛起Dubbo 所面临的的挑战如何解决或缓解注册中心压力过载Dubbo是以接口发布服务的,所以注册中心节点会多,内存会很大。消费者和提供者与注册中心压力都会很大。网络抖动会造成网络风暴。因为注册中心需要实时将服务上下线等时间通知到对应的消费者、提供者。如何支持以应用为粒度的服务注册与发现支持SpringCloud服务注册与发现模型支持K

2020-08-22 14:58:37

FlinkX Launcher 原理解析

FlinkX Launcher 原理解析模式local本机启动一个flink的LocalStreamEnvironmentstandaloneflink集群的standalone模式yarn-perjob在已经启动在yarn上的flink session里上运行yarn-session在yarn上单独启动flink session运行配置https://blog.csdn.net/u013076044/article/details/106392437实现原理入口 public

2020-08-08 16:13:09

FlinkX增量读取

FlinkX增量读取增量同步指每次记录最大值,下次从最大值的位置来同步。累加器是具有添加操作和最终累积结果的简单构造,可在作业结束后使用。从Flink的实现上面讲,可以使用Flink的累加器记录作业的最大值,同步任务的每次运行使用上一个任务实例作为起始位置同步。配置increColumn描述:当需要增量同步或间隔轮询时指定此参数,任务运行过程中会把此字段的值存储到flink的Accumulator里,如果配置了指标,名称为:endLocation,类型为string,日期类型会转为时

2020-08-08 12:43:14

Loki 初探

最近经常看到有公众号anli这个工具,正好有一些线上的日志会拉到本地进行分析,有时候有上百兆,不是很好分析,需要一个轻量级的日志分析工具,所以探索一些Loki。LokiGrafana Loki是可以组成功能齐全的日志记录堆栈的一组组件。与其他日志记录系统不同,Loki是围绕着仅索引有关日志的元数据的思路构建的:标签(就像Prometheus标签一样)。日志数据本身然后被压缩并存储在对象存储(例如S3或GCS)中的块中,甚至存储在文件系统上的本地。小索引和高度压缩的块简化了操作,并大大降低了Loki的成

2020-07-19 15:11:17

【Druid 实战】Druid 的 SQL 中文乱码问题(avatica)

场景今天使用Druid,通过avatica客户端去查询的时候,发现返回值为空select xx from table where a = '开心'发现交互的时候,返回的Response里面返回的查询语句竟然是select xx from table where a = '??'你妹啊,这问号啥意思。我就一个中文查询语句啊冷静,冷静,肯定是编码问题问题排查看源码先获取utf-8的bytesarray => 由httpclient 作为 application/octet-st

2020-07-02 21:25:45

【Flink博客阅读】 Flink 作业执行深度解析(WordCount) 读后实战总结

Flink 作业执行解析所有有关Flink作业执行的介绍都包含以下的这个流程,今天我们就是实战一些这些转换是如何完成的?CodeStreamGraphJobGraphExecutionGraph物理执行计划StreamGraph Class representing the streaming topology. It contains all the information necessary to build the jobgraph for the execution. 这个类表示流处理的拓扑

2020-06-21 17:47:00

【Flink 异常】FlinkX 与 Flink java.lang.NoSuchMethodError: org.apache.flink.api.java.ExecutionEnvironment

java.lang.NoSuchMethodError: org.apache.flink.api.java.ExecutionEnvironment.(Lorg/apache/flink/core/execution/PipelineExecutorServiceLoader;Lorg/apache/flink/configuration/Configuration;Ljava/lang/ClassLoader;)V使用flinkx放入lib里面,发现了使用yarn-per-job的时候出现了以上错误

2020-06-21 03:03:16

Flink 实战(十二) Flink 多Sink的数据一致性验证

FlinkHbaseSink1kafkaSink2这种场景下面当hbase写入的失败的时候,不影响kakfa的写入。如何保证hbase和kafka都写入成功呢?

2020-06-18 19:36:49

【Flink博客阅读】 Flink Runtime 核心机制剖析-读后总结

Flink Runtime 核心机制剖析 读后总结从这篇文章里面可以主要解释了以下的问题:Flink整体是一个什么样的架构?master-slaveFlink 执行过程中有哪些组件?MasterDispatcher 负责接收用户提供的作业,并且负责为这个新提交的作业拉起一个新的 JobManager 组件。ResourceManager 负责资源的管理,在整个 Flink 集群中只有一个 ResourceManager。JobManager 负责管理作业的执行,在一个 Flink 集

2020-06-09 23:22:58

Flink 实战(十一) Flink SideOutput 在风险预警场景下的应用

风险预警场景背景在风险预警的场景下,当预警消息需要发送给用户的时候,往往会根据不同的预警等级通过不同的渠道对用户进行内容的通知。预警等级预警渠道重大风险短信、钉钉一般风险短信、站内信提示风险站内信正常-一般我们会把预警信息流先进行分割,然后发送到不同的kafka topic里面或者数据库中,供发送程序处理。这里对发送的优先级以及模板不做过多的处理。示意图如下。如果我们使用Flink的话,需要把一个流进行分割的话,需要使用一个叫做Side

2020-06-06 13:30:19

Flink 应用场景资料整理

Flink最近flink的热度也越来越高,它是什么?参考官网(https://flink.apache.org)那么它能干什么是我们今天的重点。官方也提供了很好的学习环境和实战资料,但是对于资料没有更细粒度的划分,我基于Flink中文社区的应用场景资料,进行了整理,希望可以快速、全面的了解Flink的应用场景。看看各个大厂都基于Flink做了什么事情。社区应用场景以上资料是基于https://ververica.cn/corporate-practice/中的行业案例分析得出,大致分为以下

2020-06-03 22:15:50

FlinkX 部署

FlinkX 部署运行概述执行环境Java: JDK8及以上Flink集群: 1.4及以上(单机模式不需要安装Flink集群)操作系统:理论上不限,但是目前只编写了shell启动脚本,用户可以可以参考shell脚本编写适合特定操作系统的启动脚本。运行模式单机模式:对应Flink集群的单机模式standalone模式:对应Flink集群的分布式模式yarn模式:对应Flink集群的yarn模式yarnPer模式: 对应Flink集群的Per-job模式源码下载git clone

2020-05-27 22:40:10

FlinkX断点续传原理

FlinkX断点续传原理声明: 前半部分官方文档+贴实现代码前提条件同步任务要支持断点续传,对数据源有一些强制性的要求:数据源(这里特指关系数据库)中必须包含一个升序的字段,比如主键或者日期类型的字段,同步过程中会使用checkpoint机制记录这个字段的值,任务恢复运行时使用这个字段构造查询条件过滤已经同步过的数据,如果这个字段的值不是升序的,那么任务恢复时过滤的数据就是错误的,最终导致数据的缺失或重复;数据源必须支持数据过滤,如果不支持的话,任务就无法从断点处恢复运行,会导致数据重复;

2020-05-26 22:27:48

Flink的实时同步(转载官方文档)

Flink的实时同步(转载官方文档)根据数据源的数据是否实时变化可以把数据同步分为离线数据同步和实时数据同步,上面介绍的断点续传就是离线数据同步里的功能,实时采集其实就是实时数据同步,当数据源里的数据发生了增删改操作,同步任务监听到这些变化,将变化的数据实时同步到目标数据源。除了数据实时变化外,实时采集和离线数据同步的另一个区别是:实时采集任务是不会停止的,任务会一直监听数据源是否有变化。基于binlog的实时采集目前FlinkX支持实时采集的插件有KafKa,binlog插件,binlog插件是专门

2020-05-26 22:27:10

FlinkX配置文件解析

FlinkX配置文件解析配置文件 (本章节引自官网)一个完整的Flinkx任务脚本配置包含 content, setting两个部分。content用于配置任务的输入源与输出源,其中包含reader,writer。而setting则配置任务整体的环境设定,其中包含restore,speed,errorLimit,dirty,log。具体如下所示:{ "job" : { "content" :[{ "reader" : { ...... }, "writer

2020-05-24 18:21:45

FlinkX的数据类型

FlinkX的数据类型从上一章节里面看到:DataStream<Row> dataStream = dataReader.readData();这个简单的代码里面我们可以得出每一行数据都转化为了Row对象数据转化为了数据流我们下面看一下Row是如何满足所有的数据类型的?FlinkX 中的 Row这里的Row是指的org.apache.flink.types.RowA Row can have arbitrary number of fields and contain

2020-05-24 18:17:51

FlinkX 实现原理(全局总览)

FlinkX 实现原理从上一节的代码结构,我们知道FlinkX的结构是Core+Plugin,我们就简单分析一下Core.Core 代码架构基础支持classloader 自定义类加载器Exception 统一异常enums 统一枚举constants 常量options 入参选项配置util 工具类latch 同步类支持核心逻辑config 配置文件格式schemareader Reader插件writer Writer插件inputformat

2020-05-24 18:13:55

FlinkX 代码总体结构

总体结构可以看出来里面就一个Flink-Core然后和 DataX 类似 都是 Core + Plugin的结构具体看一下 Plugin的结构也是Core + Reader + Writer的结构。

2020-05-24 18:12:31

FlinkX脏值处理

FlinX脏值处理在大量数据的传输过程中,必定会由于各种原因导致很多数据传输报错(比如类型转换错误),这种数据DataX认为就是脏数据。​ – by DataX配置实例"dir

2020-05-24 18:10:34

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享达人
    分享达人
    成功上传6个资源即可获取