weixin_38399962的博客

私信 关注
晴天小哥哥
码龄4年

追求卓越, 成功就会在不经意间追上你

  • 840,963
    被访问量
  • 202
    原创文章
  • 7,105
    作者排名
  • 775
    粉丝数量
  • 于 2017-04-20 加入CSDN
获得成就
  • 获得493次点赞
  • 内容获得210次评论
  • 获得1,916次收藏
荣誉勋章
兴趣领域
  • #后端
    #分布式#架构#Java#Spring#Elasticsearch#Spring Boot#Redis#MySQL
  • #运维
    #自动化/DevOps#Kubernetes/容器
TA的专栏
  • ElasticSearch
    15篇
  • RocketMQ
    2篇
  • Devops
    1篇
  • React
    1篇
  • Jenkins
    1篇
  • ngnix
    4篇
  • Redis从入门到精通
    13篇
  • SpringBoot
    16篇
  • K8S
    1篇
  • fastdfs
    1篇
  • Java设计模式(企业实战)
    11篇
  • Redis
    20篇
  • 算法基础
    4篇
  • Spring
    22篇
  • 设计模式
    13篇
  • JavaScript
    10篇
  • Java
    19篇
  • java实用小工具
    25篇
  • IDEA
    5篇
  • git
    2篇
  • maven
    1篇
  • JVM
    8篇
  • 事务
    3篇
  • 多线程
    10篇
  • SpringMVC
    9篇
  • MySQL
    20篇
  • 数据库
    19篇
  • NosSql
  • NoSql
    5篇
  • Java面试题
    9篇
  • SpringBoot
    20篇
  • Web
    3篇
  • SpringCloud
    8篇
  • 消息队列
    11篇
  • python
    4篇
  • 分布式
    9篇
  • 机器学习
    1篇
  • 人工智能
    1篇
  • AI
    1篇
  • linux
    12篇
  • 微服务
    2篇
  • JPA
    1篇
  • Lambda表达式
    2篇
  • mac
    1篇
  • Docker
    17篇
  • 高并发
    5篇
  • 实战
    2篇
  • 产品
    1篇
  • MyBatis
    1篇
  • Kafka
    5篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

MySQL数据库索引的原理(B-Tree)

      我就不画图了, 首先, 先试想一下, 有个图书馆, 里面有10万本书, 有一本书叫"金瓶梅",有一天小明去图书馆想借一本书,就是金瓶梅,如果直接去找, 从10万本书里找, 一本本找过去, 估计也要个几年, 几年后估计小明也不想看金瓶梅了吧.       当然现实中图书馆肯定不能这么找书了, 一般图书馆会分类, 例如:         科学类: 物理书, 化学书.....        ...
原创
0评论
0点赞
发布博客于 3 年前

Java记录一次百万级别数据扫表统计的任务

一. 需求:统计近200万商家数据, 每日通过查询计费系统更新其余额二. 技术栈:抛开分布式定时任务系统Elastic-Job之外, 我们先优先把单系统极限优化挖掘出来, 由于博主接手的是14年的老项目, 本地甚至都无法启动,所以不尝试用高级玩法(数据分片, 消息中间件).1. Java1.72. Mysql数据库5.7三. 思路分析:流程如下1: 扫表几百万数据表的扫表面临的问题很简单, 当我们分页查询到百万级别以上(甚至几十万)的时候limit 800000, 1
原创
0评论
0点赞
发布博客于 2 月前

Mysql百万数据扫表优化

一、大数据量分页查询方法:1、直接使用数据库提供的SQL语句  语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N  适应场景: 适用于数据量较少的情况(元组百/千级)  原因/缺点: 全表扫描,速度会很慢,且有的数据库结果集返回不稳定(如某次返回1,2,3,另外的一次返回2,1,3),Limit限制的是从结果集的M位置处取出N条输出,其余抛弃。//是用limit函数//取前5条数据select * from table_nam.
原创
0评论
0点赞
发布博客于 2 月前

Java生成导出Word

先给出官网链接,方便各位博友深入了解http://deepoove.com/poi-tl/里面有demo和详解,我这边就不说了
原创
0评论
0点赞
发布博客于 2 月前

Java下载工具类

1. 本工具类包括预览, 打包下载, 下载 package com.zjrc.epidemic.util;import com.zjrc.epidemic.fastdfs.FileInfo;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.util.CollectionUtils;import org.springframework.web.context.request.
原创
0评论
0点赞
发布博客于 2 月前

AES加密工具类AESUtil

本文工具类针对的是Java环境下, AES对称加密的工具类, 包括加密和解密package com.alicom.flow.util;import javax.crypto.Cipher;import javax.crypto.spec.SecretKeySpec; import org.apache.commons.codec.binary.Base64;/** * * @author zhouzhou * 2020-9-29 15:27:42 * */public clas
原创
1评论
1点赞
发布博客于 3 月前

史上最全的日期工具类DataUtil(长期更新)

直接放代码了,里面的方法都有注释package com.zjrc.epidemic.utils;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.springframework.context.i18n.LocaleContextHolder;import java.math.BigDecimal;import java.sql.Time;impor
原创
0评论
0点赞
发布博客于 3 月前

Elasticsearch(十三) ElasticSearch搜索附近的人

需求: 通过指定点搜索附近的人 , 要求可以过滤年龄, 结果按照距离进行排序, 并且展示她/他距离你多远本文参考:es官网文档:https://www.elastic.co/guide/cn/elasticsearch/guide/current/sorting-by-distance.htmlSpring官网文档:https://docs.spring.io/spring-data/elasticsearch/docs/4.0.3.RELEASE/reference/html/#new-f..
原创
3评论
0点赞
发布博客于 5 月前

