自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

那杯热咖啡

生活是不公平的,要去适应它。

  • 博客(136)
  • 资源 (3)
  • 问答 (3)
  • 收藏
  • 关注

原创 手把手教你在 CentOS8 搭建 Gitlab 服务器

CentOS8 快速搭建 Gitlab 服务器写在前面的话第一步第二步第三步新的第二步新的第三步还有其他一些常用命令如下附加写在前面的话很多 IT 人从业 多年也许都还没有亲自搭过一次 Gitlab 服务器,我就是其中之一!通常都是入职后,拿到上面给的 Git 地址把项目 clone 下来!然后日复一日的 crud 搬砖,直到离职。也许用了几百年 Git 了,但是从来没有亲自部署过 Gitlab 服务器!虽然现在社会分工越来越细,部署 Gitlab 服务器通常都是运维的兄弟去做了,但如果你去一家创业公司

2021-11-29 15:48:05 5448 4

原创 hexo+Anisina+github 搭建个人博客

hexo+Anisina+github 搭建个人博客起步下载Anisina 的配置侧边栏顶部创建一个 Tags 导航页面:文章评论统计量部署成品展示: [http://www.itmengtao.cn](http://www.itmengtao.cn)起步Hexo 是一个是基于 node.js 的快速、简洁且高效的博客框架。Anisina 是一个 hexo 的主题,简洁,明了,这也是本人选择这个主题的原因。下载可以参考 Hexo 的官网,对应环境需要 node 和 git 我也不再多说,参考官方教程

2021-08-04 10:35:08 370 2

原创 nohup java -jar 部署 jar 包后项目莫名挂掉的解决方法

今天在CentOS 系统上部署几个项目,然后运行一段时服务就会莫名其妙会挂掉一两个,然后重新启动挂掉的服务之后又会出现其他服务挂掉的情况,查看启动日志也并没有发现有异常抛出。排除掉技术原因后,发现是因为启动的 jar过多,服务器运行内存不足,linux 系统 kill 掉了某些 jar 进程。解决方法:第一种方法:进行 JVM 调优可以改善这种情况,但是项目太多,我们的个人服务器配置实在太低,仍然无法解决此问题,这里不做讨论了。第二种方法:我们可以通过分配虚拟内存的方式解决,如下步骤:查看当前的

2021-03-23 11:50:41 5008 2

原创 ‘‘/usr/local/lib/libs.so‘‘ from /etc/ld.so.preload cannot be preloaded: ignored 并解决Permission denied

今天操作服务器,不管执行什么命令,都会有这个提示:ERROR: ld.so: object ''/usr/local/lib/libs.so'' from /etc/ld.so.preload cannot be preloaded: ignored.解决办法清空 /etc/ld.so.preload 文件的内容: echo "" > /etc/ld.so.preloadlinux 中快速清空文件内容的几种方法: : > filename > filename ec

2021-03-17 11:18:49 9011 10

原创 Redis 做分布式锁及Lua 脚本使用笔记

1. 基本用法问题场景:在单线程中,一个线程去修改用户的状态,首先从数据库中读出用户的状态,然后在内存中进行修改,修改完成后,再存回去。这个操作没有问题,但是在多线程中,由于读取、修改、存这是三个操作,不是原子操作,所以在多线程中,这样会出问题。我们可以使用分布式锁来限制程序的并发执行。原理:分布式锁实现的思路很简单,就是进来一个线程先占位,当别的线程进来操作时,发现已经有人占位了,就会放弃或者稍后再试。在 Redis 中,占位一般使用 setnx 指令,先进来的线城先占位,线城的操作执行完成后

2020-12-24 10:49:47 244 1

原创 Redis 的Java 客户端笔记整理

这里写目录标题开启远程连接Jedis (maven 篇) 基本使用三级目录开启远程连接redis 默认不支持远程连接,需手启:修改地方 (找到 config)把 bind:127.0.0.1 注释掉密码校验开启 (去掉 requirepass 注解 在 vim 搜索:/requirepass,加上自己的密码)ok 保存退出启redis。Jedis (maven 篇) 基本使用Jedis的Github地址:https://github.com/redis/jedis1、创建 maven

2020-12-23 14:11:42 137

原创 Redis 中通用命令 (key) 和补充

DEL删除一个 key / valueDUMP序列化给定的 keyEXISTS判断一个 key 是否存在TTL查看一个 key 的有效期【-1 表示永不过期,-2 表示已经过期】EXPIRE给一个 key 设置有效期,如果 key 在过期之前被重新 set 了,则过期时间会失效。PERSIST移除一个 key 的过期时间PTTL和 ttl 一样,只不过这里返回的是毫秒keys *查看所有的 key...

2020-12-14 15:40:08 154

原创 Redis 基本数据类型 (ZSet) 的操作命令

ZADD将指定的元素添加到有序集合中。ZSCORE返回 member 的 score 值ZRANGE返回集合中的一组元素。ZREVRANGE返回一组元素,但是是倒叙。ZCARD返回元素个数ZCOUNT返回 score 在某一个区间内的元素。ZRANGEBYSCORE按照 score 的范围返回元素。ZRANK返回元素的排名(从小到大)zrevrank返回元素的排名(从大到小)ZINCRBYscore 自增ZINTERSTORE给两个集合求交集,求

2020-12-14 15:03:36 808

原创 Redis 基本数据类型 (Hash) 的操作命令

在 Hash 结构中, key 是一个字符串, value 则是一个 key/value 键值对。HSET添加值。HGET获取值。HMSET批量添加。HMGET批量获取。HDEL删除一个指定的 fieldHsetnx默认情况下,如果 key 和 field 相同,会覆盖掉已有的 value ,hsetnx 则不会。Hvals获取所有的 valueHkeys获取所有的 keyHgetall同时获取 key 和 valueHEXISTS返回 field

2020-12-14 11:23:03 311

原创 Redis 基本数据类型(Set) 的操作命令

SADD添加元素到 key 中,添加的元素不可重复。SMEMBERS获取一个 key 下的所有元素SREM在 key 集合中移除指定的元素SISMEMBER返回某一个成员是否在集合中SCARD返回集合的数量SRANDMEMBER随机返回一个元素,[count] 是几就返回几个,不会删除元素SPOP随机返回并出栈( 删除 )一个元素。SMOVE把一个元素从一个集合移除到另一个集合中去。SDIFF返回两个集合的差集 (注意顺序)。SINTER返回两个集合的

2020-12-14 10:48:29 298

原创 Redis 基本数据类型 (List) 的操作命令

LPUSH表示 将 value 的值从左到右依次插入表头的位置。将所有指定的值插入到存于 key 的列表的头部。如果 key 不存在,那么在进行 push 操作前会创建一个空列表。如果 key 对应的值不是一个 list 的话,那么会返回一个错误。LRANGE返回列表指定区间内的元素(倒叙)RPUSH这个和 lpush 功能类似。不同的是 rpush 是从右往左依次插入表头的位置。向存于 key 的列表的尾部插入所有指定的值。RPOP移除并返回列表的尾元素。LPOP移除并返回列表的

2020-12-11 11:44:16 150

原创 Spring Cloud Alibaba 从入门到放弃

NacosSpring Cloud Alibaba简介1. Nacos 简介1.1 Nacos 安装 + 配置中心1.2 注册中心2. SentinelSpring Cloud Alibaba简介Spring Cloud Alibaba 致力于提供微服务开发一站式解决方案。此项目包括开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。依托 Spring Cloud Alibaba,你只需要添加一些注解和少量配置,就可以将 Sprin

2020-12-09 10:50:41 525

原创 Spring Cloud Sleuth 笔记补充

Spring Cloud Sleuth1. 简介2. 简单应用2.1 异步任务2.1.1 Spring Cloud Sleuth 中也可以收集到异步任务中的消息2.1.2 Spring Cloud Sleuth 中也可以手机设定定时任务3. Zipkin3.1 准备工作3.2 实践1. 简介在大规模的分布式系统中,一个完整的系统是由很多种不同的服务来共同支撑的。不同的系统可能分布在上千台服务器上,横跨多个数据中心。一旦系统出问题,此时的问题定位就比较麻烦。分布式链路追踪:在微服务环境下,一次客户端请

2020-12-08 09:05:46 188

原创 Spring Cloud Stream (消息驱动)笔记补充

Spring Cloud Stream 笔记补充简介HelloWorld简介Spring Cloud Stream 是一个用来为微服务应用构建消息驱动能力的框架。它可以基于 Spring Boot 来创建独立的、可用于生产的 Spring 应用程序。Spring Cloud Stream 为一些供应商的消息中间件产品提供了个性化的自动化配置实现,并引入了发布-订阅、消费组、分区这三个核心概念。通过使用 Spring Cloud Stream,可以有效简化开发人员对消息中间件的使用复杂度,让系统开发人员可

2020-12-03 11:35:01 488

原创 Spring Cloud Bus 笔记补充

Spring Cloud Bus 通过轻量级消息代理连接各个微服务,可用广播配置文件来更改/或管理服务监控。首先安装 RabbitMQ,Docker 中 RabbitMQ 安装命令:docker run -d --hostname my-rabbit --name some-rabbit -P 15672:15672 5672:5672 rabbitmq:3-management详细步骤可参考 Docker一键安装RabbitMQ 这篇文章。安装完成后,...

2020-11-26 15:04:14 131

原创 Spring Cloud Config 笔记补充

Spring Ccloud Config1. 基本用法1.1 简介1.2 准备工作-提交文件三级目录配置文件加解密安全管理服务化动态刷新请求失败重试1. 基本用法1.1 简介Spring Ccloud Config 是一个分布式系统配置管理的解决方案,它包含了 Client 和 Server 。配置文件放在 Server 端,通过接口的形式提供给 Client。主要功能:集中管理各个微服务/环境的配置文件(中央仓库 统一打包 发快递)支持多种开发语言和高并发查询提供server(服务端)和客

2020-11-24 14:33:12 157

原创 Spring Cloud Gateway 笔记补充

Spring Cloud Gateway简介基本用法首先来看编码式:yml 配置与微服务结合PredicateFilter简介SpringCloud Gateway 旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。SpringCloud Gateway 作为 Spring Cloud 生态系统中的网关,目标是替代 Zuul,使用的是Spring Boot和Spring Webflux提供的Netty底层环境,不能和传统的Servlet容器一起使用,也不能打包成一个WAR包。Sprin

2020-11-19 11:10:31 807

原创 Zuul 笔记补充

Zuul 笔记补充1. 服务网关2. Zuul 简介2.1 初识 Zuul2.2 zuul过滤2.3 Zuul 中的其他配置2.3.1 匹配规则2.3.2 忽略路径2.3.3 前缀1. 服务网关由于每个微服务的地址都有可能发生变化,无法直接对外公布这些服务地址,基于安全以及高内聚低耦合等设计,我们有必要将内部系统与外部系统做一个切割。一个专门用来处理外部请求的组件就是服务网关。好处:客户端调用更加简单权限问题统一处理数据分割和拼接不同客户端可提供不同的网关支持Spring Cloud

2020-11-18 14:33:09 123

原创 服务监控

微服务由于服务数量众多,所以出故障的概率很大,这种时候不能单纯地依靠人肉运维。早期的 Spring Cloud 中,服务监控主要使用 Hystrix Dashboad ,集群数据库监控使用 Turbine。在 Greenwich 版本中,官方的建议监控工具使用 Micrometer。Micrometer:提供了度量指标,例如 timers、counters一揽子开箱即用的解决方案,如缓存、类加载器、垃圾收集等等。新建一个 Spring Boot 项目, 添加 Actuator 依赖。项目创建

2020-11-16 11:50:04 953

原创 Linux 快速安装 Prometheus

安装:# 下载Prometheus wget https://github.com/prometheus/prometheus/releases/download/v2.16.0/prometheus-2.16.0.linux-amd64.tar.gz# 解压tar -zxvf prometheus-2.16.0.linux-amd64.tar.gz解压完成后,配置一下数据路径和要监控的服务地址:cd prometheus-2.16.0.linux-amd64/vi prometheu

2020-11-16 11:46:14 280

原创 Resilience4j 从入门到放弃

Resilience4j 简介1.基本用法1.1熔断器1.1.1 首先看一个**正常**的断路器:1.1.2 一个**异常**的断路器:1.1.3 断路器重置简介Resilience4j 是 Spring Cloud Greenwich 版推荐的容错解决方案,相比 Hystrix ,Resilience4j 专为 Java8 以及函数编程而设计。Resilience4j 主要有以下功能:CircuitBreaker(熔断器)RateLimiter(限流)Retry(请求重试)限时缓存信号

2020-11-13 17:38:40 2554

原创 谷歌浏览器崩溃之错误代码:RESULT_CODE_MISSING_DATA

打开谷歌,突然页面崩溃了,所有插件提示也用不了了。页面显示崩溃的错误代码是:RESULT_CODE_MISSING_DATA我在网上找到一个大神的解决方法,亲测有限!解决方法首先在谷歌浏览器右键打开属性,在箭头所指的位置复制粘贴 -no-sandbox。(需要在引号后空一格再写入 -no-sandbox)如下图:大功告成!然后重启谷歌浏览器,打开后会提示:稳定性和安全性会有所下降,问题不大,用你的就行!以上…...

2020-11-09 21:58:38 44545

原创 OpenFeign 从入门到放弃

OpenFeign前言HelloWorld二级目录三级目录前言之前使用的eureka/hystrix 都是调用RestTemplate(繁琐 重复高) 。而OpenFeign对请求进行简化。Feign停更了 OpenFeign是在Feign基础上开发出来的。常用的几种接口调用方法:Httpclient 易用 灵活Okhttp 处理网络请求 轻量级 支持多协议。。HttpURLConnection 使用复杂RestTemplate Rest服务的客户端 提供多种便携访问HTTP服务的方法H

2020-11-04 15:18:20 1158 2

原创 Hystrix 简单请求合并

频繁的调用provider接太浪费了, 就有了将多个请求合并为一个请求的方式。首先在provider中提供一个请求合并的接口:@RestControllerpublic class UserController { /**【既可以处理多个,也可以处理单个请求】 *单个请求的话,List中只有一项数据 *假设 consumer 传过来的多个id格式是 1,2,3,4....*/ @GetMapping("/user/{ids}") public List<U

2020-10-26 10:39:24 347

原创 Hystrix 请求命令 & 异常处理

1.请求命令请求命令就是以继承类的方式来代替前面的注解方式。接着上文,首先定义一个helloCommand:public class HelloCommand extends HystrixCommand<String> { RestTemplate restTemplate; public HelloCommand(Setter setter,RestTemplate restTemplate) { super(setter);

2020-10-26 09:46:41 686

原创 Hystrix的简单介绍与使用

Hystrix 是 Netflix 针对微服务分布式系统采用的熔断保护中间件,相当于电路中的保险丝。在分布式环境中,许多服务依赖项中的一些必然会失败。Hystrix 是一个库,通过添加延迟容忍和容错逻辑,帮助你控制这些分布式服务之间的交互。Hystrix 通过隔离服务之间的访问点、停止级联失败和提供回退选项来实现这一点,所有这些都可以提高系统的整体弹性。在微服务架构下,很多服务都相互依赖,如果不能对依赖的服务进行隔离,那么服务本身也有可能发生故障,Hystrix 通过 HystrixCommand 对调

2020-10-24 07:45:17 191

原创 Consul 的使用、集群注册与消费简单案例

1.Consul 使用首先创建一个服务提供者consul-provider。新建一个Spring Boot项目,添加如下依赖:项目创建成功后,application.properties 添加如下配置:spring.application.name=consul-providerserver.port=2000# Consul 相关配置spring.cloud.consul.host=192.168.1.111 #写自己的ipspring.cloud.consul.port=85.

2020-10-21 17:33:59 438

原创 阿里云Centos 7.x 安装Consul

1.1 下载consul下载链接选择linux版本 下载好后 在传到服务器上或者直接在linux wget下载:wget https://releases.hashicorp.com/consul/1.7.1/consul_1.7.1_linux_amd64.zip然后进入根目录解压:unzip consul_1.7.1_linux_amd64.zip解压完成后,在根目录 可以看到Consul文件,然后执行以下命令,启动Consul. #此处ip也可写0.0.0.0./

2020-10-21 17:03:26 371

原创 RestTemplate 操作详细笔记

RestTemplate介绍spring3.0开始支持 Http请求工具 该工具与springboot或springcloud无关 提供常见的REST请求模版 例如支持GET、PUT、POST、DELETE 通用请求方法 --> exchange和execute 实现RestOperations接口 该接口定义了常见的RESTful操作 1.GET操作首先在provider中定义一个 hello2 接口: @GetMapping("/hello2") pu

2020-10-21 16:41:03 597

原创 Eureka 服务注册与消费(超详细)

1.服务注册服务注册就是把一个微服务注册到 Eureka Server 上,当其它服务需要调用该服务时,只需从Eureka Server 上查询该服务的信息即可。下面创建一个provider,作为服务提供者,创建项目时,选择Eureka Client 依赖,这样,当服务创建成功后,简单配置一下,就可以被注册到Eureka Server 上了。项目创建成功后,只需在 application.properties 中配置一下项目的注册地址即可。注册地址的配置,和Eureka Server 集..

2020-10-21 15:03:26 1080

原创 Spring Cloud Eureka 搭建 & 集群

关于Eureka的介绍已经在上篇文章通俗的讲了。Eureka 本身是使用java 来开发的,Spring cloud 使用 Spring Boot 技术对 Eureka进行了

2020-10-21 12:24:57 395 1

原创 解决Centos 没有字体导致 pdf 转图片乱码问题

最近做了一个报价功能,其中有pdf转图片,用到的是pdfbox,在windows系统测试是正常的,但放到centos 7 下就出现了乱码现象,如下图:解决方法:在Centos下安装字体:1.查看/usr/share目录下是否有fonts和fontconfig目录如果没有,执行下面指令:# yum -y install fontconfig 执行完后重新进入该目录就可以看到 fonts 和 fontconfig 目录了。2.进入字体目录,创建文件夹(自定义命名)# ...

2020-09-29 16:12:57 684

原创 Spring Cloud Eureka(详细介绍) 大白话

笔记补录:Spring CloudEureka 是Spring Cloud Netflix 微服务套件的一部分,基于 Netflix Eureka 做了二次封装,主要负责实现微服务架构中的服务治理功能。服务治理是微服务架构中必不可少的一部分,阿里开源的 Dubbo 框架就是针对服务治理的。服务治理必须要有一个注册中心,除了用 Eureka 作为注册中心外,我们还可以使用 Consul、Etcd、Zookeeper 等来作为服务的注册中心。用过 Dubbo 的读者应该清楚,Dubbo 中也有几..

2020-09-21 23:30:47 756

原创 解决Consul启动后Service Check报红叉的错误

consul启动后,访问http://ip:8500/ui ,提示报错(xxx是服务器的主机名):Get "http://xxx:2000/actuator/health": dial tcp: lookup xxx on 100.100.2.136:53: no such host解决方法:在Consul所在的服务器上配置host映射,将报错中的 xxx 映射到127.0.0.1 ,即可解决。1. 编辑hosts文件vim /etc/hosts2.在127.0.0.1 的...

2020-09-17 14:31:17 7028 5

原创 解决Consul 启动后访问不了原因

笔记补录:在阿里云上安装并启动了consul,以开发模式启动,如下:./consul agent -dev -ui -node=consul-dev -client=ip地址于是我在浏览器输入http://ip地址:8500/ui时一直访问不了。然后查看服务器安全组是否开放8500端口。开放8500端口后还是访问不了。解决方法:-client加上的指定其他机器即可。./consul agent -dev -ui -node=consul-dev -client=0.0.0.0.

2020-09-17 14:14:45 10058 3

原创 带实体的Collection转换为List集合

笔记: 带实体的Collection与List集合转换~ //求并集--a和b是自己创建的实体List集合 T实体类Collection<T> union= CollectionUtils.union(a,b); //Collection转化成List Iterator<T> iterator = union.iterator(); Collection<T> entityList =new ArrayList&l

2020-09-04 09:42:17 4613

原创 解决谷歌浏览器Chrome 代理设置不能上网的问题

如图,打开fq软件后,就访问不了了:解决办法:如下图,点开设置——>直接搜索代理——>点击代理设置;在Intert属性中——>连接——>选择局域网设置——>设置成自动检测设置,保存。刷新网页就OK了。...

2020-08-19 16:00:48 66531 12

原创 若依 Spring Boot 多文件上传亲测

废话不多说,直接上代码:1、HTML <div class="form-group"> <label class="col-sm-3 control-label is-required">多文件上传:</label> <div class="col-sm-8"> <input type="file" name="md" id="article_md" multiple="multiple"

2020-08-13 17:05:09 2766 10

原创 解决Thymeleaf 中 th:if、th:each、th:href、th:onclick、th:src等问题亲测

最近使用若依,对前端的thymeleaf语法不是很熟悉,下面是自己的笔记,大神请忽略。一、th:ifgt: great than(大于)>ge: great equal(大于等于)>=eq: equal(等于)==lt: less than(小于)<le: less equal(小于等于)<=ne: not equal(不等于)!=写法如下,其它写法类似。<div th:if="${substringNam...

2020-08-10 11:37:29 5115

原创 Illegal invocation 解决方法

使用ajax 传送数据时,出现如下图错误情况:我的 ajax 代码如下:解决方法如下:因为此处使用formData ,所以需要增加两个参数:contentType : false,processData : false,重新启动,问题解决!...

2020-07-24 09:47:27 1067

icepdf-core.zip

支持pdf转图片的jar,直接复制在maven本地仓库即可,不用在本地Maven中用命令安装jar包到本地仓库。

2020-04-07

代码统计工具.zip

代码统计工具(SourceCounter) - 支持30多种代码格式。能够统计包括:代码行数、注释、空行、文件大小等数据。另外,还支持对软件开发项目的各个开发阶段的工数、成本、质量指标等进行分析和预测。是程序开发人员的必备工具。

2020-04-07

mybatis-generator-core-1.3.1.zip

由于手工编写dao,model,和映射文件相对而言叫繁琐,所以mybatis发布了mybatis-generator极大的方便了我们的使用。

2020-04-07

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

TA关注的人

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