- 博客(51)
- 收藏
- 关注
转载 Docker快速入门
一、Docker 概述Docker 是一款基于 Go 语言开发,并遵循 Apache2.0 协议开源的应用容器引擎,其项目代码托管于 GitHub。它能够将应用及其依赖的软件包封装至轻量级、可移植的容器中,这些容器基于沙箱机制运行,相互隔离且性能开销极低,可便捷地部署于各类流行的 Linux 系统之上。自 17.03 版本起,Docker 分为 CE(社区版)和 EE(企业版),本教程主要围绕 C...
2025-01-06 17:05:09
56
原创 Flink 实时数据处理中的问题与解决方案
在使用 Flink 进行实时数据加工时,连接 MySQL 数据源是一项常见的任务。本文将详细描述在我使用 Flink 进行 MySQL 数据实时加工时遇到的一些问题,以及如何解决这些问题。我用的Flink版本是1.20.0问题一:jar 包版本不匹配错误信息在连接 MySQL 时,报错如下:java.lang.NoSuchMethodError:'java.lang.Stringcom.mys...
2025-01-05 06:02:34
516
原创 使用 Flink CDC 构建 Streaming ETL
安装并配置 Flink1.下载 Flink 1.20.0curl-k-O https://archive.apache.org/dist/flink/flink-1.20.0/flink-1.20.0-bin-scala_2.12.tgz2.解压文件tar-xzvf flink-1.20.0-bin-scala_2.12.tgz3.移动到目标目录(可选)将解压后的 Flink 目录移动到/...
2025-01-04 11:09:05
1145
原创 Flink vs Spark
Flink的特性Apache Flink 是一个流式处理框架,它不仅支持高效的流处理,还能够处理批量数据。Flink 的设计目标是提供一个高吞吐量、低延迟、容错可靠的分布式数据流处理平台。以下是 Flink 的核心特性总结:1.统一的流处理和批处理模型Flink 的最大优势之一是它提供了一个统一的处理模型,可以同时处理流数据和批数据。传统的流处理系统和批处理系统往往被分开处理,而 Flink 通...
2024-12-25 14:51:38
875
原创 初识Flink
Flink 的源起和设计理念Apache Flink 是一个开源的大数据处理框架,专为流处理而设计,支持实时和批量数据处理。Flink 最初由德国柏林的一个团队开发,并于 2014 年成为 Apache 顶级项目。它的核心目标是提供一个高效、可扩展、低延迟的数据处理平台,能够处理海量的实时数据流和复杂的批量数据处理任务。源起:Flink 的前身是由柏林工业大学的研究人员在 2009 年发起的一个名...
2024-12-24 21:03:42
404
原创 DolphinScheduler 实战:解决 MySQL 事务处理中的异常问题及代码热替换
关于DolphinSchedulerDolphin Scheduler是Apache组织开源的一款分布式易扩展的可视化工作流任务调度系统。适用于企业级场景,提供了一个可视化操作任务、工作流和全生命周期数据处理过程的解决方案。可以及时监控任务的执行状态,支持重试、指定节点恢复失败、暂停、恢复、终止任务等操作。使用场景我们利用它的工作流任务调度功能,定时执行SQL,可以对数据进行离线批处理操作。在处理...
2024-08-29 12:46:30
1030
转载 Spring Boot 启动扩展点整理
1.背景Spring的核心思想就是容器,当容器refresh的时候,外部看上去风平浪静,其实内部则是一片惊涛骇浪,汪洋一片。Springboot更是封装了Spring,遵循约定大于配置,加上自动装配的机制。很多时候我们只要引用了一个依赖,几乎是零配置就能完成一个功能的装配。我非常喜欢这种自动装配的机制,所以在自己开发中间件和公共依赖工具的时候也会用到这个特性。让使用者以最小的代价接入。想要把自动装...
2022-09-20 09:32:55
208
原创 每天进步一点点【Nginx平滑的基于权重的轮询算法】
假设有三个节点{serverA , serverB , serverC} , 权重为分别为{7,1,1} ,Nginx可以达到A,A,B,A,A,C,A,A,B,A,的效果。在保证准确的权...
2022-01-21 14:01:28
582
转载 每天进步一点点【图的深度优先搜索与广度优先搜索】
图是一种数据结构,其中节点可以具有零个或多个相邻元素。两个节点之间的连接称为边。节点也可以称为顶点。图分为三种:无向图、有向图、带权图图的表示方式有两种:二维数组表示(邻接矩阵);链表表示...
2022-01-08 15:21:19
525
转载 每天进步一点点【图的深度优先遍历(DFS)】
图是一种数据结构,其中节点可以具有零个或多个相邻元素。两个节点之间的连接称为边。节点也可以称为顶点。图分为三种:无向图、有向图、带权图图的表示方式有两种:二维数组表示(邻接矩阵);链表表示...
2022-01-07 20:37:17
332
转载 每天进步一点点【平衡二叉树】
平衡二叉树(AVL树)二叉搜索树对于数列{1,2,3,4,5,6},左子树全部为空,从形式上看更像是一个单链表不能够发挥二叉搜索树的优势,为了解决这个问题,引入平衡二叉树(AVL树)平衡二...
2022-01-06 20:08:33
119
转载 每天进步一点点【基于消息的最终一致性】
在一些对数据一致性要求较高的场景中,经常采用基于消息的最终一致性方案,通过消息中间件来保证上、下游应用数据操作的一致性。主要流程如下:(1)在执行业务操作时,记录一条消息数据到数据库(状态...
2022-01-05 20:16:13
191
转载 每天进步一点点【稀疏数组】
稀疏数组分析问题:当二维数组中存在很多默认值的时候,记录了很多没有意义的数据,浪费空间稀疏数组的处理方法:第[0]行记录数组一共有几行几列,有多少个不同的值把具有不同值的元素的行列及值记录...
2022-01-04 18:21:42
94
原创 Zookeeper应用场景
数据发布/订阅(配置中心)数据发布/订阅(Publish/Subscribe)系统,即所谓的配置中⼼,顾名思义就是发布者将数据发布到 ZooKeeper的⼀个或⼀系列节点上,供订阅者进⾏数...
2021-12-16 11:41:07
1025
原创 贪心算法之背包问题
贪心算法之背包问题背包问题是算法的经典问题,分为部分背包和0-1背包,主要区别如下:部分背包:某件物品是一堆,可以带走其一部分0-1背包:对于某件物品,要么被带走(选择了它),要么不被带走...
2021-08-23 16:58:51
7618
原创 Sharding-JDBC实现分库分表+读写分离
采⽤Sharding-JDBC实现c_order表分库分表+读写分离基于user_id对c_order表进⾏数据分⽚分别对master1和master2搭建⼀主⼆从架构基于master1和...
2021-06-12 17:12:08
935
1
原创 Logback异常日志监控告警
项目源码:https://github.com/sixj0/logback-warning功能介绍:配合logback日志使用,通过扩展Appender组件,实现在打印error日志时告警...
2021-06-05 14:36:19
1613
原创 MySQL主从复制与MHA高可用架构搭建
MySQL主从复制与MHA高可用架构搭建环境架构介绍4台机器的IP和角色架构如图所示:MySQL主从搭建MySQL安装(3台)因为CentOS7默认安装mariadb数据库,存中文时可能会...
2021-06-03 20:15:45
205
转载 Arthas不停机替换线上代码
解决问题:生产环境出现bug,但是又不方便重新发版启动,可以使用Arthas将线上的代码反编译出来,然后进行修改,修改之后再通过类加载器将类重新进行编译,最后加载到JVM中。安装Artha...
2021-05-29 12:15:46
1142
原创 License授权方案
源码地址: https://github.com/sixj0/license解决的问题:将项目卖给其他公司,需要将jar包在客户的服务器上部署,为了避免客户将项目jar包进行二次售卖,或者...
2021-05-27 20:19:51
20161
6
转载 tcp/ip协议的三次握手和四次挥手
TCP报文格式源端口和目的端口字段TCP源端口(Source Port):源计算机上的应用程序的端口号,占 16 位。TCP目的端口(Destination Port):目标计算机的应用程...
2021-04-26 19:08:56
125
转载 MySQL存储引擎--InnoDB线程模型
IO Thread在InnoDB中使用了大量的AIO(Async IO)来做读写处理,这样可以极大提高数据库的性能。在InnoDB1.0版本之前共有4个IO Thread,分别是write...
2021-04-17 16:21:12
154
转载 MySQL存储引擎--InnoDB日志文件
Undo LogUndo Log介绍Undo:意为撤销或取消,以撤销操作为目的,返回指定某个状态的操作。Undo Log:数据库事务开始之前,会将要修改的记录存放到 Undo 日志里,当事...
2021-04-17 16:21:12
259
转载 MySQL索引类型与索引原理
1、索引类型索引可以提升查询速度,会影响where查询,以及order by排序。MySQL索引类型如下:从索引存储结构划分:B Tree索引、Hash索引、FULLTEXT全文索引、R ...
2021-04-17 16:21:12
218
转载 MySQL索引分析与优化
索引分析与优化1、 EXPLAINMySQL 提供了一个 EXPLAIN 命令,它可以对 SELECT 语句进行分析,并输出 SELECT 执行的详细信息,供开发人员有针对性的优化。例如:...
2021-04-17 16:21:12
90
转载 MySQL存储引擎--InnoDB数据文件
一、InnoDB文件存储结构InnoDB数据文件存储结构:分为一个ibd数据文件—>Segment(段)—>Extent(区)—>Page(页)—>Row(行)Ta...
2021-04-17 16:21:12
457
转载 Spring Cloud Alibaba训练营 ——分布式消息(事件)驱动
1. 简介事件驱动架构(Event-driven 架构,简称 EDA)是软件设计领域内的一套程序设计模型。这套模型的意义是所有的操作通过事件的发送/接收来完成。举个例子,比如一个订单的创...
2020-11-07 08:00:00
416
转载 Spring Cloud Alibaba训练营 —— 服务熔断与限流
前言:为什么需要流控降级我们的生产环境经常会出现一些不稳定的情况,如:大促时瞬间洪峰流量导致系统超出最大负载,load 飙高,系统崩溃导致用户无法下单“黑马”热点商品击穿缓存,DB 被打...
2020-11-06 10:10:40
229
转载 Spring Cloud Alibaba训练营 —— 分布式服务调用
注意:用手机查看排版可能不太友好,可点击文章底部“阅读原文”1. 简介在《Spring Cloud Alibaba 服务注册与发现》篇中曾提到,Spring Cloud Alibaba ...
2020-10-01 10:00:00
818
转载 Spring Cloud Alibaba训练营 —— 服务注册与发现
提示:手机查看排版可能不太友好,可以点击文章底部“阅读原文”1. 简介服务注册与发现是微服务架构体系中最关键的组件之一。如果尝试着用手动的方式来给每一个客户端来配置所有服务提供者的服务列...
2020-09-30 10:55:06
215
转载 Spring Cloud Alibaba训练营 —— 分布式配置
提示:在手机上查看排版可能不太友好,可见点击文章底部“阅读原文”1. 简介Nacos 提供用于存储配置和其他元数据的 key/value 存储,为分布式系统中的外部化配置提供服务器端和客...
2020-09-29 11:49:22
147
原创 钉钉群机器人开发
本文介绍项目中如何使用钉钉群机器人发送消息,可以配合上一篇重试机制使用,重试失败的时候,可以使用钉钉机器人发送告警信息,并且@相关的负责人及时处理。首先是添加一个群机器人机器人添加成功之...
2020-07-31 11:26:31
994
1
原创 Guava-Retrying自动重试工具
首先说,它是什么?他就是一个自动重试的工具,我们可以定义:什么情况下重试、什么条件下停止、等待多久重试、重试之后依然失败怎么办、并且可以监听整个重试过程。下面是介绍如何使用它。使用的时候...
2020-07-29 18:15:29
1332
原创 项目中遇到InheritableThreadLocal
先描述一下当时的场景,有一个需求,需要根据员工编号查询两万员工的信息,但是要去另一个微服务查询,所以使用feign的方式请求接口,但是一次查询两万个员工响应速度很慢,所以想要分几个线程请...
2020-04-16 17:50:30
1950
原创 SpringBoot+WebSocket+Nettty实现消息推送
上一篇文章Netty框架讲了Netty的理论基础,这一篇讲一下Netty在项目中的应用场景之一:消息推送功能,可以满足给所有用户推送,也可以满足给指定某一个用户推送消息,创建的是Spr...
2020-03-31 11:29:48
504
转载 Netty框架
文章较长,建议在电脑上查看Netty概述Netty是一款异步的事件驱动的网络应用程序框架,支持快速开发可维护、高性能且面向协议的服务器和客户端。Nett...
2020-03-26 22:50:18
161
转载 线上诊断工具Arthas的使用
Arthas(阿尔萨斯)是Alibaba开源的Java诊断工具。在线排查问题,无需重启,动态跟踪Java代码;实时监控JVM状态。在本地环境做测试:首...
2020-03-25 22:45:40
257
转载 JEXL表达式引擎的使用
简单介绍JEXL的全称是Java表达式语言(Java Expression Language),简单的说,它可以配合我们的Java程序运算一些简单的表达...
2020-03-23 07:00:00
1978
转载 如何设计秒杀服务的限流策略?
对于秒杀业务大家应该比较熟悉了,比方说某件商品原价是1299元,那么双11整点秒杀价仅500元,限量100件,先到先得。我们不难发现,参与秒杀商品的价格...
2020-03-22 13:07:11
693
转载 List生成树状结构 && 广度优先遍历树节点
实体类@DatapublicclassAreaclTreeVOimplementsSerializable{/***...
2020-03-21 22:09:50
400
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人