Elasticsearch(二) Elasticsearch中的Mapping映射, 更新mapping和添加mapping

一. 核心简单字段类型Elasticsearch 支持如下简单域类型:字符串:string 整数 :byte,short,integer,long 浮点数:float,double 布尔型:boolean 日期:date二. 复杂类型:多值字段很有可能,我们希望tag域包含多个标签。我们可以以数组(List)的形式索引标签:{ "tag": [ "search", "nosql" ]}Java表示 List<String> tag...
原创
0评论
0点赞
发布博客于 5 月前

Elasticsearch(二) Elasticsearch简介及核心概念倒排索引

一. 我到底能够使用 Elasticsearch 做什么?通过 Elasticsearch,您能够执行及合并多种类型的搜索(结构化数据、非结构化数据、地理位置、指标),搜索方式随心而变。先从一个简单的问题出发,试试看能够从中发现些什么。 作为一个分布式搜索服务1. 它可以进行快速进行全文搜索2. 可扩展性: 支持PB级别数据的存储,以及成百上千的集群3. 大数据处理, 数十亿行日志的聚合处理4. 通过相关度(_score)对所有内容搜索基于各项元素(从词频或新近度到热门度等)对搜索.
原创
0评论
0点赞
发布博客于 5 月前

ElasticSearch(七)高级排序(多级排序, 多值字段排序)

