自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 关于SVG格式图片实现室内地图

​可缩放矢量图形(Scalable Vector Graphics,SVG)基于 XML 标记语言,用于描述二维的矢量图形。作为一个基于文本的开放网络标准,SVG 能够优雅而简洁地渲染不同大小的图形,并和 CSS、DOM、JavaScript 和 SMIL 等其他网络标准无缝衔接。本质上,SVG 相对于图像,就好比 HTML相对于文本。

2024-03-30 13:52:50 517

原创 PHP【swoole】

Swoole 是如何来解决效率性能问题的?它就是通过直接将代码加载到内存的方式,就像 Java 一样来启动一个进程,实现 PHP 代码的高性能执行。同时,尽量保持代码还是可以按照传统的方式来写,为 PHP 提供了一个高性能的解决方案。

2024-03-03 20:22:19 1080

原创 Flink中的容错机制

如果出现故障,我们恢复到之前保存的状态,故障时正在处理的所有数据都需要重新处理;我们只需要让源(source)任务向数据源重新提交偏移量、请求重放数据就可以了(即重新将故障时的数据读入Flink)。当然这需要源任务可以把偏移量作为算子状态保存下来,而且外部数据源能够重置偏移量;

2024-01-22 21:30:50 1323

原创 Minio安装及整合SpringBoot

MinIO是一款基于Apache License v2.0开源协议的分布式文件系统(或者叫对象存储服务),可以做为云存储的解决方案用来保存海量的图片、视频、文档等。由于采用Golang实现,服务端可以工作在Windows、Linux、 OS X和FreeBSD上。配置简单,基本是复制可执行程序,单行命令就可以运行起来。

2024-01-14 22:19:13 1340

原创 Flink中的状态管理

在Flink中,算子任务可以分为有状态和无状态两种状态。无状态的算子任务只需要观察每个独立事件,根据当前输入的数据直接转换输出结果。例如Map、Filter、FlatMap都是属于无状态算子。而有状态的算子任务,就是除了当前数据外,还需要一些其他的数据来得到计算结果。这里的其他数据就是所谓的“状态”。例如聚合函数、窗口函数都属于有状态算子。

2024-01-07 22:02:35 1329

原创 Flink的处理函数

之前的流处理API,无论是基本的转换、聚合,还是更为复杂的窗口操作,其实都是基于DataStream进行转换的,所以可以统称为DataStream API。在Flink更底层,我们可以不定义任何具体的算子(比如map,filter,或者window),而只是提炼出一个统一的“处理”(process)操作——它是所有转换算子的一个概括性的表达,可以自定义处理逻辑,所以这一层接口就被叫作“处理函数”(。

2023-12-16 14:47:12 909

原创 Flink中的时间和窗口

Flink是一种流式计算引擎,主要是来处理无界数据流的,数据源源不断、无穷无尽。想要更加方便高效地处理无界流,一种方式就是将无限数据切割成有限的“数据块”进行处理,这就是所谓的“窗口”(Window)。

2023-12-16 14:46:37 1120

原创 Flink1.17 DataStream API

当Flink提供的所有分区策略都不能满足用户的需求时,我们可以通过使用partitionCustom()方法来自定义分区策略。例子:实现将奇数与偶数分配到不同的分区

2023-11-18 19:03:08 860

原创 Flink部署模式及核心概念

JobManager是一个Flink集群中任务管理和调度的核心,是控制应用执行的主进程。且每个应用都应该被一个唯一的JobManager所控制执行。

2023-10-22 15:32:02 433

原创 Flink云服务器本地集群部署及作业提交

Flink提交作业和执行任务,需要几个关键组件:客户端(Client)获取转换JobManner老大进一步处理转换真正干活数据的处理操作Flink是一个非常灵活的处理框架,它支持多种不同的部署场景,还可以和不同的资源管理平台方便的集成。本地模式、Standalone模式和FlinkonYARN模式是Flink的三种常见部署模式。

2023-10-17 22:26:10 228

原创 Apache Flink入门

Flink 主页在其顶部展示了该项目的理念:“Apache Flink 是为分布式、高性能、随时可用以及准确的流处理应用程序打造的开源流处理框架”。

2023-10-14 23:55:47 119

原创 MySQL 5.7中MDL锁问题排查

在MySQL5.5版本中引入了锁(metadata lock),即元数据锁(表锁)。其目的是为了在并发环境下维护表的数据一致性。试想一下,一个查询正在遍历表数据,执行期间另一个线程对表结构进行修改,那么查询线程拿到结果就和表结构对不上。

2023-09-16 17:51:51 321

转载 一致性哈希算法-白话解析

在了解一致性哈希算法之前,最好先了解一下哈希算法在分布式系统中的应用场景,之后再来了解一致性哈希算法会容易很多,也能明白为什么要使用一致性哈希算法。

2023-09-10 22:56:49 53

原创 字符串匹配算法-KMP算法

提到字符串匹配,最先想到的就是模式串与主串一个字符一个字符的进行匹配,当遇到不匹配的字符时,模式串则往后移动一位,继续从模式串的第一位开始匹配,这种匹配算法也被称为,即“暴力匹配算法”。时间复杂度为O(n*m),其中n、m表示主串与模式串的长度。BM算法、KMP算法都是在BF算法的基础之上进行优化,即在匹配的过程中,希望跳过更多的字符。

2023-09-08 14:44:14 71

原创 Docker部署Mycat2实现单库分表

​参考文档Mycat2官方语雀文档:Mycat2权威指南 (yuque.com)Mycat2注释配置:通过注释配置 (yuque.com)Mycat2映射关系:mycat2映射关系.pdf

2023-08-01 22:26:07 283

原创 Docker安装InfluxDB及整合SpringBoot

网上的教程前篇一律,参差不齐,于是决定自己整理一下InfluxDB的基础安装。InfluxDB的基础介绍则不再赘述。

2023-07-27 22:41:18 1477

原创 快速排序学习

快速排序利用的是分治的思想即“分而治之”。其中心思想就是:假如要对一个数组进行排序,可以先数组中随机找一个数作为分区点(pivot),从左往右遍历数组,将小于pivot的元素放在pivot的左边,将大于pivot的元素放在pivot的右边,这样数组就被分为了三个部分。

2023-07-23 16:59:22 59

原创 解决RabbitMQ因磁盘刷满导致无法服务

即使挂载了配置文件相关的目录也查看不了默认的配置文件,所以需要在 /usr/local/rabbitmq/conf (根据自己挂载的数据卷来)RabbitMQ配置文件默认的日志级别为INFO,一定时间后可能会导致日志将磁盘刷满导致MQ无法正常提供服务。新建 rabbitmq.conf。保存配置文件,并重启容器。

2023-06-27 12:00:04 924

原创 Docker使用Jenkins部署项目

3.在源码管理中进行Gitee设置4.构建触发器只需要将Jenkins生成的Gitee WebHook 密码和URL填入Gitee中对应仓库的WebHook中即可。5.如果是部署Java项目,则需要额外配置。

2023-06-09 22:14:51 2378

原创 Docker搭建MySQL主从复制

企业中的业务通常数据量都比较大,而单台数据库在数据存储、安全性和高并发方面都无法满足实际的需求,所以需要配置多台主从数据服务器,以实现主从复制,增加数据可靠性,读写分离,也减少数据库压力和存储引擎带来的表锁定和行锁定问题。

2023-03-12 18:15:23 291 1

原创 MongoDB入门到使用

MongoDB是⼀个 基于分布式⽂件存储的数据库 。由C++语⾔编写。旨在 为WEB 应⽤提供可扩展⾼性能数据存储解决⽅案 。 MongoDB是⼀个 介于关系数据库和⾮关系数据库 之间的产品,是⾮关系数据 库当中功能最丰富,最像关系数据库的。他⽀持的数据结构⾮常松散,是 类似json的bson格式,因此可以存储⽐较复杂的数据类型 。Mongo最⼤的 特点是他⽀持的查询语⾔⾮常强⼤,其语法有点类似于⾯向对象的查询语 ⾔, ⼏乎可以实现类似关系数据库单表查询的绝⼤部分功能,⽽且还⽀持对数据 建⽴索引。

2023-02-07 14:18:51 851 1

原创 多线程之异步编排实例详解

在 Java 8 中, 新增加了一个包含 50 个方法左右的类: CompletableFuture,提供了非常强大的 Future 的扩展功能,可以帮助我们简化异步编程的复杂性,提供了函数式编程的能力,可以通过回调的方式处理计算结果,并且提供了转换和组合 CompletableFuture 的方法。虽然`Future`以及相关使用方法提供了异步执行任务的能力,但是对于结果的获取却是很不方便,只能通过阻塞或者轮询的方式得到任务的结果。Future 是 Java 5 添加的类,用来描述一个异步计算的结果。

2022-12-11 21:37:00 1544

原创 RabbitMQ消息中间件使用详解

Message Queue(消息 队列),从字⾯上理解:⾸先它是⼀个队列。FIFO先进先出的数据结构——队列。消息队列就是所谓的存放消息的队列。 消息队列解决的不是存放消息的队列的⽬的,解决的是通信问题。

2022-11-27 20:48:28 1010

原创 Sharding-JDBC--分库分表中间件

Apache ShardingSphere 是⼀套开源的分布式数据库解决⽅案组成的⽣态圈,它由 JDBC、 Proxy 和 Sidecar(规划中)这 3 款既能够独⽴部署,⼜⽀持混合部署配合使⽤的产品组成。它们均提供标准化的数据⽔平扩展、分布式事务和分布式治理等功能,可适⽤于如 Java 同 构、异构语⾔、云原⽣等各种多样化的应⽤场景。Apache ShardingSphere 旨在充分合理地在分布式的场景下利⽤关系型数据库的计算和存储 能⼒,⽽并⾮实现⼀个全新的关系型数据库。

2022-11-09 22:53:44 858

原创 SpringBoot整合Redisson

Redisson 是架设在 Redis 基础上的一个 Java 驻内存数据网格(In-Memory Data Grid)。充分 的利用了 Redis 键值数据库提供的一系列优势,基于 Java 实用工具包中常用接口,为使用者 提供了一系列具有分布式特性的常用工具类。使得原本作为协调单机多线程并发程序的工 具包获得了协调分布式多机多线程并发系统的能力,大大降低了设计和研发大规模分布式 系统的难度。同时结合各富特色的分布式服务,更进一步简化了分布式环境中程序相互之间的协作。

2022-10-29 21:45:32 19160 3

原创 SpringBoot整合Redis及实现本地锁、分布式锁

由于缓存是不命中,将去查询数据库,但是数 据库也无此记录,我们没有将这次查询的 null 写入缓存,这将导致这个不存在的数据每次 请求都要到存储层去查询,失去了缓存的意义。是指在我们设置缓存时采用了相同的过期时间,导致缓存在某一时刻同时失 效,请求全部转发到 DB,DB 瞬时压力过重雪崩。,比如 1-5 分钟随机,这样每一个缓存的过期时间的 重复率就会降低,就很难引发集体失效的事件。请求进来首先查询缓存,缓存未命中则查询数据,所以我们要在查询数据库的代码加上锁,这里使用。

2022-10-23 17:51:08 398

原创 SpringSeesion的学习使用

SpringSeesion学习使用

2022-10-13 15:02:05 180

原创 Elasticsearch基础入门及整合SpringBoot

ElasticSearch及RestApi的使用

2022-10-10 20:11:44 2672

原创 Prometheus&Grafana 监控

Prometheus 是一个开源的完整监控解决方案,其对传统监控系统的测试和告警模型进 行了彻底的颠覆,形成了基于中央化的规则计算、统一分析和告警的新模型。

2022-09-18 19:52:27 679

原创 JSR303校验

JSR是Java Specification Requests的缩写,意思是Java 规范提案JSR-303 是JAVA EE 6 中的一项子规范,叫做Bean Validation即,JSR 303,Bean Validation规范 ,为Bean验证定义了元数据模型和API.。默认的元数据模型是通过Annotations来描述的,但是也可以使用XML来重载或者扩展。

2022-09-12 21:42:00 3786

原创 SpringCloud整合阿里云OSS实现文件上传

阿里云对象存储OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,可提供99.9999999999%(12个9)的数据持久性,99.995%的数据可用性。多种存储类型供选择,全面优化存储成本。OSS具有与平台无关的RESTful API接口,您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。您可以使用阿里云提供的API、SDK接口或者OSS迁移工具轻松地将海量数据移入或移出阿里云OSS。

2022-09-07 22:54:19 2544 2

原创 Mybatis-plus实现软删除三级菜单

因为我的数据表中的show_status的值是与配置文件中的配置是相反的,所以我们需要改为。即使调用delete方法,也不是将这条记录物理删除,只是将show_status设置为0。1.在application.yml中配置相关信息。为我们在数据表中代表未进行逻辑删除的值。为我们在数据表中代表已经逻辑删除的值。2.在对应需要软删除的实体类上添加。为我们标定软删除的值,

2022-09-04 18:24:56 1052

原创 Spring Cloud GateWay的简单使用及跨域配置--02

同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。到此,我们将renren-fast注册进nacos,并统一交由网关路由,并解决跨域问题。因为Gateway为所有请求的入口,我们可直接在Gateway模块中添加跨域的配置。1.在Gateway模块中新建一个config文件夹,用于存放我们的配置类。注解将我们自定义的跨域配置类注入容器。

2022-09-03 16:22:35 1576

原创 Java8新特性Stream流与Lambda

Stream是Java8中处理集合的关键抽象概念,Stream API提供了一种高效且易于使用的处理数据的方式。你可以使用它对集合数据进行指定操作,如可以执行非常复杂的查找、过滤和映射数据等操作。Stream(流)是一个来自数据源的元素队列并支持聚合操作元素是特定类型的对象,形成一个队列。Java中的Stream并不会存储元素,而是按需计算。数据源流的来源。可以是集合,数组,I/O channel, 产生器generator 等。聚合操作。

2022-09-02 19:00:07 320

原创 使用人人开源【renren-generator】快速构建项目

renren-generator: 人人开源项目的代码生成器,可在线生成entity、xml、dao、service、vue、sql代码,减少70%以上的开发任务 (gitee.com)在这里选择我们要生成的数据表,点击生成代码,可得到一个压缩包,在本地解压。比如:我们去除权限管理,只需要注释或删除相干的代码即可。设置要生成的包路径、包名、作者、邮箱、数据库表前缀即可。1.在application.yml修改配置如下。将数据源配置设置成自己的数据库配置。4.Run一把启动类。...

2022-08-29 14:03:12 575

原创 Spring Cloud GateWay的简单使用

1.网关是一个服务:Spring Cloud GateWay是Spring Cloud的⼀个全新项⽬,⽬标是取代Netflix Zuul,基于Spring5.0+SpringBoot2.0+WebFlux(基于⾼性能的Reactor模式响应式通信框架Netty,异步⾮阻塞模型)等技术开发,性能⾼于Zuul,官⽅测试,GateWay是Zuul的1.6倍,旨在为微服务架构提供⼀种简单有效的统⼀的API路由管理⽅式2.网关的三大功能RouteIDURIPredicateFilter3.工作流程客户端向。...

2022-08-28 18:48:38 453

原创 Nacos配置中心命名空间与组

nacos配置中心的使用

2022-08-28 16:09:56 4613

原创 Nacos配置中心的简单使用

nacos配置中心的使用

2022-08-28 14:46:14 958

原创 微服务搭建openFeign实现远程调用-02

nacos与openfeign的简单配置与使用

2022-08-27 22:26:31 450

原创 Linux安装Docker(附Redis、MySQL Docker安装)

1.在linux服务器上安装Docker(我用的腾讯云服务器,搭建起来比较轻松,推荐使用)1.卸载Docker(如果你的服务器上从未安装过Docker,可跳过此步骤)2.建立仓库并安装Docker引擎3.启动Docker4.一些Docker的常用命令。...

2022-08-27 21:03:20 737

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除