参考:https://github.com/alibaba/canal/wiki 准备 对于自建 MySQL,需要先开启Binlog写入功能,配置binlog-format为ROW模式,my.cnf中配置如下 [mysqld] log-bin=mysql-bin # 开启 binlog bin
阿里巴巴 MySQL binlog 增量订阅&消费组件:https://github.com/alibaba/canal 简介 canal [kə'næl],译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费 早期阿里巴巴因为杭州和美国双机房部署
1. Cannot open file logs/gc.log due to Permission denied 不能用root账户启动ES,需要用ES账户启动su essearch ./bin/elasticsearch 如果出现以上问题,则是因为用root启动过导致。到ElasticSearch
Github:https://github.com/ngbdf/redis-manager 配置 tar -zxf redis-manager-2.3.2.2-RELEASE.tar.gz cd redis-manager/conf vim application.yml datasourc
对于 Mysql 来说,有最流行的 web 管理工具phpMyAdmin,但是 Redis 一直都没有找到合适好用的管理工具,redis-manager是一个 Laravel 扩展包,运行在 Laravel 项目中,方便日常开发和运营。 地址:Github | Demo 安装非常简单: $ com
问题分析 MySQL字段类型datetime,实际存储的数据是:2020-09-08 17:01:16 Java的Date支持毫秒,比如:2020-09-08 17:01:15.618,通过SimpleDateFormat等格式化后的时间格式为:2020-09-08 17:01:15 导致MySQ
原始数据 > SELECT * FROM `app_language`; +----+--------+-------+--------------+--------------------------------------+---------------------+-------------
悲观锁和乐观锁的区别 悲观锁 每次拿数据都以为别人会修改,所以每次拿数据时都会上锁。 实现:开启事务,启用锁机制 乐观锁 每次拿数据时候都认为别人不会修改,所以不会上锁,但是在更新数据时候会判断在此期间是否有人更新过。 实现:1.使用版本号 2.使用时间戳 对比 术语 描述 示例 乐
ElasticSearch 集群原理 节点 一个运行中的EasticSearch 被称为一个节点,而集群是由多个用于拥有相同cluster.name配置的节点组成,它们共同承担数据和负载的压力,当有新的节点加入或移除,集群会重新平均分布所有的数据。 集群中的节点分为主节点和从节点。主节点负责管理集
ElasticSearch Rest高级API 提供了多种搜索方式,除了前面讲到的search查询,ElasticSearch 还提供了通过模板搜索查询。 我们可以通过脚本预选注册模板,在注册模板时定义一个模板名称。在查询时通过模板名称调用该模板。 注册模板 @Autowired private
Multi-Search多搜索请求 Multi-Search可同时添加多个search搜索请求,并行地在一个http请求中执行多个搜索请求,相较多次单请求查询可提升查询效率。ES客户端通过mget方法实现多请求搜索: @GetMapping("multiSearch") pub
ElasticSearch中提供了 FROM/SIZE 分页,但这种分页有性能瓶颈。 Scroll会以间隔时间滚屏的方式返回全部的查询数据,可以作为数据量很大的情况下,分页的一个替代方案 完整的示例如下: @GetMapping("scroll") public String
基本搜索 在search搜索中大部分的搜索条件添加都可通过设置SearchSourceBuilder来实现。如下为一段带有分页的简单搜索查询示例 @GetMapping("/search/base") public String searchBase() { Searc
获取ES客户端 ES的提供了四种Java客户端,分别为节点客户端(node client)、传输客户端(Transport Client)、低级REST客户端、高级REST客户端。 节点客户端作为集群节点的一部分,在集群节点较多的情况下会影响集群的反应速度。 传输客户端客户端虽然实现了和集群的解耦
问题:ElasticSearch查询时termQuery查询中文匹配失败 NativeSearchQueryBuilder queryBuilder = new NativeSearchQueryBuilder(); queryBuilder.withQuery(QueryBuilders.term