排序为了按照相关性来排序,需要将相关性表示为一个数值。在 Elasticsearch 中,相关性得分(_score)由一个浮点数进行表示,并在搜索结果中通过_score参数返回, 默认排序是_score降序。注: filter不参与评分.1. 按照字段排序(评分机制取消)只有字段排序会使评分机制取消.GET /_search{ "query" : { "bool" : { "filter" : { "term" : { "use...
原创
0评论
2点赞
发布博客于 5 月前

ElasticSearch(六)组合多查询(must, should, must_not, bool, filter)

组合多查询现实的查询需求从来都没有那么简单;它们需要在多个字段上查询多种多样的文本,并且根据一系列的标准来过滤。为了构建类似的高级查询,你需要一种能够将多查询组合成单一查询的查询方法。你可以用bool查询来实现你的需求。这种查询将多查询组合在一起,成为用户自己想要的布尔查询(Bool)。它接收以下参数:1.must文档必须匹配这些条件才能被包含进来。相当于sql中的 and2.must_not文档必须不匹配这些条件才能被包含进来。相当于sql中的 not3...
原创
0评论
0点赞
发布博客于 5 月前

ElasticSearch(五)常用查询关键字解读(match, term, range,terms)

本博文参考了官方文档:https://www.elastic.co/guide/cn/index.html虽然 Elasticsearch 自带了很多的查询,但经常用到的也就那么几个。1. match 查询无论你在任何字段上进行的是全文搜索还是精确查询,match查询是你可用的标准查询。如果你在一个全文字段上使用match查询,在执行查询前,它将用正确的分析器去分析查询字符串:{ "match": { "tweet": "About Search" }}Java代码...
原创
0评论
1点赞
发布博客于 5 月前

SpringBoot集成RocketMQ(附带集成工具类)

1. pom文件引入rocketmq的client端依赖 <!--rocketmq--> <dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-client</artifactId> <version>4.3.0</ver
原创
0评论
0点赞
发布博客于 5 月前

Docker安装RocketMQ

https://blog.csdn.net/W_317/article/details/104556265
转载
0评论
0点赞
发布博客于 5 月前

ElasticSearch(八)ElasticSearch与Mysql同步数据解决方案

ES数据和数据库数据如何同步整合?1. canel的通道是利用mysql的bin_log同步2. 通过消息队列同步,优势失败重试机制保证100%同步成功本文介绍通过RocketMq消息队列同步:首先是架构思路图:CRUD操作与我们的平时一样,但是在CRUD操作后我们会向RocketMq服务器事先定义好的Topic发送消息, 注意:Topic是同一个, 根据不同Tag来判断是什么类型的操作(新增, 删除, 更新), 废话不多说直接看代码github地址:1. 准备RocketM
原创
2评论
0点赞
发布博客于 5 月前

ElasticSearch(三)ElasticSearch7.8.0集成Springboot

本文ES版本为7.8.0 兼容很多新版本,代码都经过测试, 无坑, 大家放心食用1. 准备环境工作安装ES环境, 安装IK分词器,见博文:https://rourou.blog.csdn.net/article/details/1010614082.MAVEN依赖由于es各个版本变化很大,所以在选择依赖的时候要尤为注意!!!我们可以通过spring的官方网站来进行查询版本对应的信息https://docs.spring.io/spring-data/elasticsearch/d..
原创
1评论
2点赞
发布博客于 5 月前

ElasticSearch(四)spring-data-elasticsearch @Field注解无效,最完美解决方案

前言我看了一大堆博客和资料大多是说这个spring的bug, 然后通过一个.json的配置文件去加载,我也是真的笑了, 本来注解就是方便开发,取消配置文件的功能, 结果解决方案却是本末倒置, 这里我奉献出最正确的解决方案一. 准备实例代码这是实体类代码,及其注解package com.gupao.springbootdemo.bean;import lombok.Data;import org.springframework.data.annotation.Id;import org
原创
6评论
3点赞
发布博客于 6 月前

ElasticSearch(二)Docker安装ElasticSearch中的IK分词器

docker 安装ElasticSearch传送门1. 确认ES版本,去github上下载正确版本的IK分词器github地址:https://github.com/medcl/elasticsearch-analysis-ik然后通过下载页.下载zip包https://github.com/medcl/elasticsearch-analysis-ik/releases2. 通过docker命令将zip包复制到ES容器指定位置docker cp /tmp/elast...
原创
0评论
0点赞
发布博客于 6 月前

SpringBoot整合Docker一键部署

1.准备工作一个springboot工程 拥有docker环境的linux服务器2.编写DockerFileFROM openjdk:8-jre-alpineENV SERVICE_NAME springboot-demoENV OPS " -server -Xms256m -Xmx256m -Xss256k"COPY ${SERVICE_NAME}-0.0.1-SNAPSHOT.jar /${SERVICE_NAME}.jarENTRYPOINT java -jar ${OP.
原创
0评论
0点赞
发布博客于 6 月前

Springboot整合Alibaba Cloud Toolkit一键远程部署

1. 开发环境,IDEA,安装Alibaba Cloud Toolkit在Plugins中搜索Alibaba Cloud Toolkit, 下载并且安装2. 远程服务器准备一台远程服务器, 这台服务器必须安装java环境.3.配置工具配置部署方式 如图配置好你的配置信息其中ip就是我们目标部署的服务器, 可以设置多台Target Directory 是将打好的jar包上传到服务器那个位置After Deploy: 则是上传jar包后, 服务器执行的命令点击保存,即
原创
0评论
1点赞
发布博客于 6 月前

最新React使用 http-proxy-middleware解决多跨域问题(完美篇)

1. 安装 http-proxy-middlewarenpm install http-proxy-middleware#顺便安装一下 axios ,不用也可以,用fetch也一样。npm install axios2. src目录下创建一个 setupProxy.js文件里面的'api'代表target的域名url代理后的urlconst { createProxyMiddleware } = require('http-proxy-middleware');module.exp
原创
3评论
0点赞
发布博客于 6 月前

ThreadLocal(三) 线程上下文实战

场景: 某个复杂长链路请求, 例如下单, 需要多组件方法参与,但是对于各种参数聚合, 耦合度很高对于二次开发不方便解决思路: 利用 ThreadLocal 线程变量来完成, 以后每次改造只需要改造,或者向 ThreadLocal 中增加自己的参数即可,注意:禁止参与多线程!!!否则会导致参数丢失!!!!! 注意每个线程必须执行 destroy 操作!!! 建议在入口处进行线程变量初始化和销毁1. 创建业务上下文类package net.xinhuamm.converge.model.
原创
0评论
0点赞
发布博客于 7 月前

使用 AOP 进行切面编程(打印日志)

场景 : 针对 controller 层 使用 AOP 进行日志打印思路: 使用 aop 进行切面编程, 针对 controller 层所有的类,进行方法切面, 打印日志1. 先在 pom.xml 文件中引入 aop 的依赖 <!-- aop --> <dependency> <groupId>org.springframework.boot</groupId> .
原创
0评论
0点赞
发布博客于 7 月前

解决Jenkins 安装插件重启后, 部分项目或 Job丢失

1. 定位你安装的插件2. 进入/root/.jenkins 目录下的 plugins 目录 删除你安装的插件3. 重启问题解决
原创
0评论
0点赞
发布博客于 8 月前

pandoc-2.9.2.1-macOS.pkg.zip

Pandoc,它可以将文档在 Markdown、LaTeX、reStructuredText、HTML、Word docx 等多种标记格式之间相互转换. 现在直接贡献给大家
zip
发布资源于 8 月前

mysql面试题《六》覆盖索引与回表

前言:select id,name where name='shenjian'select id,name,sexwhere name='shenjian'多查询了一个属性,为何检索过程完全不同?什么是回表查询? 什么是索引覆盖? 如何实现索引覆盖? 哪些场景,可以利用索引覆盖来优化SQL?这些,这是今天要分享的内容。画外音:本文试验基于MySQL5.6-InnoDB...
转载
0评论
1点赞
发布博客于 8 月前

ElasticSearch(九) ElasticSearch使用教程之_score(评分)介绍

https://blog.csdn.net/paditang/article/details/79098830个人强烈推荐这篇文章, 讲的特别好
转载
0评论
0点赞
发布博客于 9 月前

ElasticSearch(十)SpringBoot集成ElasticSearch 复杂分页查询以及高亮显示,

一、帮助文档ES 官方文档https://www.elastic.co/guide/en/elasticsearch/reference/5.6/search-request-highlighting.htmlsample:https://es.xiaoleilu.com/010_Intro/30_Tutorial_Search.html二、业务流程:...
原创
0评论
1点赞
发布博客于 9 月前

ElasticSearch(十一)Java用ElasticSearch 利用搜索词分词搜索

需求:搜索词进行分词搜索例如: 搜索词为"意大利医生", 那么拆分匹配内容包含"意大利医生"或"意大利"或"医生"逻辑:首先我们采用ES中的BOOL搜索bool: must:所有分句都必须匹配,与 AND 相同。 must_not:所有分句都必须不匹配,与 NOT 相同。 should: 至少有一个分句匹配,与 OR 相同。我们使用should...
原创
4评论
1点赞
发布博客于 10 月前

Elasticsearch(十二)ik分词器中ik_max_word和 ik_smart的区别

学习过Solr或Elasticsearch的同学都知道IK分词器,它是一个针对中文的分词器。IK分词器地址:https://github.com/medcl/elasticsearch-analysis-ikIK分词器有两种分词模式:ik_max_word和ik_smart模式。1、ik_max_word会将文本做最细粒度的拆分,比如会将“中华人民共和国人民大会堂”拆分为“中华人民共...
原创
0评论
1点赞
发布博客于 10 月前

Postman最新版本+ Postman Interceptor实现高效请求

https://www.postman.com/官网谷歌插件安装:https://www.crx4chrome.com/crx/560/
原创
0评论
0点赞
发布博客于 10 月前

Redis生成分布式环境下自增ID

相信大家在分布式系统一定会遇到如何生成唯一Id;uuid可以但是,作为数据库主键很浪费性能(索引相关),雪花算法可以,但是很依赖于环境.这里推荐大家使用redis生成;1.需求明确我们生成的Id组成为,时间戳+自增Id,补0例如:今天是2020.2.28 , 补6个0 ,那么生成的id范围是20200228000001-2020022899999...
原创
0评论
0点赞
发布博客于 11 月前

Docker(十四)Docker 开放 2375 TCP端口

1.编辑docker.service文件vim /usr/lib/systemd/system/docker.service在ExecStart=/usr/bin/dockerd 后插入 -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock2.重启虚拟机、重启dockersystemctl daemon-reload //重启...
原创
1评论
1点赞
发布博客于 1 年前

Mysql获取最大自增Id

select max(id) from table_xxx;
原创
0评论
0点赞
发布博客于 1 年前

SpringCloud(四) 搭建SpringbootAdmin监控平台(2.2.0)

功能简介显示健康状况显示详细信息,例如JVM和内存指标micrometer.io指标数据源指标缓存指标显示构建信息编号关注并下载日志文件查看jvm系统和环境属性查看Spring Boot配置属性支持Spring Cloud的postable / env-和/ refresh-endpoint轻松的日志级管理与JMX-beans交互查看线程转储查看http跟踪查看...
原创
0评论
0点赞
发布博客于 1 年前

SpringCloud(三) eureka的常用参数以及配置

配置参数 默认值 说明 服务注册中心配置 Bean类:org.springframework.cloud.netflix.eureka.server.EurekaServerConfigBean eureka.server.enable-self-prese...
原创
0评论
0点赞
发布博客于 1 年前

深入理解JVM(六) GC优化(垃圾处理器优化)

优化内存被使用了之后,难免会有不够用或者达到设定值的时候,就需要对内存空间进行垃圾回收。1.垃圾收集发生的时机GC是由JVM自动完成的,根据JVM系统环境而定,所以时机是不确定的。 当然,我们可以手动进行垃圾回收,比如调用System.gc()方法通知JVM进行一次垃圾回收,但是具体什么时刻运行也无法控制。也就是说System.gc()只是通知要回收,什么时候回收由JVM决定。 ...
原创
0评论
0点赞
发布博客于 2 年前

深入理解JVM(五) JVM常用工具(jconsole, jvisualvm,Arthas,MAT)

1.jconsole在命令行中,输入jconsole命令,即可直接打开jconsole.如图所示:里面有两块内容,一个是从本地进程中选择java进程进行监控,第二个就是远程监控.我就以本地的一个死锁的test进程来讲解,点击你所需要监控的进程,便可以进入监控页面:首页是概况其他页面都有其详细信息,大家可以自行研究内存中可以看堆和非堆内存的详细信息,...
原创
0评论
0点赞
发布博客于 2 年前

JVM之远程监控springboot程序

1.准备好springboot的jar包2.编写启动脚本.这是改动之前的脚本:jarname='eureka-server'pid=`ps aux | grep $jarname | grep -v grep | awk '{print $2}'`echo $pidif [ "$jarname" != "" ]then kill -9 $pidfikill -...
原创
0评论
0点赞
发布博客于 2 年前

深入理解JVM(四) JVM参数以及命令

1.JVM参数1.1标准参数-version-help-server-cp1.2 -X参数-Xint 解释执行-Xcomp 第一次使用就编译成本地代码-Xmixed 混合模式,JVM自己来决定1.3 -XX参数使用的最多的参数类型, 非标准化参数,相对不稳定,主要用于JVM调优和Debuga.Boolean类型格式:-XX...
原创
0评论
0点赞
发布博客于 2 年前

分布式一致性算法 Raft

分布式一致性算法最著名的应该是 Paxos,1990年提出,google的Chubby Lock服务就是使用的Paxos之后的一些一致性算法基本都是在Paxos思路上的调整,例如 ZooKeeper的 ZAB但Paxos算法一直被认为比较繁杂,很不好理解,大家对其调整优化,就是因为他的复杂2013年,斯坦福的两个人以易懂为目标,设计了一致性算法 Raft,现在已经被广泛应用,比较有名的是et...
原创
0评论
0点赞
发布博客于 2 年前

分布式一致性算法 Paxos

Paxos 是著名的分布式一致性算法,Google Chubby的作者Mike Burrows对Paxos的评价极高:“这个世界上只有一种一致性算法,那就是 Paxos”。其实也不为过,像非常有名的 Raft 算法、Zab 算法等都是基于 Paxos 的简化和改进。Paxos 解决什么问题Paxos 是解决分布式环境下多节点的数据一致性问题,先看下一致性问题。例如一个cache...
原创
0评论
0点赞
发布博客于 2 年前

Docker(三) docker常用指令

具体参考https://www.runoob.com/docker/docker-command-manual.html本文分为容器指令,镜像指令1.常见镜像指令(1)查看本地image列表docker imagesdocker image ls(2)获取远端镜像docker pull(3)删除镜像[注意此镜像如果正在使用,或者有关联的镜像,则需要先处理完]do...
原创
0评论
0点赞
发布博客于 2 年前

Docker(十三) Docker可视化界面 Poartainer 搭建

1.下载Poartainer镜像docker pull portainer/portainer2.启动Portainerdocker service create --name portainer --publish 9000:9000 \--constraint 'node.role == manager' \--mount type=bind,src=/var/run/...
原创
0评论
0点赞
发布博客于 2 年前

Docker(十二) Docker Swarm搭建

1.环境准备准备三台安装docker的CentOS7的linux机器如果没有的请移步https://rourou.blog.csdn.net/article/details/84386617安装完后通过xshell进入服务器,我们将搭建一台manager节点,两台work节点的swarm集群 如图:2.搭建Swarm集群1)进入master节点,执行...
原创
0评论
0点赞
发布博客于 2 年前

MySQL建数据库字符集与排序规则设定

1.字符集说明:一般选择utf8.下面介绍一下utf8与utfmb4的区别。utf8mb4兼容utf8,且比utf8能表示更多的字符。至于什么时候用,看你的做什么项目了,到http://blog.csdn.net/leelyliu/article/details/52879685看unicode编码区从1 ~ 126就属于传统utf8区,当然utf8mb4也兼容这个区,126行以下就是...
原创
0评论
0点赞
发布博客于 2 年前

Docker(十三) docker安装单机redis

1.下载镜像docker pull redis:3.22.创建配置文件印刷目录mkdir /root/redisvi /root/redis/redis.conf写入配置(略)3.启动镜像docker run -p 6379:6379 -d --name redis \-v /root/redis/redis.conf:/etc/redis/redis.co...
原创
0评论
0点赞
发布博客于 2 年前

Docker(十二) docker安装fastdfs

1.查找Docker Hub上的redis镜像docker search fastdfs2.拉取镜像docker pull delron/fastdfs#拉取最新版本3.查看镜像docker images4.使用docker镜像构建tracker容器(跟踪服务器,起到调度的作用):docker run -dti --network=ho...
原创
0评论
0点赞
发布博客于 2 年前

搭建K8S集群

01 搭建K8s集群官网:https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#installing-kubeadm-kubelet-and-kubectlGitHub:https://github.com/kubernetes/kubeadm课程中:使用kubea...
原创
0评论
0点赞
发布博客于 2 年前

在Win10上安装Centos7

博主之前是用VMWare安装Centos机器的但是后来发现,还是比较麻烦的.需要各种配置比较繁琐,后来接触了Vargrant+VirtualBox后发现安装Centos,如此简单1. 下载安装Vagrant访问Vagrant官网: https://www.vagrantup.com/ 点击Download Windows,MacOS,Linux等 选择对应的版...
原创
0评论
0点赞
发布博客于 2 年前

Docker(十一)Docker安装RabbitMq

docker 安装rabbitMQ1、进入docker hub镜像仓库地址:https://hub.docker.com/2、搜索rabbitMq进入官方的镜像,可以看到以下几种类型的镜像;我们选择带有“mangement”的版本(包含web管理页面);3、拉取镜像docker pull rabbitmq:3.7.7-management使用:docker image...
原创
0评论
0点赞
发布博客于 2 年前

Docker(十) 为Docker容器安装vim

在使用docker容器时,有时候里边没有安装vim,敲vim命令时提示说:vim: command not found,这个时候就需要安装vim,可是当你敲apt-get install vim命令时,提示:Reading package lists... DoneBuilding dependency tree ...
原创
0评论
0点赞
发布博客于 2 年前

Docker(九) 将本地镜像推送到阿里云镜像库

1.https://homenew.console.aliyun.com/登陆阿里云容器工作台2. 根据提示创建镜像仓库3. 根据页面提示push 和pull 镜像.接下来页面上就会显示你的镜像仓库了, 点击进入根据页面操作指南进行操作结束!...
原创
0评论
0点赞
发布博客于 2 年前

Docker(八)Docker安装MySQL

1. 下载mysql镜像docker pull mysql2. 查看镜像docker images3. 执行mysql镜像生成容器tip1:先创建volume,作用是宿主机和容器的数据备份docker volume create v1tip 2:再创建mysql专属网段,命名为pro -net,作用是与docker容器的网络共同管理docker net...
原创
0评论
0点赞
发布博客于 2 年前

Linux(九) linux系统重新安装yum

所有操作均在ROOT用户下,系统版本是Linux7.0 X86_64:一、删除原有YUM# rpm -aq|grep yum|xargs rpm -e --nodeps二、下载yum,注意自己的LINUX系统版本,是什么版本就进相关版本目录去下载。但小版本的目录就不用进了。如版本是6.5,就只需进6 目录,版本是 7.2,只需进7目录。打开浏览器,登录 http://mi...
原创
0评论
0点赞
发布博客于 2 年前

SpringCloud(二) 高可用分布式配置中心(Spring Cloud Config kafka实现动态刷新)

前言: 网上的资料乱七八糟, 很多博主把一些旧的文章复制来粘贴去, 搞得很多新人都无法安心食用. 经过博主我一周的钻研 , 终于研究出一套适用于生产环境可运行的, 高可用分布式配置中心.(文章末尾会有github链接, 请大家安心使用)要求:1. springboot2.0以上2.springcloudFinchley版本及以上3.jdk:1.84. gitlab5. ...
原创
0评论
0点赞
发布博客于 2 年前

Redis实现延迟任务(过期取消订单)

1. 生产需求:用户下订单后,15分钟未支付自动取消; 用户成功下单支付后确认收货, 15天默认好评2. 实现思路利用redis的排序列表,ZSet进行需求实现, 下面是我的流程图和思路导线3. 思路说明我们把Zset中的score当成时间戳, 这样我们就可以获得以时间戳排序的任务列表, 这我们通过score区间进行拉取任务,进行消费.4.代码封装实现首先是封...
原创
0评论
4点赞
发布博客于 2 年前

Jedis操作Redis--SortedSet(ZSet)类型

Redis ZSetRedis中的ZSet是一个有序的Set,内部使用HashMap和跳表(SkipList)来保证数据的存储和有序,HashMap里放的是成员到score的映射,而跳跃表里存放的是所有的成员,排序依据是HashMap里存的score,使用跳跃表的结构可以获得比较高的查找效率,并且在实现上比较简单。使用Jedis, 添加maven依赖 <!-...
原创
1评论
0点赞
发布博客于 2 年前

ElasticSearch(一)Docker安装ElasticSearch

ElasticSearch的官方中文文档地址是https://www.elastic.co/guide/cn/index.html1. 拉取镜像docker pull hub.c.163.com/library/elasticsearch:latest2.检查镜像docker images 如图则 没问题:3.检查无误后, 启动, 由于ES是java编写默...
原创
0评论
0点赞
发布博客于 2 年前

maintain.zip

升级维护H5页面用于Ngnix (二) ngnix根据url配置不同的错误维护页面博文地址.
zip
发布资源于 2 年前

Nginx (二) nginx根据url配置不同的错误维护页面

生产过程中肯定会遇到升级, 大多数公司应该实现了无感知灰度发布->正式发布, 此篇博客只适用于需要维护页面的群体.一. 设计错误界面一般有2种, app的h5升级维护页面, web工程的h5维护页面.网页设计好放在同一个目录下,命名为maintain,如下图所示:二. 将maintain目录,放入nginx/html文件路径下三.配置nginx.co...
原创
0评论
0点赞
发布博客于 2 年前

Linux(八) linux 安装nginx

1. 下载tar包http://nginx.org/en/download.html2.解压缩tar -zxvf nginx-1.16.0.tar.gz 3.编译,配置首先创建nginx安装的文件目录mkdir nginx进入 nginx-1.16.0 ,进行编译配置cd nginx-1.16.0/./configure --prefix=/home/...
原创
0评论
0点赞
发布博客于 2 年前

Linux(七) linux安装Docker

各位请移步我的 docker系列博客,Docker(二) Docker的安装与加速器配置, helloworld
原创
0评论
0点赞
发布博客于 2 年前

Linux(六)安装MySql5.7

https://blog.csdn.net/lizy928/article/details/82531749https://blog.csdn.net/dabao87/article/details/80571877
原创
0评论
0点赞
发布博客于 2 年前

Linux(五) rz命令和sz命令使用方法

sz命令 用途说明:sz命令是利用ZModem协议来从Linux服务器传送文件到本地,一次可以传送一个或多个文件。相对应的从本地上传文件到Linux服务器,可以使用rz命令。常用参数-a 以文本方式传输(ascii)。 -b 以二进制方式传输(binary)。 -e 对控制字符转义(escape),这可以保证文件传输正确。如果能够确定所传输的文件是文本格式...
原创
0评论
1点赞
发布博客于 2 年前

Linux(四) linux安装redis集群

用1台虚拟机模拟6个节点,创建出3 master、3 salve 环境。1. 下载解压:cd /root/softwarewget http://download.redis.io/releases/redis-3.2.4.tar.gztar -zxvf redis-3.2.4.tar.gz 2. 进入redis3.2.4目录,安装rediscd redis-3.2.4m...
原创
0评论
2点赞
发布博客于 2 年前

Linux(三) linux环境安装kafka

安装条件:确保zookeeper已经安装成功。zookeeper安装过程见:https://blog.csdn.net/weixin_38399962/article/details/90731221一.下载kafkahttp://kafka.apache.org/downloads.html二.解压kakfatar -xvf xxxx三.配置进入kafka目录, 界面...
原创
0评论
1点赞
发布博客于 2 年前

Linux(二) linux安装zookeeper

安装zookeeper需要java环境, 如需教程移步https://blog.csdn.net/weixin_38399962/article/details/90731162一、下载zookeeper去官网下载http://mirror.bit.edu.cn/apache/zookeeper/别下载错了.二、解压tar -zxvf 命令解压zookeeper的压缩...
原创
0评论
0点赞
发布博客于 2 年前

Linux(一) Linux安装java

一、文件准备 1.1 文件名称 jdk-8u121-linux-x64.tar.gz 1.2 下载地址 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 二、工具准备 2.1 Xshell...
原创
0评论
0点赞
发布博客于 2 年前

Linux最最常用命令大全

Linux常用命令大全(非常全!!!)最近都在和Linux打交道,感觉还不错。我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短小但却功能强大。我将我了解到的命令列举一下,仅供大家参考:系统信息uname -m 显示机器的处理器架构(2)uname -r 显示正在使用的内核版本dmidecode -q ...
原创
0评论
0点赞
发布博客于 2 年前

Kafka(四)kafka 详细参数说明与配置 (服务器端)

在kafka/config/目录下面有3个配置文件:producer.propertiesconsumer.propertiesserver.properties如下图所示:接下来,我会分别对这三个文件里的各个参数进行解读。(1).producer.properties:生产端的配置文件#指定kafka节点列表,用于获取metadata,不必全部指定#需要kaf...
原创
0评论
1点赞
发布博客于 2 年前

Kafka (三) acks 与 手动提交 offset

新手解除 kafka,很容易把 acks 和提交 ack搞混了。acks (0, 1, 'all')代表kafka收到消息的答复数,0就是不要答复,爱收到没收到.1就是有一个leader broker答复就行,all是所有broker都要收到才行 0: Producer不等待kafka服务器的答复,消息立刻发往socket buffer,这种方式不能保证kafka收到消息,设置成这个...
原创
1评论
5点赞
发布博客于 2 年前

Kafka(二) SpringBoot与Kafka集成

配置好环境,接上篇1.配置maven 依赖 <dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId> <...
原创
0评论
1点赞
发布博客于 2 年前

Kafka(一)docker 安装 kafka 傻瓜式教程

1、下载镜像这里使用了wurstmeister/kafka和wurstmeister/zookeeper这两个版本的镜像docker pull docker pull zookeeper:3.5.6docker pull docker pull wurstmeister/kafka:2.12-2.3.0在命令中运行docker images验证两个镜像已经安装完毕。2...
原创
0评论
0点赞
发布博客于 2 年前

SpringBoot 整合 Mybatis + pagehelper 实现分页

本文参考: github -pagehelper官方文档https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/en/HowToUse.md首先是 pom.xml 添加 pagehelper 的依赖 <dependency> <groupId&g...
原创
0评论
0点赞
发布博客于 2 年前

MyBatis 自动生成代码,mybatis-generator,SpringBoot 集成

pom 文件准备 <!--mybatis 自动生成--> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifa...
原创
0评论
0点赞
发布博客于 2 年前

ActiveMQ 面试题(长期更新)

什么是activemqactiveMQ是一种开源的,实现了JMS1.1规范的,面向消息(MOM)的中间件,为应用程序提供高效的、可扩展的、稳定的和安全的企业级消息通信。activemq的作用以及原理Activemq的作用就是系统之间进行通信。当然可以使用其他方式进行系统间通信,如果使用Activemq的话可以对系统之间的调用进行解耦,实现系统间的异步通信。原理就是生产者生产消...
原创
5评论
0点赞
发布博客于 2 年前

SpringBoot 项目如何在tomcat容器中运行

一. SpringBoot内嵌容器的部署方式SpringBoot内部默认提供内嵌的tomcat容器,所以可以直接打成jar包,丢到服务器上的任何一个目录,然后在当前目录下执行java -jar demo.jar即可运行,但是这种方式的运行退出进程就结束了。如果想在后台可以运行,则需要执行 java -jar demo.jar > log_demo.file 2>&1 &am...
原创
0评论
0点赞
发布博客于 2 年前

监听Redis 缓存过期(Key 失效)事件

很多业务场景,例如订单过期自动删除,订单几天后自动好评,这些常用操作可以通过定时任务,数据库轮询做,但是订单量大的情况可能会对数据库产生大的压力。所以今天介绍的就是 redis 缓存过期通知。1.事件通过 Redis 的订阅与发布功能(pub/sub)来进行分发, 故需要开启 redis 的事件监听与发布2.修改redis.conf文件打开 notify-keyspace...
原创
1评论
1点赞
发布博客于 2 年前

消息队列常见问题和解决方案

说明:此文是笔者对中华石衫老师对消息队列讲解的一篇总结包括笔者自己的一些理解一、为什么使用消息队列?消息队列使用的场景和中间件有很多,但解决的核心问题主要是:异步、解耦、消峰填谷。二、消息队列的优缺点异步、解耦、消峰填谷这是消息队列最大的优点,除了这些消息队列还可以会解决一些我们特殊业务场景的问题。但是缺点主要在于系统的可用性、复杂性、一致性问题,引入消息队列后,需要考虑MQ的...
原创
0评论
0点赞
发布博客于 2 年前

高并发场景下的限流策略

什么是限流和降级在开发高并发系统时,有很多手段来保护系统: 缓存、降级、限流。当访问量快速增长、服务可能会出现一些问题的时候(响应超时),或者会存在非核心服务影响到核心流程的性能时,仍然需要保证服务的可用性,即便是有损服务。所以意味着我们在设计服务的时候,需要一些手段或者关键数据进行自动降级,或者配置人工降级的开关。缓存的目的是提升系统访问速度和增大系统处理的容量,可以说是抗高并发...
原创
0评论
0点赞
发布博客于 2 年前

SpringBoot 全局异常配置

需求:全局异常拦截优雅显示package com.zjrc.healthlife.common.exception;import com.zjrc.healthlife.common.aop.log.LoggerName;import com.zjrc.healthlife.common.vo.Response;import org.slf4j.Logger;import org....
原创
0评论
0点赞
发布博客于 2 年前

SpringBoot 集成 Swagger 2教程

首先你需要有个 SpringBoot 项目pom 文件 <properties> <java.version>1.8</java.version> <swagger2.version>2.9.2</swagger2.version> <swagger-u...
原创
0评论
0点赞
发布博客于 2 年前

Log4j,日志分包。

需求:将短信业务日志分在一个单独日志文件下,其他日志分在另一个日志文件下web-xml 文件,配置监听器和配置文件位置 <context-param> <param-name>webAppRootKey</param-name> <param-value>webFEP.root</param-valu...
原创
0评论
0点赞
发布博客于 2 年前

nginx 配置详解

nginx配置文件nginx.conf超详细讲解#nginx进程,一般设置为和cpu核数一样worker_processes 4; #错误日志存放目录error_log /data1/logs/error.log crit;#运行用户,默认即是nginx,可不设置user nginx #进程pid存放位置pid...
原创
0评论
0点赞
发布博客于 2 年前

UML(产品流程图) 高级开发必须掌握的技能

产品流程图——UML(统一建模语言)画图软件推荐(windows:visio ,mac:OmniGraffle)Unified Modeling Language (UML)又称统一建模语言,为软件开发的所有阶段提供模型化和可视化支持,简而言之,就是用图的方式把事情描述清楚。下面我以员工提交权限审批这件事为例,对应地类(或者说是对象)有员工、老板、还是审批单,给大家主要介绍4个图。1)...
原创
0评论
0点赞
发布博客于 2 年前

网页授权实战

最近接到需求,自己的 app 需要内嵌其他第三方的页面,涉及到授权,重定向,跳转,认证。这里单独为大家讲解下实现思路。网页授权分为四步:1. 引导用户进入授权页面同意授权,获取auth_code2. 通过auth_code换取网页授权access_token(与基础支持中的access_token不同)3. 如果需要,开发者可以刷新网页授权access_token,避免过期4....
原创
0评论
0点赞
发布博客于 2 年前

SpringBoot集成Druid配置(yml版本)

maven 配置 &lt;dependency&gt; &lt;groupId&gt;com.alibaba&lt;/groupId&gt; &lt;artifactId&gt;druid&lt;/artifactId&gt; &lt;version&gt;1.1.8&lt;/version&gt;
原创
1评论
4点赞
发布博客于 2 年前

深入理解JVM(一)虚拟机类加载机制

写在前面简单说说类加载过程,里面执行了哪些操作? 对类加载器有了解吗? 什么是双亲委派模型? 双亲委派模型的工作过程以及使用它的好处。前言:代码编译的结果从本地转换为字节码,是存储格式发展的一小步,却是编程语言发展的一大步。目录写在前面前言:1 概述1.1 虚拟机类加载机制的概念1.2 Java语言的动态加载和动态连接2 类加载时机2.1 初始化过程...
原创
0评论
1点赞
发布博客于 2 年前

深入理解JVM(三)垃圾回收

写在前面:如何判断对象是否死亡(两种方法)。 简单的介绍一下强引用、软引用、弱引用、虚引用(虚引用与软引用和弱引用的区别、使用软引用能带来的好处)。 垃圾收集有哪些算法,各自的特点? HotSpot为什么要分为新生代和老年代? 常见的垃圾回收器有那些? 介绍一下CMS,G1收集器。 Minor Gc和Full GC 有什么不同呢?1 概述首先所需要考虑: 哪些垃圾...
原创
0评论
0点赞
发布博客于 2 年前

深入理解JVM(二) Java内存区域详解

目录1 概述2 运行时数据区域2.1 程序计数器2.2 Java虚拟机栈(VM Stack)2.3本地方法栈2.4 堆2.5 方法区2.6 运行时常量池2.7直接内存3 HotSpot虚拟机对象探秘3.1 对象的创建3.2 对象的内存布局3.3对象的访问定位1 概述对于Java程序员来说,在虚拟机自动内存管理机制下,不再需要像C/C...
原创
0评论
0点赞
发布博客于 2 年前

深入理解JVM(二) Java内存区域详解

目录1 概述2 运行时数据区域2.1 程序计数器2.2 Java虚拟机栈(VM Stack)2.3本地方法栈2.4 堆2.5 方法区2.6 运行时常量池2.7直接内存3 HotSpot虚拟机对象探秘3.1 对象的创建3.2 对象的内存布局3.3对象的访问定位1 概述对于Java程序员来说,在虚拟机自动内存管理机制下,不再需要像C/C...
原创
0评论
0点赞
发布博客于 2 年前

线程池和 Executor框架

目录一 使用线程池的好处二 Executor 框架2.1 简介2.2 Executor 框架结构(主要由三大部分组成)2.3 Executor 框架的使用示意图三 ThreadPoolExecutor详解3.1 ThreadPoolExecutor类的四个比较重要的属性3.2 ThreadPoolExecutor类中提供的四个构造方法 3.3 如何创建Thr...
原创
0评论
0点赞
发布博客于 2 年前

Mysql中 explain 命令详解

explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。使用方法,在select语句前加上explain就可以了:例如: explain select * from t_user_basic t WHERE t.contact_id = '8a81833f666716ab016667513d7b0000';结果如图...
原创
0评论
1点赞
发布博客于 3 年前

Mysql中 explain 命令详解

explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。使用方法,在select语句前加上explain就可以了:例如: explain select * from t_user_basic t WHERE t.contact_id = '8a81833f666716ab016667513d7b0000';结果如图...
原创
0评论
1点赞
发布博客于 3 年前

Java 读写锁的运用

读写锁顶层接口是 ReadWriteLock , 实现类是 ReentrantReadWriteLock;其实读写锁,运用没什么好说的. 同时读,没有安全性问题, 所以不用到互斥, 而读写, 或写写则涉及到安全性问题, 就要互斥.直接上代码吧package com.zz.amqp1.locktest;import lombok.Data;import java.util.Rand...
原创
0评论
1点赞
发布博客于 3 年前

SpringMVC之简单理解 HandlerAdapter的作用

写在最前面        HandlerAdapter字面上的意思就是处理适配器,它的作用用一句话概括就是调用具体的方法对用户发来的请求来进行处理。当handlerMapping获取到执行请求的controller时,DispatcherServlte会根据controller对应的controller类型来调用相应的HandlerAdapter来进行处理。      1.Handle...
原创
1评论
5点赞
发布博客于 3 年前

lombok注解, 找不到符号错误

打开设置, 注解设置这边的注解处理勾上, 即可
原创
2评论
5点赞
发布博客于 3 年前

ThreadLocal(二) ThreadLocal内存泄漏原因,原理以及生产标准范例

写在正文前: 如果不理解ThreadLocal是什么? 应用场景的可以先看博主写的关于ThreadLocal的第一篇文章传送门:ThreadLocal(一) ThreadLocal使用场景和API介绍------------------------------------------------------------------------------------------------...
原创
0评论
0点赞
发布博客于 3 年前