自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(109)
  • 资源 (23)
  • 收藏
  • 关注

原创 vagrant+virtual box搭建虚拟机

vagrant+virtual box搭建虚拟机。

2022-10-23 22:20:48 329 1

原创 Docker-Swarm介绍以及部署项目

docker-swarm是用来在多机部署多容器的一个工具,当然目前主流的是使用k8s部署,但是这个还是可以了解一下,其和k8s还有很多相似之处。

2022-07-12 18:47:54 1602

原创 Docker-Compose介绍以及部署项目

简单介绍:docker-compose支持的可以在单机上进行多容器部署的工具,可以通过运行一个yml文件以固定的顺序启动多个容器,而不需要手动一个个启动。

2022-06-09 20:04:26 2774 1

原创 服务依赖导致类无法自动注入的问题

问题背景:服务A依赖了通用组件服务B,在A的pom.xml中依赖了服务B,但是当A服务启动的时候没有任何异常,调用B服务中的方法时会报空指针,排查到最后是B服务中提供的方法并没有被A服务容器纳入管理。我的服务A是cloud-auth,其依赖了服务B:cloud-commons,pom文件如下:调用工具类中的redisUtil工具类时报了空指针,因为RedisUtil并没有被cloud-auth的容器纳入管理,所以取不到:解决方法:1、在服务Acloud-auth中自定义一个配置类,然后new 一

2022-05-06 18:54:12 860

原创 Springboot整合GrayLog日志平台

之前一直想搭建一下ELK日志平台,但是ELK组件之间各种配置让人感觉不是很好用,然后就发现了GrayLog这个日志管理和收集平台,上手以后发现确实简单。这里就记录一下整合到springboot项目中的过程。一、简介和对比(一)官方网站GrayLog开源官方网站为:https://www.graylog.org/注:下载安装GrayLog以后安装然后修改配置文件中es和mongodb的地址,其中es是用来存储丢到GrayLog中的日志,mongodb是用来存储GrayLog本身的数据的。(二)Gra

2022-04-07 20:29:11 3450

原创 Graylog和ELK的简单对比

一、常用日志平台日志管理工具的作用:收集,解析,可视化常用的日志平台:ELK(Elasticsearch+Logstash +Kibana )Elasticsearch:一个基于Lucene的文档存储,主要用于日志索引、存储和分析。Logstash:管理事件和日志的工具Kibana:可视化日志和时间戳数据其他日志组件:Fluentd:日志收集和发出Flume:分布式日志收集和聚合系统Heka:流处理系统,可用于日志聚合Octopussy:日志管理解决方案(可视化/报警/报告)本次要和E

2022-04-07 20:27:48 6095

原创 git报fatal: Authentication failed for又不弹出用户名和密码的解决办法

记录一下git报fatal: Authentication failed for又不弹出用户名和密码的解决办法。可依次使用一下三个步骤来尝试1、运行git config --system --unset credential.helper命令按照惯例只需要以管理员的身份运行git以后再输入git config --system --unset credential.helper即可2、修改gitconfig文件打开git的安装目录,如果没修改git的安装目录那就是:C:\Program Files\

2022-03-02 18:57:32 2458

原创 SpringBoot整合SpringCloud组件-Sleuth&ZipKin链路追踪

一、背景说明(一)作用通过使用Sleuth和ZipKin,我们可以在其提供的控制台上看到每次请求之中各个服务之间的调用关系以及每个服务涉及的具体接口信息、耗时信息等,总而言之就是提供了对整个微服务架构进行监控分析的功能。(二)ZipKin服务端的使用自从springboot2.0以后,其官方提供了Zipkin Server服务的jar,直接下载运行即可,或者自己创建一个springboot项目然后导入Zipkin Server的jar包然后启动,这里我们就使用简单点的方法,直接去官网下载jar包然后

2022-02-09 18:43:23 857 2

原创 SpringBoot整合SpringCloud组件-Feign

