08 2021 档案
MySQL 用户及授权管理
摘要:创建新用户: -- 创建用户名为'user',密码为'passwd' CREATE USER user IDENTIFIED BY 'passwd'; -- 创建用户名为'user',所有的IP地址都可以使用 CREATE USER 'user'@'%'; -- 创建用户名为'user'是不限制用户
MySQL集群部署(docker)
摘要:Linux 安装 使用环境变量文件模式引入环境变量,文件为: .env # MySQL 时区 Timezone TZ=Asia/Shanghai # MySQL 版本 MYSQL_VERSION=8.0.20 # MySQL root 密码 MYSQL_ROOT_PASSWORD=behelpful
Swagger 之 整合 Gateway
摘要:集成到 Gateway ,需要Gateway 上配置属性拦截器,过滤器 通过 Gateway 中配置的路由,将资源全部整合到 swagger,路由集成 参看 Gateway 相关: https://www.cnblogs.com/Alay/p/15150600.html 1、自定义 一个 Swagg
Swagger 之 Starter 编写
摘要:这里并没有使用 starter 的自定加载而是使用 注解进行开关 Swagger 服务,这样方便选择性的打开或者关闭 Swagger 服务 没有过多的解释,请见谅,直接上代码: 码云中有整合的案例: https://gitee.com/chxlay/be-helpful/tree/master/be
Swagger 之 简单使用
摘要:Swagger2介绍 前后端分离开发模式中,api文档是最好的沟通方式。 Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。 及时性 (接口变更后,能够及时准确地通知相关前后端开发人员) 规范性 (并且保证接口的规范性,如接口的地址,请求方式
Session
摘要:资料来自多年前的 B站 Session会话 什么是Session会话? Session 会话是一个接口。 Session 是一个域对象。 Session 是用来维护客户端和服务器之间关联的一种技术。 一个Session会话对象维护一个客户端和服务器之间的关联 我们经常把用户登录的信息保存到Sessi
Cookie
摘要:资料和记录来自多年前 B 站的学习 Cookie 1、Cookie是由服务器通知客户端保存键值对的一种技术。 2、每组键值对大小不能超过4kb。 3、当客户端保存了cookie(键值对)之后,每次请求都会把cookie发送给服务器。 4、Cookie的键和值不能直接的支持中文(空格、方括号、圆括号、
JavaEE
摘要:JavaEE是一套使用Java进行企业级应用开发的,大家一致遵循的 13 个核心规范工业标准。JavaEE平台提供了一个基于组件的方法来加快设计、开发、装配及部署企业应用程序 1 JDBC (Java DataBase) 数据库连接 2 JNDI (Java Naming and Directory
Java 数学 API 收集
摘要:最头疼的就是 API ,用到的时候找不到,所以慢慢收集了一些,使用的时候直接来查找( 大多数的 A PI 都没必要记得 ) Math: System.out.println(Math.sqrt(16));// 计算平方根 4.0 System.out.println(Math.cbrt(8));//
Java优化细节
摘要:申明: 此文并非本人总结归纳,三年前摘自多人的文章,及公众号的推文 前言 代码 优化 ,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸
Git 快速使用
摘要:与 GitHub 和 码云为例 (GitLub 也是同样的手法) 1、创建 SSH key # 生成 key,将邮件地址替换为你 Gitee 或者 Github 使用的邮件地址(GitHub 和 GitEE 的邮箱地址相同也没事) 命令: ssh-keygen -t rsa -C "xxx@xxx.
IDEA快捷键
摘要:Ctrl 快捷键 介绍 Ctrl + F 在当前文件进行文本查找 (必备) Ctrl + R 在当前文件进行文本替换 (必备) Ctrl + Z 撤销 (必备) Ctrl + Y 删除光标所在行 或 删除选中的行 (必备) Ctrl + X 剪切光标所在行 或 剪切选择内容 Ctrl + C 复制光
Gateway 网关 之 自定义路由加载(源码分析)
摘要:源码梳理: RouteDefinitionLocator 是路由定义定位器的顶级接口,它的主要作用就是读取路由的配置信息(org.springframework.cloud.gateway.route.RouteDefinition)。它有五种不同的实现类,如图: RouteDefinitionLo
Gateway 网关 之 整合使用
摘要:引入 SpringCloud Gateway 依赖 Gateway 不需要 Spring-boot-web 依赖,需要移除,否则无法启动, 注意版本的兼容问题,否则会报错 NotFindClass................. <dependency> <groupId>org.springfr
Gateway 网关 之 跨域
摘要:关于网关配置跨域的没什么可多说的,简单粗暴一回,直接上代码: import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import
Gateway 网关 之 自定义过滤器
摘要:接口 ServerWebExchange: 关于 过滤器 相关接口解说请看: https://www.cnblogs.com/fdzang/p/11812348.html ServerWebExchange的注释: ServerWebExchange是一个HTTP请求-响应交互的契约。提供对HTTP
Gateway 网关 之 容错
摘要:过滤器:HystrixGatewayFilterFactory Spring Cloud Gateway 可以利用 Hystrix 实现服务降级等功能。 当Gateway进行路由转发时,如果发现下游服务连接超时允许进行服务降级。 实现原理:当连接超时时,使用Gateway自己的一个降级接口返回托底数
Gateway 网关 之 限流
摘要:可以利用Gateway中RequestRateLimiter实现限流 常见的限流算法 1、计数器算法 以QPS(每秒查询率Queries-per-second)为100举例。 从第一个请求开始计时。每个请求让计数器加一。当到达100以后,其他的请求都拒绝。 如果1秒钟内前200ms请求数量已经到达了
Gateway 网关 之 Filter
摘要:Filter作用 在路由转发到代理服务之前和代理服务返回结果之后额外做的事情。Filter执行了说明断言条件通过了 官网文档:https://cloud.spring.io/spring-cloud-gateway/reference/html/#gatewayfilter-factories Ga
Gateway 网关 之 Predicate 断言
摘要:启动 Gateway 日志中会打印 加载的断言 (官网介绍:https://cloud.spring.io/spring-cloud-gateway/reference/html/#gateway-request-predicates-factories) Loaded RoutePredicate
Gateway 网关 之 概述
摘要:Gateway 概述 什么是网关: API网关作用就是把各个服务对外提供的API汇聚起来,让外界看起来是一个统一的接口。同时也可在网关中提供额外的功能。总结:网关就是所有项目的一个统一入口 网关 = 路由转发 + 过滤器(编写额外功能) 路由转发: 接收外界请求,通过网关的路由转发,转发到后端的服务
Nacos 源码运行源码启动、部署
摘要:通常看到的 Nacos 启动 都是 jar 包下载来,命令启动,或者是 docker 启动,这样的启动方式对于开发过程中并不方便, 为了灵活的在开发过程中启动,所以通过 Nacos 官方 GitHub 拉取了源码 来整合启动,当然这种方式,仅仅只是为了开发过程中使用,并不推荐用于部署; Nacos
frp 内网穿透 搭建(超全)
摘要:简介: frp内网穿透 Github 地址 https://github.com/fatedier/frp 如果想使用 Docker 方式部署的朋友,需要具备 docker 的环境支持 docker 环境安装(支持一键安装):https://www.cnblogs.com/chxlay/p/1543
Logstash集成
摘要:加入依赖: <dependency> <groupId>net.logstash.logback</groupId> <artifactId>logstash-logback-encoder</artifactId> </dependency> 配置: behelpful: platform: lo
MySQL同步NoSQL
摘要:2022-11 月份更新,此篇文章为早期简单的封装使用的(简单快速使用使用,且混杂了 ES 的使用,建议查阅新的文章) 新文章地址: https://www.cnblogs.com/Alay/p/16902163.html ( 新文章中的方式,纯粹的 binlog 封装 ,且支持自定义扩展 ) 此示
NoSQL同步方案比较
摘要:申明:此文并非本人编写,而是多年前从其他博主文章中搬运整理过到 OneNote 中的,当时没有记录转载处,请见谅!! 第1种:同步双写: 这是一种最为简单的方式,在将数据写到mysql时,同时将数据写到ES,实现数据的双写 优点: 业务逻辑简单。 缺点: 硬编码: 有需要写入mysql的地方都需要添
Spring项目整合 ES (干货)
摘要:详细请前往码云查看源码: 2023-01-11 迁移至 GitHub ****** 以下文章内容随之时间变化,会有不适用,请以 GitHub 为准 ****** 依赖:(以下整合使用的是 ES 7.6.2 版本) <dependency> <groupId>org.springframework.b
ES 整合 Jest 客户端
摘要:关于es 的java 客户端的选择 客户端 优点 缺点 建议 TransportClient 启动速度快,轻量级,可创建极多连接,与应用程序解耦;推荐使用原生的,ES本身就很简单,灵活性很高 分发或查询数据速度较慢,不能获取指定节点数据 不建议使用 JestClient 提供Restful API,
ES数据结构定义
摘要:申明:此文章是早期学习的时候从其他博主的博文中整理而来的,但不记得是哪位博主的了,无法提供原文链接,见谅!!! 什么是 Mapping? Mapping类似于关系型数据库的Schema,主要包含以下内容: 定义索引中字段的名称 定义字段的数据类型,如:字符串、数字、boolean等 可对字段设置倒排
ES 语法(2)
摘要:申明:此文章是早期学习的时候从其他博主的博文中整理而来的,但不记得是哪位博主的了,无法提供原文链接,见谅!!! 动态的 mapping es 或根据第一次存入的数据,动态的决定这个字段的 mapping 类型,并且决定索引行为,后面类型不符合就没法存入,mapping 里面的 类型不能修改,只能添加
ES 安装部署 之 句柄数配置
摘要:elasticsearch 分配的内存资源太低,无法启动,报错 too low [2020-02-15T17:21:22,267][INFO ][o.e.x.s.a.s.FileRolesStore] [bS0fjGz] parsed [0] roles from file [/opt/ES/ela
ES安装部署相关
摘要:***** 注意: 此文档为早期 7.9.3 版本的,8.x 版本已经更新至 :https://www.cnblogs.com/Alay/p/17477153.html 官方文档: https://www.elastic.co/guide/en/elasticsearch/reference/cur
项目集成 Redis ( Jedis )
摘要:示例代码: 码云: https://gitee.com/chxlay/be-helpful.git > 模块:behelpful-common > behelpful-data , iredis 路径下 加入依赖: <!-- Redisson依赖,根据需求,可选的 --> <dependency>
lua脚本防止并发重复提交
摘要://对比防重删令牌 String script = "if redis.call('get', KEYS[1]) == ARGV[1] then return redis.call('del', KEYS[1]) else return 0 end"; Jedis jedis = jedisPool
分布式锁(Redis 方案)
摘要:1 缓存穿透,通过不存在的key访问db 2 缓存击穿,通过失效的热点key访问db 3 缓存雪崩,通过key的集体过期时间访问db 1:缓存穿透 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中,将去查询数据库,但是数据库也无此记录,并且处于容错考虑,我们没有将这次查询的null写入缓存,这
MySQL附近功能
摘要:MySQL 实现附近人功能纯属学习,并不好用,推荐使用 Search,方案对比: 方案 优势 缺点 Mysql外接正方形 逻辑清晰,实现简单,支持多条件筛选 效率较低,不适合大数据量,不支持按距离排序 Mysql+Geohash 借助索引有效提高效率,支持多条件筛选 不支持按距离排序,存在数据库瓶颈
Redis地图(附近人)
摘要:摘自:https://www.cnblogs.com/88223100/p/NEAR-BY-REDIS.html 不推荐使用 Redis 实现 ,推荐使用 ES 或者其他,ES 实现方案请前往:https://www.cnblogs.com/Alay/p/15115433.html 前言: 针对“附
RedisTemplate
摘要:此笔记是学习之初做的,很多是从别人的博客中学习来的,献丑了,抛砖引玉 近两年的开发中我很少使用 RedisTemplate 了,使用自己整合 Jedis ,自行整合 Redis 请查看: https://www.cnblogs.com/Alay/p/15092531.html 配置系列化: @Con
Redis 安装
摘要:相关网址: https://www.redis.net.cn/order/ Docker 版本启动: 创建工作目录,并在工作目录中 创建响应的文件夹和文件/xxx/redis/{conf,data},在 conf 目录下创建配置文件, 启动(工作目录在 /opt 路径下) docker 运行的命令: