自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 springboot构建docker集群实践部署

为啥要用Docker?为啥要用Docker?这要从目前软件行业的痛点来讲起 软件更新发布及部署低效,过程繁琐且需要人工介入 环境一致性难以保证 不同环境之间迁移成本太高 既然docker那么火那么热,那我们不妨学习一下如何构建自己的docker镜像通过dockerFile构建自己的镜像# 基于java镜像创建新镜像FROM java:8# 作者MAINTAINER 杨汉奇 #在容器内创建创建目录,创建的目录之后需要挂载到宿主机外,实现持久化.

2020-11-14 12:32:35 703

原创 Mysql从索引原理对SQL分析优化实战

Mysql从索引原理对SQL分析优化实战无论是在大型项目,还是小型项目中,随着业务的迭代,用户的增长,数据库数据往往都是成百万级别的,这时候普通的sql语句执行起来是**非常慢**的,这时候就需要对sql进行优化啦,接下来将手把手从索引原理带你学会如何分析优化,写出一手逼格的sqlMysql的索引存储原理:mysql有两种索引:**hash**和**b+tree**select * from user where age = 10(生效)select * from ...

2020-11-07 16:43:53 298

原创 mysql索引的实现原理

1,mysql索引原理: hash:通过索引的计算定位到数据的存储的位置,进行一次I/O即可,效率非常高,但是是适合用于等值查询,范围查询索引是不起作用。 B+bree:MySQL的b+tree不是b-tree,而是在b-tree上进行了优化,所有的data都放在了叶节点,目的是为了使根节点存储更多的索引key值,mysql默认每一节点层是存储16k的数据,假设:存储的主键索引...

2019-08-11 19:24:11 2081

原创 springboot sentinel持久化到nacos

详细利用图文方式介绍了sentinel的配置持久化到nocos

2022-07-22 11:53:02 1590

原创 springboot sentinel整合与使用

sentinel入门学习,配有图文详细讲解,结合代码和配置进行测试

2022-07-21 19:22:56 1153 1

原创 springboot nocos整合与使用(配置中心)

springboot nocos整合与使用(配置中心)

2022-07-15 20:00:30 607

原创 CompletableFuture实践用法

import com.atguigu.common.utils.R;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;import java.util.concurrent....

2021-12-16 14:44:48 498

原创 多线程CompletableFuture用法