一、背景说明Feign是微服务环境下服务之间相互调用的工具,我们也可以使用httpclient等工具调用,但是服务之间的调用还是通过Feign,Feign的底层是通过Ribbon进行起作用的,通过hystrix进行服务熔断降级。前情提要:由于Feign是通过服务名进行项目之间的接口调用,因此就需要使用注册中心,从注册中心上根据服务名找到对应服务的具体地址。我们本次使用的注册中心就是Nacos。二、具体使用我这里代码展示就展示2个项目的调用,服务A(cloud-admin)调用服务B(cloud-t

2022-01-12 19:20:58 901

原创 Spring,SpringCloud,SpringCloudAlibaba各版本对应关系

纯粹记录一下,Spring,SpringCloud,SpringCloudAlibaba各版本对应关系以免后面使用的时候再找

2021-12-23 18:48:39 677

原创 SpringBoot整合SpringCloud组件-Gateway网关

一、网关的简单介绍(一)网关的定义和职能1、网关的的定义网关的角色是作为一个 API 架构,用来保护、增强和控制对于 API 服务的访问。API 网关是一个处于应用程序或服务(提供 REST API 接口服务)之前的系统,用来管理授权、访问控制和流量限制等,这样 REST API 接口服务就被 API 网关保护起来,对所有的调用者透明。因此,隐藏在 API 网关后面的业务系统就可以专注于创建和管理服务,而不用去处理这些策略性的基础设施。2、网关的的职能(二)Gateway的介绍1、什么是Ga

2021-12-11 13:54:29 5610 2

原创 Java爬虫之Webmagic爬取csdn文章

一、背景介绍本文是基于Webmagic提供的爬虫技术爬取的文章,虽然该技术已不再更新,但是现有的功能不影响正常使用,这点还是非常棒的,使用方面的问题直接看官方文档就行了,我这里只介绍个人爬取csdn的文章介绍。官网中文文档地址是:http://webmagic.io/docs/zh/,github地址是: https://github.com/code4craft/webmagic。适合对象:java开发人员或者已经在本地安装了java环境而又不想再安装python环境的人(本人没错了)二、爬取C

2021-11-03 18:58:59 629

原创 SpringBoot添加自定义HttpMessageConverter不起作用

问题:最新项目中在需要加上自定义的消息处理类针对接口的返回值做统一处理,但是发现加上了自定义的HttpMessageConverter不起作用,于是便有了这个文章了。用法:先说一般添加自定义HttpMessageConverter的方式,一是继承WebMvcConfigurationSupport类,然后重写configureMessageConverters方法。二是实现WebMvcConfigurer接口,然后实现extendMessageConverters方法。我们项目中用的是第二种方法,自定

2021-10-24 10:11:43 4009

转载 一文搞清楚,QPS、TPS、并发用户数、吞吐量

1、QPS2、TPS3、QPS和TPS区别4、并发数5、吐吞量6、PV7、UV8、DAU9、MAU10、系统吞吐量评估11、软件性能测试的基本概念和计算公式图片大家好,我是磊哥。一文辨明QPS、TPS、PV、UV、DAU、MAU、并发用户数、吞吐量~1、QPSQPS Queries Per Second 是每秒查询率 ,是一台服务器 每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内 所处理流量多少的衡量标准, 即每秒的响应请求数,也即是最大吞吐能力。推荐下自己做

2021-10-08 16:59:00 2671

原创 自动换证件照背景图的一个小玩意

import org.apache.hc.client5.http.entity.mime.MultipartEntityBuilder;import org.apache.hc.client5.http.fluent.Request;import org.apache.hc.client5.http.fluent.Response;import java.io.File;public class Tools {public static void main(String[] args) {

2021-09-06 19:00:58 218

原创 Linux下安装ElasticSearch

![在这里插入图片描述

2021-08-11 09:10:55 259

转载 超详细解析 | 一致性协议算法-2PC、3PC、Paxos、Raft、ZAB、NWR

背景在常见的分布式系统中,总会发生诸如机器宕机或网络异常(包括消息的延迟、丢失、重复、乱序,还有网络分区)等情况。一致性算法需要解决的问题就是如何在一个可能发生上述异常的分布式系统中,快速且正确地在集群内部对某个数据的值达成一致,并且保证不论发生以上任何异常,都不会破坏整个系统的一致性。CAP 定理CAP 理论告诉我们,一个分布式系统不可能同时满足一致性(C:Consistency),可用性(A: Availability)和分区容错性(P:Partition tolerance)这三个基本需求,最

2021-07-27 16:39:02 371

原创 Docker上传镜像至阿里云私有镜像仓库

一、阿里云创建私有镜像仓库1、首先是登录阿里云官网,这个就不用多说了2、点击右上角的控制台然后找到容器镜像服务3、选择容器镜像服务以后就会跳转到实例列表,这个时候注意记得把上面的归属地切换成你购买服务器地区,这里有的时候会有bug,默认不是你购买的服务器的所属区域。然后再点击个人实例进入实例详情页。4、进入个人实例详情以后先进入命名空间,创建一个空间,然后再点击镜像仓库创建一个镜像仓库以便后期推送镜像到仓库里。镜像仓库是必须放在命名空间下的,目前阿里云运行个人创建3个命名空间。最后就是点击访问

2021-07-01 19:15:04 2826 4

原创 CentOS如何增加虚拟内存

前言之前利用学生优惠买了阿里云1核2G的服务器,但是使用的过程中发现内存不够用,但是没办法,穷。后来服务器到期了又通过其他渠道买了阿里云3年的的1核2G的服务器(还是因为穷),这次使用的时间比较长,就只能通过增加虚拟内存的方式来扩大内存容量了,也就是通过创建swap分区来实现。一、何为swap分区?简而言之:从磁盘上获取很长没被使用的程序的空间来当做虚拟内存使用。二、swap分区的创建1、查看内存使用情况可以看到一共是1.8G的内存,因为是才使用所以才用了458M,为了防止以后满了宕机,所以

2021-06-18 14:17:52 2666 2

原创 Docker网络

一、计算机网络模型我们都知道计算机网络模型细分可以分为七层网络模型:,简分可以分为二、Linux中网卡三、Network Namespace四、container网络-Bridge五、container网络-Host&None六、端口映射七、多机之间的container通信...

2021-05-27 21:55:39 349

原创 解决项目调用之间Connection reset的问题

前几天项目中调用其他项目会时不时的报Connection Rest,然后找了各种方法都解决不了。被调用方查询日志以后发现每次报Connection Rest时被调用方都未收到请求。查询了一些资料才发现,Nginx对服务端使用的是长连接,对客户端使用的是短连接,而我们项目使用的是HttpPost ,HttpPost 默认是长连接。那么就很显而易见了,我方调用数据提供方使用了长连接,而被调用方的nginx对我方使用的是短连接,被调用方接受请求以后立马断掉了,我方还在继续等待结果就产生了Connection

2021-04-28 19:10:41 2795

原创 Kubernetes进阶之核心组件

讲解各个核心组件之前,我们先看一下之前画的k8s整体的架构图回忆一下各个组件之间如何协同工作的。一、核心组件整体总览(一)kubectl跟k8s集群打交道的客户端,我们常用的命令就是通过kubectl来执行的。(二)API Serverk8s集群的中枢纽带,负责多方面的事情:(1)(2)(3)(4)(5)(6)(三)Scheduler(四)Controller Manager(五)kubelet(六)kube-proxy(七)DNS(八)dashboard控制面板,可

2021-04-01 19:29:20 461

原创 关于Mybatis返回值为Map时泛型不起作用的问题

相信大家工作中都用过Mybatis,在使用Mybatis时其mapper对应的xml中若是使用select查询则必须要写resultType。如果返回值过多的情况下,我们一般都是使用实体类接受返回值,但有时返回的值比较少的时候为了较少代码中实体类的数量,我一般用Map。但是问题来了,当resultType若为Map时,若定义了Map的泛型为String,但是数据库返回字段在库中为Number,那么就会发现虽然Map中有值,但是其类型为BigDecimal,泛型并没有起作用。但是如果是使用实体类接收这些

2021-03-04 15:01:03 1773 2

原创 Kubernetes进阶之基础组件

3、configMap说到共享volume,前面将的IngressController还记得吧(Kubernates的核心详解),我使用了Ingress Nginx Controller,从官网下载了Ingress Nginx Controller创建需要的yml文件,文件中有很多configMap。如下:...

2021-02-23 20:15:30 293 1

原创 Kubernetes之持久化

一、前言前面我们接触了Kubernates的搭建,安装和核心组件,现在我们就聊聊Kubernates的持久化存储方面的事情。通过前面的文章我们知道,当pod挂了以后,deployment会根据pod的yml文件的配置重新创建一定数量的pod来维持数量。如果我们没有持久化的方案,那么pod中的数据就会丢失,新创建的pod无法共用之前的数据。二、VolumesKubernates作为一个成熟的产品,其肯定会考虑这个问题的。Kubernates提供了Volume来用于持久化存储。关于Volume请看官网

2021-01-28 18:49:38 584

原创 Kubernetes的核心详解

前言:之前我们划画过下面这张图,通过图我们可以看出ReplicaSet是维护Pod,而Deployment是维护ReplicaSet的。那么我们就从Pod入手,毕竟Pod是Kubernates的基础,没有Pod其他的都没任何用。Pod是Kubernates的基础,我们如何动态扩展Pod的数量以及动态下线某Pod呢?通过官网我们可以看到,ReplicatSet、ReplicationController、Deployment都可以维护Pod的数量。下面我们详细从Pod开始详细介绍一下Kubernates

2021-01-06 18:57:09 317

原创 Kubernetes初识

一、Kubernates是什么?(一)读音了解一个新事物,最先学会都是怎么读,不然以后会一直读错下去,到时候说出去可能就会被人嘲笑。Kubernates,读音是[kubə’netis],翻译成中文就是“库伯奈踢死”。当然了,也可以直接读它的简称:k8s。为什么把Kubernates读作k8s,因为Kubernates中间有8个字母,所以简称为k8s。(二)历史认识任何东西最靠谱的都是去官网看具体的介绍,Kubernates官网地址:https://kubernetes.io/。有兴趣的小伙伴可以自

2020-12-14 20:55:48 4257

原创 SpringBoot打包插件

在web的pom.xml中加入:<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <conf

2020-11-17 22:38:50 691

原创 MySQL架构与SQL执行流程

一、MySQL的历史MySQL开源以后也很有很多出名的分支,例如MariaDB(CentOS7默认自带,是MySQL创始人自己写的分支)等,国内互联网公司也有一些MySQL的分支或者自研的存储引擎,例如网易的InnoSQL等。MySQL之前是ISAM存储引擎后来升级成MyISAM,然后5.5以后默认为InnoDB,MySQL5.7以后直接就是8.0版本。不同的表可以使用不同的存储引擎,并不一定全部都是InnoDB。二、MySQL的工作流程1、网络通信网络通信可以分为单双工(只能单方通信),半双工(

2020-11-11 18:21:47 234 2

原创 MySQL之索引原理

一、索引以及存储结构1、索引原理1.1、2、索引数据存储结构二、索引的使用规则

2020-10-21 19:58:37 1048

原创 MySQL之事务与锁详解

一、数据库事务1、什么是事务?2、事务的四大特性3、事务可能产生的问题4、事务隔离机制二、数据库表1、MVCC机制2、LBCC锁2.1、表锁2.2、行锁

2020-09-18 18:45:24 463

原创 定时任务之Quartz和Elastic-Job

一、背景常用的定时任务一般有:JDK Timer、Spring Task、Quartz、xxl-job、Elastic-job。JDK Timer:JDK自带的定时任务,1.5之前不支持多线程,1.5之后加入了ScheduleThreadPool就是为了它,支持多线程;Spring Task:Spring的定时任务,但是不支持集群;Quartz:简单、轻量级最常用的定时任务,支持集群;xxl-job、Elastic-job:xxl-job是京东的一个架构师开发的定时任务,Elastic-

2020-08-27 18:44:58 2548 2

原创 Linux下安装Mysql5.7.30

tar -xvf mysql-5.7.30-el7-x86_64.tar.gz mysql-5.7.30-el7-x86_64/mv mysql-5.7.30-el7-x86_64 mysqlvim /etc/my.cnfcd /home/software/mysql/bin/./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/home/software/mys...

2020-07-09 17:45:52 2113

原创 分库分表相关知识

一、背景 当我们新搭建一个项目时,在用户量没上来之前几乎都是先使用的单体项目,当用户量上来了单体项目不支持那么高的量的时候我们都会拆分项目,将单体的项目向分布式方向演进。如果这个时候我们的项目已经拆分成了多个分布式的项目了,但我们访问的还是同一个数据库,那么无论你拆分为多少个服务,其访问的数据库是同一个,当量上来以后无论你项目再怎么拆分还是会出现反应慢、超时等问题,究其原因还是因为数据库的连接数是有限的,这个时候就要考虑分库以及分库以后的分表了。二、水平和垂直拆分1、水平分库和...

2020-06-11 19:15:00 252

原创 Sharding-JDBC和Mycat在分库分表中的应用

一、背景介绍 Sharding-JDBC本来是当当网内部解决分库分表的问题的一个内部组件,后来慢慢开源了然后现在捐给了Apache,成为了Apache的一个子项目,但是当当自己还在维护自己的。除了Shrading-JDBC,当当还开源了Elastic-Job、基于Dubbo的DubboX。 在Apache中,Sharding-JDBC改名叫做ShardingSphere,其包含了Sharding-JDBC和Sharding-Proxy,其中Sharding-JDBC是应...

2020-05-20 18:57:42 5055 1

原创 雪花算法以及具体实现

一、为何要用雪花算法 1、问题产生的背景 现如今越来越多的公司都在用分布式、微服务,那么对应的就会针对不同的服务进行数据库拆分,然后当数据量上来的时候也会进行分表,那么随之而来的就是分表以后id的问题。 例如之前单体项目中一个表中的数据主键id都是自增的,mysql是利用autoincrement来实现自增,而oracle是利用序列来实现的,但是当单表...

2020-05-08 10:54:50 29074 7

原创 Activiti工作流的入门使用

一、Activiti基本概念流程定义:就是流程图(bpmn文件)流程实例:流程定义的每个具体实现流程定义与流程实例的关系就像类和对象的关系,一个类可以有多个对象,一个流程定义可以有多个流程实例。bpmn:流程图,下图就是一个bpmn文件生成的图片二、Acitiviti插件的安装以及创建流程定义(idea中)1、idea中工作流插件的安装两种安装方式:通过...

2020-04-28 19:10:06 538

原创 Nginx配置及使用

一、Nginx、Apache、Tomcat、Jetty的区别共同点:都是web服务器不同点:1、tomcat和jetty是面向java语言的web服务器,其天生就是重量级服务器,其性能与Nginx没法比;2、Apache是公认的世界第一web服务器,但是由于其出生的太早,导致其设计的时候就是重量级服务器,当应对高并发的时候其消耗比较高,其是基于BIO的;3、Nginx是高性能的web服务器...

2020-04-21 22:35:16 4466

原创 并发编程详解

多线程并不一定比单线程处理的效率高,开启过多的线程,会增加上下文切换的开销,降低了效率。一、如何降低上下文切换的开销:无锁并发编程、CAS算法、使用最少线程、使用协程 无锁并发编程:多线程竞争锁会产生额外的上下文切换开销,因此多线程处理数据时尽量减少锁的使用。例如对数据id进行hash算法取模分段,不同的线程处理不同的数据段。 CAS算法:java.concur...

2020-03-30 09:19:38 541

原创 使用Gradle构建Spring源码

一、下载Spring源码不同版本的Spring需要不同版本的Gradle,我这里下载的是5.0.2,Spring源码在git的地址为:https://github.com/spring-projects/spring-framework,自行下载自己想要的版本。下载解压以后,找到解压文件中的build.gradle,打开搜索gradleVersion,看你下载的spring源码需要哪个...

2020-01-03 09:32:31 2094

【36套】工作总结PPT.zip

工作总结ppt36套

2021-11-05

工作计划(励志、梦想、启程、竞选)18套.zip

工作计划ppt18套

2021-11-05

工作计划(励志、梦想、启程、竞选)19套.zip

工作计划ppt19套

2021-11-05

行业模板ppt24套.zip

行业年终总结模板ppt,涉及各行各业,一共24套

2021-11-05

证券市场法律法规文档总结.doc

这是证券从业资格考试中的另一门,证券市场法律法规,这是本人整理出来的word笔记文档

2021-06-09

金融市场基础知识.doc

考取证券从业资格证需要的金融市场基础知识,这是总结的文章

2021-06-09

这是一个简易版租房合同

这是一个租房合同,有些时候需要提供合同,还得自己找模板

2021-01-28

java项目启动脚本

这是一个java项目打包部署以后的启动脚本,配置了启动参数等

2021-01-28

httpcore5-5.0.2.jar

这是我一个抠图程序发送请求时专用的jar,maven仓库不好下载,我就上传到csdn,以便下次可以继续使用

2020-10-30

httpclient5-fluent-5.0.3.jar

这是我一个抠图程序发送请求时专用的jar,maven仓库不好下载,我就上传到csdn,以便下次可以继续使用

2020-10-23

httpclient5-5.0.3.jar

这是我一个抠图程序发送请求时专用的jar,maven仓库不好下载,我就上传到csdn,以便下次可以继续使用

2020-10-23

instantclinet-x86-11.1.zip

navicat登录oracle必须在其工具-选项-OCI中导入installclient的oci.dll和sqlplus,该压缩包中包含两个文件,分别是installclient-basic和installclient-sqlplus的安装包,解压即可使用,对应navicat的版本是11.1

2020-04-27

instantclient-sqlplus-win-x86-64-11.1.0.7.0.zip

navicat登录oracle必须在其工具-选项-OCI中导入installclient的oci.dll和sqlplus,这是installclient的安装包,解压即可使用,对应navicat的版本是11.1

2020-04-27

apache-jmeter-3.1.zip

这是jmeter安装以后的压缩包,解压以后直接使用即可,无需再次安装,需要使用jmeter进行测试的可以下载下来看看。

2020-04-08

gui反编译工具-1.4.0.zip

这是jui1.4.0反编译工具,可以将.class字节码文件转换成.java源码文件,下载以后解压以后即可使用,无需安装等多余的步骤即可放心使用。

2020-04-08

智慧养老概要设计说明书V0.1.docx

该文档是基于物联网的智慧养老概要说明书,需要写概要设计说明书的或者感兴趣的人可以下载下来看看,但是切记不可抄袭

2020-04-08

物联网专用消息队列EMQ的安装使用以及压测.docx

物联网专用消息队列EMQ的高可用负载均衡集群的具体安装手册以及使用jmeter进行压测的相关说明书,有需要的可以下载

2020-04-08

微服务架构-服务网关.docx

这是一个对微服务架构中网关(Zuul)的相关功能、优缺点进行相关的普及和介绍的文档,若需要对其相关功能进行大致了解的可以下载看看。

2020-04-08

阿里巴巴Java开发手册v1.5.0华山版.zip

该文档是阿里巴巴java编码规范1.5版本,是目前最新版。想要了解或者考试的可以看看

2019-08-27

集成了MQTT插件的jmeter3.1

集成了MQTT插件的jmeter3.1,可用于测试EMQ的连接、消息的发布、订阅

2019-05-08

mqtt-xmeter-1.0.1-jar-with-dependencies.jar

jmeter集成MQTT插件需要的jar包,可以用于批量测试EMQ的连接、发布、订阅,下载以后放在jmeter文件夹lib/ext下重启jmeter即可

2019-05-08

JS+Echarts实现实时大屏

JS+Echarts实现实时大屏,具体的使用代码请看我博客。

2019-04-22

jquery的imgareaselect截图插件

这是利用jquery的imgareaselect进行截图的插件,使用代码请看我博客

2019-01-18

空空如也

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

TA关注的人

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