自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 5 apache poi实现excel的动态下拉框功能

【代码】5 apache poi实现excel的动态下拉框功能。

2024-09-27 10:38:22 545

原创 42 Apache poi实现excel中sheet的复制

【代码】42 Apache poi实现excel中sheet的复制。

2024-09-02 18:03:33 196

原创 4 常见函数式接口

【代码】4 常见函数式接口。

2024-08-13 23:42:44 175 1

原创 3 lambda入门案例

【代码】3 lambda入门案例。

2024-08-13 23:24:11 105

原创 03 Maxwell

Maxwell是由美国Zendesk开源,使用Java编写的MySQL实时抓取工具,可以实时读取MySQL二进制日志binlog,并生成 JSON 格式的消息,作为生产者发送给 Kafka,Kinesis、RabbitMQ、Redis、Google Cloud Pub/Sub、文件或其它平台的应用程序。它设计的初衷是实时采集Mysql数据到Kafka。支持全表load数据,支持自动断点还原,支持按照列将数据发送到Kafka不同分区。

2024-08-08 18:09:13 660

原创 03 Canal HA原理及安装

Canal一般用于实时同步数据场景,那么对于实时场景HA显得尤为重要,Canal支持HA搭建,canal的HA分为两部分,canal server和canal client分别有对应的HA实现。将Canal安装包上传到node3,node4,并解压到“/software/canal”目录下,修改“/software/canal/conf”下的canal.properties文件,加上zookeeper配置。zookeeper地址:node3:2181,node4:2181,node5:2181。

2024-08-08 17:45:17 1017

原创 02 Canal的安装&使用

首先需要在Canal中配置CanalServer 对应的canal.properties,这个文件中主要配置Canal对应的同步数据实例(Canal Instance)位置信息及数据导出的模式,例如:我们需要将某个mysql中的数据同步到Kafka中,那么就可以创建一个“数据同步实例”,导出到Kafka就是一种模式。基于get获取的batchId进行提交,避免误操作。data:最新的数据,为JSON数组,如果是插入则表示最新插入的数据,如果是更新,则表示更新后的最新数据,如果是删除,则表示被删除的数据。

2024-08-08 17:00:05 1074

原创 1. shiro的基本使用

1. Shiro是基于Java语言编写的,Shiro最核心的功能就是认证和授权。

2024-08-02 14:00:42 306

原创 01. 实时数据同步工具

Canal [kə’næl],译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费。早期阿里巴巴因为杭州和美国双机房部署,存在跨机房同步的业务需求,实现方式主要是基于业务 trigger 触发器获取增量变更。从 2010 年开始,业务逐步尝试数据库日志解析获取增量变更进行同步,由此衍生出了大量的数据库增量订阅和消费业务。当前的 canal 支持源端 MySQL 版本包括 5.1.x , 5.5.x , 5.6.x , 5.7.x , 8.0.x。

2024-07-31 15:26:47 335

原创 10 排序&分页&高亮

【代码】10 排序&分页&高亮。

2024-06-24 01:50:36 178

原创 9 RestClient客户端操作文档

name搜索字段参与了分词,因此会查询出两条记录。

2024-06-24 01:31:00 373

原创 8 排序&分页&高亮

search after方式: 分页时候需要排序,原理是从上一次的排序值开始。es默认情况下,只返回top10条数据,而如果需要查询更多的数据就需要设置分页参数,from,size。es的查询限制,是10000条,如果需要大于10000,实际生产环境会从业务上限制在10000条数据.scroll: 滚动读取,读的数据是快照方式,意味着读取的数据不是最新的,官方不推荐。高亮查询的时候,肯定不是match_all。注意: 分页并不是es所擅长的。

2024-06-24 00:43:55 190

原创 7 bool query组合查询

【代码】7 bool query组合查询。

2024-06-23 17:06:48 311

原创 6 DSL_03地理信息查询&相关性算分

复合查询:将简单查询进行组合,实现更复杂的搜索逻辑,例如:function score: 算分函数查询,可以控制文档相关性算分,控制文档排名,例如百度竞价。使用,function score query,修改文档的相关性算分,根据新得到的算分排序。

2024-06-23 16:03:20 205