import java.util.concurrent.*;public class ThreadTest { private static ExecutorService service = Executors.newFixedThreadPool(10); public static void main(String[] args) throws Exception {// runAsync();// supplyAsync();/...

2021-12-12 17:39:09 325

原创 docker swarm集群搭建高可用mysql主备

docker swarm集群搭建高可用mysql主备前提:为了避免mysql单点故障,很有必要引进mysql主备。主和备分别在不同机器,并且需要保持数据一致性技术:这里用到nginx+mysql+mysql做高可用的主备,利用nginx做反向代理,当其中一台mysql服务器宕机后,自动切换另一台,注意这里不能做负载均衡,因为高并发是有存在问题的。一,启动docker swarm集群1,docker stack 配置如下图,如果不会搭建docker swarm 集群的,参考文章:搭建.

2020-12-16 21:22:04 3237 2

原创 docker整合redis哨兵模式(一主二从三哨兵)

docker整合redis哨兵模式(一主二从三哨兵)Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Redis做Master-slave的高可用方案时,假如master宕机了,Redis本身(包括它的很多客户端)都没有实现自动进行主备切换,而Redis-sentinel本身也是一个独立运行的进程,它能监控多个master-slave集群,发现master宕机后能进行自动切换。Sentinel由一个或多个Sentinel 实例 组成的Sentinel 系统可以监视任意多个

2020-12-10 23:51:35 721

原创 搭建docker swarm高可用集群以及常用命令

Swarm 是 Docker 官方提供的一款集群管理工具,其主要作用是把若干台 Docker 主机抽象为一个整体,并且通过一个入口统一管理这些 Docker 主机上的各种 Docker 资源为了利用swarm模式的容错功能,应保持集群中奇数管理员来支持manager节点故障。当leader故障时,会选举新的leader。注意:三个manage只允许一个manage故障,如果swarm失去法定人数,swarm不能自动恢复,工作节点上的任务继续运行,不受影响,但无法执行管理任务,包括扩..

2020-12-06 23:55:25 1234 4

原创 docker容器mysql开启binlog和定时备份

为了保证mysql数据库的数据完整性,除了数据库的数据挂到宿主机做持久化外,还需要做binlog和定时备份数据1, 添加mysql的文件映射到docker-stack 文件中 #指定开启binlog的配置文件 - /home/test/binlog/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf #指定备份数据库的定时任务执行shell文件 - /home/test/binlog/mysql-dump.

2020-11-29 00:45:48 355

原创 jekins+docker+git整合

此文章针对的是java项目,如上图,选择构建一个maven项目如上图,填写git的地址,添加密钥,以及指定哪个分支触发jekins如上图,构建触发器如上图,构建环境指定输入日志如上图,指定pom.xml文件,指定打包命令,指定构建完jar包时生成的镜像名称如上图,通过ssh连接到服务器,push生成的镜像,(并且重启项目),以及生成api文档注意:jekins的工作目录为:/data/jekins_home/workspace (宿主机)...

2020-11-08 23:31:25 127

原创 go的同步机制(sync.Mutex)

一,并发进行i++操作type atomicInt struct { value int lock sync.Mutex}func (a *atomicInt) increment() { fmt.Println("safe increment") fmt.Println(a.value) func() { a.lock.Lock() defer a.lock.Unlock() a.value++ }()}func (a *atomicInt) get() .

2020-06-27 18:41:27 391

原创 go的闭包(累加之和)

问题:从1到10累加并且输出:它是通过自由变量实现的。如代码:sum为自由变量func add() func(int) int{ sum := 0 return func(i int) int{ sum += i return sum }}func main() { a := add() for i:=0;i<10;i++{ fmt.Printf("0+.......+%d: %d\n",i,a(i)) }}...

2020-06-27 14:12:07 394

原创 go多线程通信以及控制协程与主线程关闭问题(sync.WaitGroup)

一,需要分配10个协程去接收20个任务,每个协程接收2个任务。问题1:每个协程通过通道(chan int)接收的任务是否完成,主线程不知道?问题2:主线程如果执行完了,则在主线程的协程则会自动结束,未接收完的协程则自动被杀掉。解决方案如下:通过sync.WaitGroupwg.Add(n) :为wg添加 n 个任务,wg.Done() :减掉一个任务wg.Wait() : 这个用于主线程等待,等到所有任务执行完了。则就会结束。type Worker struct { ...

2020-06-27 13:52:59 1103

原创 springboot+dubbo+zookeeper(微服务生产者与消费者实战)

一,生产者配置:1,导入依赖<!-- dubbo --> <dependency> <groupId>io.dubbo.springboot</groupId> <artifactId>spring-boot-starter-dubbo</artifactId> <v...

2020-02-25 18:44:14 743

原创 maven打包配置

springboot项目maven打包配置:1,配置打包类型:<packaging>jar</packaging>不配置<packaging>jar</packaging>,默认是jar,有war,pom,jar三种。2,配置打包插件: <build> <!-- 名字与artifactI...

2020-02-17 16:17:33 459

原创 Kaptcha图片验证码整合

流程:生成图片---->把验证码数据放到session中---->登录接口进行比较。这里对session解释下:当服务端在getSession(true)时创建了Session的同时,服务器会为该Session生成唯一的Session id,而这个Session id在随后的请求中会被用来重新获得已经创建的Session;在Session被创建之后,就可以调用Session相关的方...

2020-02-15 00:18:46 178

原创 java NIO方式读写文件

Java NIO(new/inputstream outputstream)使用通道、缓冲来操作流,所以要深刻理解这些概念,尤其是,缓冲中的数据结构(当前位置(position)、限制(limit)、容量(capacity))。Channel(通道)、Buffer(缓冲区)、Selector(选择器)/** * @author sy * @date 2020/2/13 19:31 ...

2020-02-13 20:16:18 379

原创 防止Xss攻击

原理:通过过滤request请求的url进行处理。1,编写xssFilter类,public class XssFilter implements Filter { FilterConfig filterConfig = null; private List<String> urlExclusion = null; public void in...

2020-02-13 16:00:54 314

原创 通过链接动态判断文件类型

1,判断链接的类型://判断是图片、视频、ex、word的其中一种 function checkform(f_content){ console.log("链接:"+f_content); var fileext=f_content.substring(f_content.lastIndexOf("."),f_content.lastIndexOf("?")...

2019-12-06 12:36:07 528

原创 java全局统一处理异常

背景:通一处理异常可以更好的控制交互,不会出现一些乱七八糟的报错信息返回给客户,并且可扩展。注解:@ControllerAdvice :通一处理异常的标识,其实就是一个Controller @ExceptionHandler(VixInsufficientException.class) 要拦截的异常一,定义全局异常处理类import com.m...

2019-08-29 17:02:15 916

原创 IDEA中去除maven重复依赖,冲突依赖

背景:maven是管理我们项目jar包的一个很好的工具,但是我们开发时就会不知不觉的造成jar冲突,或者是重复依赖,由于一些其他dependency中包含了某个jar,然而我们又导入了其他jar,这样造成整个项目的jar冗余,庞大,下面就教大家一些去除重复或者冲突依赖的方法、开发工具:IDEA1,如下图:点击右上角的show Dependencies, 就会出现左边的依赖树图 ...

2019-08-28 17:27:29 18117 7

原创 java接入google登录与本人遇到的坑

官网文档:https://developers.google.com/identity/sign-in/web/sign-in1,流程: 方案一,可以全部由后端处理,方案二,可以前后端配合,前端通过google的js吊起google登录,登录后,前端传给后端一个id_token,后端进行认证,认证id_token的正确性和aud是否跟你的应用aud一致,确保请求是从你的应用发...

2019-08-27 15:28:01 3240 6

原创 java高效随机生成随机(英文+数字),可自定义

高效package com.messcat.imgrnt.utils;import java.io.Serializable;import java.util.Random;/** * 生成随机用户名 * @author sy * @date 2019/8/26 13:08 */public class RandomUtils implements Serializa...

2019-08-26 13:31:40 3833

原创 java8新特性stream用法

不说废话, 直接见代码:@Test // 2019-08-20 author: 杨汉奇 public void test() { List<User> userList = new ArrayList<>(); userList.add(new User(1,new BigDecimal("1000"))); userList.add(new...

2019-08-20 12:01:38 127

原创 springmvc重定向到外网ip

一,目的:在邮箱激活成功后重定向到登录页面。。。。注:地址要加 : http:// ,带中文参数时要设置编码,不然会出现乱码。。。/** * 邮箱激活账号 */@RequestMapping("/validateEmail")public ModelAndView validateEmail(@RequestParam String code)throws Exceptio...

2019-07-10 22:47:32 660

原创 springboot配置邮箱发送(ssl)--解决linux服务器不能发送问题

1,导包:<!-- mail发送 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependen...

2019-07-10 12:17:52 1970

原创 简单的shiro案例(springboot+mybatis)

1,导入maven<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:/...

2019-06-14 00:47:53 344

原创 动态设置img标签图片失效问题

$(document).ready(function(){var list = [[${documents}]]; $.each(list,function(i,data){ var tr = $("#tbody"); var image = "image"+i; tr.append('<tr>\n' + ' ...

2019-05-09 14:25:41 1294

原创 Decimal工具类

package cn.xiaobawan.common.utils;import java.math.BigDecimal;import java.math.RoundingMode;/** * 数学工具类 */public class MathUtil { /** * 加法 * * @param a 被加数 * @param b...

2019-05-04 00:17:57 323

原创 springboot异常处理类

1.在templates下创建一个error文件夹,里面存放404.flt,500.flt文件默认情况下找不到资源文件或者500报错,springboot都会去templates/error下去找页面(不会这个路径以及名字找不到),然后显示出对应的页面,但是我们需要打印日志以及报错的请求路径:package com.mooc.house.web.controller;import o...

2019-03-15 17:10:26 323

转载 springboot整合freemarker静态文件css,js报404

1.如图:目录为如下,2.首先是index.ftl配置访问static的静态文件,按住ctrl可以点过去,但是运行起来在chrome中报404,觉得很纳闷,&lt;div class="logo"&gt;&lt;a href=""&gt;&lt;img src="/assets/img/logo-partner-01.png" alt=""&gt;&lt;/a

2019-03-15 13:46:36 3089 2

原创 springboot整合druid,开启监控功能

1.导入依赖到pom文件 &lt;!-- druid --&gt; &lt;dependency&gt; &lt;groupId&gt;com.alibaba&lt;/groupId&gt; &lt;artifactId&gt;druid&lt;/artifactId&gt; &lt;version&gt

2019-03-14 18:38:52 1917

原创 hibernate-validator认证

一,导包:springboot: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> <ve...

2019-03-13 15:11:14 266

转载 hibernate的配置出现的错误问题汇总

&lt;!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"&gt;&lt;hibernate-config...

2018-11-23 22:12:26 659 2

原创 Springboot项目的接口防刷

说明:使用了注解的方式进行对接口防刷的功能,非常高大上,本文章仅供参考一,技术要点:springboot的基本知识,redis基本操作, 首先是写一个注解类:import java.lang.annotation.Retention;import java.lang.annotation.Target;import static java.lang.annotation.El...

2018-09-10 17:39:17 7548 8

原创 主键id,Snowflake雪花算法,优点:生成有顺序的id,提高数据库的性能

主键id,Snowflake雪花算法,优点:生成有顺序的id,提高数据库的性能,现在大部分都不用uuid作为主键,因为不规则,每向数据库插入一条数据就要重新排列,使数据库性能降低。package com.example.demo.test;import java.util.*;import java.util.concurrent.CountDownLatch;public cl...

2018-09-06 13:00:44 14746

转载 安全的Md5加密:两次加密(加盐)

导包: &lt;dependency&gt; &lt;groupId&gt;commons-codec&lt;/groupId&gt; &lt;artifactId&gt;commons-codec&lt;/artifactId&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&amp

2018-09-06 12:52:27 3947

空空如也

空空如也

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

TA关注的人

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