原创 5 DSL入门_02精确查询

【代码】5 DSL入门_02精确查询。

2024-06-23 15:19:50 212

原创 4. DSL入门_01

之前在定义mappings的时候,定义了多个字段检索的条件all,因此使用brand检索,也是可以检索出数据的。搜出结果,建议使用all的方式,不建议使用multi_match的方式。分词检索,将搜索词进行分词,然后查询出2条数据。(2.1)重新导入数据,整合地理坐标。

2024-06-23 14:58:54 424

原创 3. 向索引库中导入数据

忍不了,升级了依赖到7.8.0。

2024-06-23 13:49:16 323

原创 2. 数据结构分析即索引库的crud

put /hotel//id需要进行crud操作,但是不需要分词"id":{},//需要进行检索,也需要进行分词"name":{},//地址不需要检索},//需要参与检索"price":{},//需要参与检索"score":{},//需要参与检索"brand":{},"city":{},},},//需要参与检索,地理信息类型的数据},"pic":{},"all":{

2024-06-23 12:38:30 279

原创 1. 入门概念

【代码】1. 入门概念。

2024-06-23 00:00:36 143

原创 2. lambda语法格式

2024-05-27 23:59:19 96

原创 1. lambda初体验

【代码】1. lambda初体验。

2024-05-27 23:57:28 452 1

原创 21 springboot集成kafka

【代码】21 springboot集成kafka。

2024-03-01 14:42:37 556

原创 10 Hadoop的安全模式及权限介绍

到达block的末端时,DFSInputSream关闭与该datanode的连接,然后寻找下一个block的最佳datanode。列表中的datanode会形成管线,DataStreamer将数据包发送给管线中的第一个datanode,第一个datanode将接收到的数据发送给第二个datanode,第二个发送给第三个。b)为存储在另一正常datanode的当前数据块指定一个新的标志,并将该标志传送给namenode,以便故障datanode在恢复后可以删除存储的部分数据块。

2024-01-21 11:10:14 1130

原创 48 分布式id的生成策略

这种方式在单个数据库的场景中是可以这样做的,但如果是在分库分表的环境下。因为ID要唯一,但是分表分库后只能保证一个表中的ID的唯一,而不能保证整体的ID唯一。UUID 是由一组32位数的16进制数字所构成,以连字号分隔的五组来显示,形式为 8-4-4-4-12,总共有 36个字符(即三十二个英数字母和四个连字号)。单点数据库方式存在明显的性能问题,可以对数据库进行优化,担心一个主节点挂掉没法使用,可以选择做双主模式集群,也就是两个MySQL实例都能单独生产自增的ID。在高并发情况下无能为力。

2024-01-16 10:34:29 703

原创 3 Mycat读写分离实现

基于Mysql主从复制,我们通过Mycat,能够实现读写分离,即master主服务器实现写操作(insert,update,delete等),salve从服务器实现读操作(select等)主服务器一旦有写入操作,从服务器通过读取binlog,来实现数据同步;Mycat也时时发送心跳包来检测mysql服务器是否可用;

2023-12-12 15:58:32 130

原创 2 Mycat2 安装与启动

优点是并不需要记录每一条sql语句和每一行的数据变化,减少了binlog日志量,节约IO,提高性能。缺点是在某些情况下会导致master-slave中的数据不一致(如sleep()函数, last_insert_id(),以及user-defined functions(udf)等会出现问题)。以上两种模式的混合使用,一般的复制使用STATEMENT模式保存binlog,对于STATEMENT模式无法复制的操作使用ROW模式保存binlog,MySQL会根据执行的SQL语句选择日志保存方式。

2023-12-12 10:54:32 327

原创 1. Mycat2应用与实战

1、mycat介绍Mycat 是一个开源的分布式数据库系统,但是由于真正的数据库需要存储引擎,而 Mycat 并没有存 储引擎,所以并不是完全意义的分布式数据库系统。MyCat是目前最流行的基于Java语言编写的数据库中间件,也可以理解为是数据库代理。在架构体系中是位于数据库和应用层之间的一个组件,并且对于应用层是透明的,即数据库 感受不到mycat的存在,认为是直接连接的mysql数据库(实际上是连接的mycat,mycat实现了mysql的原生协议)。MyCat是基于阿里开源的Cobar产品而

2023-12-11 20:01:12 265

原创 20 Redis进阶 - 运维监控

redis_exporter在新窗口打开为Prometheus提供了redis指标的exporter,支持Redis 2.x, 3.x, 4.x, 5.x, and 6.x,配合Prometheus以及grafana的Prometheus Redis插件,可以在grafana进行可视化及监控。是一个比较有名的redis指标可视化的监控工具,采用ruby开发,基于redis的info和monitor命令来统计,不影响redis性能。采用python开发的redis的可视化及查询分析工具。

2023-12-10 17:44:43 280

原创 19 redis缓存数据同步问题

由于缓存不命中,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,缓存就没有意义了。的数据(一般是缓存时间到期),这时由于并发用户特别多,同时读缓存没读到数据,又同时去数据库去取数据,引起数据库压力瞬间增大,造成过大压力。在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击我们的应用,这就是漏洞。缓存击穿指并发查同一条数据,缓存雪崩是不同数据都过期了,很多数据都查不到从而查数据库。,而查询数据量巨大,引起数据库压力过大甚至down机。

2023-12-10 11:18:06 110

原创 18 Java与redis集群的通信

【代码】18 Java与redis集群的通信。

2023-12-09 23:25:59 102

原创 17 redis集群方案

Redis Cluster在以下场景下集群总是可用:大部分master节点可用,并且对少部分不可用的master,每一个master至少有一个当前可用的slave。更进一步,通过使用 replicas migration 技术,当前没有slave的master会从当前拥有多个slave的master接受到一个新slave来确保可用性。而在(网络)分区故障下,对少数派master的写入,发生写丢失的时间窗会很大。为了解决单机内存,并发等瓶颈,可使用此方案解决问题.这里的集群是指多主多从,不是一主多从。

2023-11-24 16:00:15 261

原创 16 redis高可用读写分离方案

在前面说的JedisSentinelPool只能实现主从的切换,而。

2023-11-24 11:52:13 186

原创 15 reids哨兵机制

redis主机默认是10s发送一次心跳给从节点。从节点默认1s去发送心跳给主节点。

2023-11-24 10:42:25 79

原创 14 redis全量复制与部分复制

执行复制的双方,主从节点,分别会维护一个复制偏移量offset: 主节点每次向从节点同步了N字节数据后,将修改自己的复制偏移量offset+N 从节点每次从主节点同步了N字节数据后,将修改自己的复制偏移量offset+N。在数据同步之后,由于主节点不断的接受到写入命令,主从节点进入命令传播阶段,主节点将自己执行的写命令发送给从节点,从节点接收命令并执行,从而保证主从节点数据的一致性。在主节点进行命令传播时,不仅会将写命令同步到从节点,还会将写命令写入复制积压缓冲区。主从复制的开启,完全是在从节点发起的。

2023-11-23 22:42:13 430

原创 13 redis中的复制的拓扑结构

注意:从节点是无法写入的,即使是从主节点变成从节点,也不可以写入。

2023-11-21 23:27:51 234

原创 12 分布式锁加入看门狗

【代码】12 分布式锁加入看门狗。

2023-11-21 16:31:50 120

原创 11 redis中分布式锁的实现

【代码】11 redis中分布式锁的实现。

2023-11-21 11:15:27 213

原创 10 Redis的持久化

bgsave: 一般情况下不会阻塞主线程,原因是会创建一个子进程,单独取创建一个RDB的dump文件,save: 使用save的方式会阻塞主线程,影响redis的性能。上图中的配置,后台使用的bgsave命令,save只是一个摆设。配置文件中开启aof。

2023-11-20 21:33:47 266

原创 9 Redis的发布和订阅

发布订阅:发送即忘的原则,发了就不管了,没有人订阅,就丢了。

2023-11-20 17:15:22 57

原创 8 Redis与Lua

LUA脚本语言是C开发的,类似存储过程,是为了实现完整的原子性操作,可以用来补充redis弱事务的缺点.

2023-11-20 08:33:48 463

空空如也

空空如也

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

TA关注的人

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