自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 springcloud通过hystrix做服务降级和服务熔断

为什么要引入hystrix,首先我们看下面这张图。下图是微服务体系调用架构,假如服务2,3,4要调用服务1,这时候服务提供者1宕机了,那么服务调用者肯定会出现报错提醒。而把报错信息暴露给用户是十分危险的同时也是很不友好的,有没有什么方法可以在服务1挂掉的同时让服务234有一个兜底的方法不把具体错误返回给页面而是出现一个500或者404的界面呢?接下来hystrix就派上了大用场了。一般我们通常把服务降级设置在客户端而不是服务端。服务熔断在服务端而不是客户端。为什么要这么设置呢?...

2022-08-29 16:23:56 1539 1

原创 java操作Redis数据库

首先导入pom依赖再创建数据库连接对象。

2022-08-24 21:42:09 1542

原创 解决ssh登录Host key verification failed(主机密钥验证失败)问题

相信有的小伙伴在用ssh远程连接自己的服务器时会遇到一下情况。这个的意思是说主机密钥验证失败,我的原因的频繁更换了操作系统导致的双方原先保留的秘钥不一致。

2022-08-13 13:41:54 9532 1

原创 Java API操作MongoDB

本文介绍了怎样通过javaAPI连接操作MongoDB数据库。

2022-07-24 10:43:48 3789

原创 jvm——双亲委派机制、jvm分区、垃圾回收算法

在发生GC时,需要回收的对象特别多,存活的特别少,因此需要搬移到另一块内存的对象非常少,所以不需要11划分内存空间。但不能保证每次存活的对象就永远少于新生代整体的10%,此时复制过去是存不下的,因此这里会用到另一块内存,称为老年代,进行分配担保,将对象存储到老年代。当前大多商用虚拟机都采用这种分代收集算法,这个算法并没有新的内容,只是根据对象的存活的时间的长短,将内存分为了新生代和老年代,这样就可以针对不同的区域,采取对应的算法。整理让存活的对象,向内存的一端移动,然后直接清理掉没有用的内存。...

2022-07-17 15:50:46 1254

原创 java内存模型——JMM理解

JMM是一种java内存模型,是一种不存在的概念和约定。JMM有以下约定:1.线程解锁前,必须把共享变量刷回主存。2.线程加锁前必须读取主存中的值到工作内存中。3.加锁和解锁必须是同一把锁。JMM模型示意图:lock(锁定):把一个变量标记为一条线程独占状态unlock(解锁):把一个处于锁定状态的变量释放出来,释放后的变量才可以被其他线程锁定read(读取):把主内存中的一个变量读取传输到线程的工作内存,以便随后load动作使用load(加载):把read到线程工作内存的变量放入工作内存的变

2022-07-08 20:31:57 1288

原创 java集合类构造及原理

Java集合主要分为Collection和Map两个接口;Collection又分别被List和Set继承;List被AbstractList实现,然后分为3个子类,ArrayList,LinkList和VectorList;Set被AbstractSet实现,又分为2个子类,HashSet和TreeSet;Map被AbstractMap实现,又分为2个子类,HashMap和TreeMap;Map被Hashtable实现。(1)相同点:LinkedeList和ArrayList都实现了List接口。Arr

2022-06-14 16:51:59 1265

原创 springcloud通过Feign做服务调用实例

Feign是声明式的web service客户端,它让微服务的调用变得更简单了,类似Controller调用service。SpringCloud集成了Ribbon和Eureka,可在使用Feign时提供负载均衡的http客户端。只需要创建一个接口,然后添加注解即可Resttemplate需要先定义一个Resttemplate的类注册到bean中使用同时在进行服务调用的时候要进行url的拼接。Feign可以伪装成类似SpringMVC的controller一样,将rest的请求进行隐藏,不用再自己拼接ur

2022-06-09 11:40:51 1561

原创 springcloud使用ribbon做负载均衡

springcloud中面对集群的时候就不得不考虑用负载均衡减低服务器压力了。新版的eureka中集成了ribbon的负载均衡,需要在pom文件中导入下面包客户端:服务端如果用的eureka不是上面的依赖的话就用下面这个一、Ribbon负载规则ribbon负载均衡的核心是irule接口,在接口下实现了AbstractLoadBalancerRule抽象类,又在抽象类上分别实现了RoundRibbonRule(轮询)、RandomRule(随机)、RetryRule(重试)、BestAvailab

2022-06-07 16:25:01 499

原创 springcloud将微服务注册进eurekaserver

简单介绍如何把maven项目中的微服务模块注册到eurekaserver中方便管理。右键点击父工程建立的过程省略,最后建好是这样的。建立了上述模块之后开始在该模块中导入maven项目必须的包,最不能少的包是下面的eurekaserver的包。2.修改application.yml文件3.新建主启动类二、建立微服务模块1.pom文件导包微服务模块的创建也和上面一样,我建立的微服务模块为payment8001。也是我需要注册进eureka的服务。然后导入eureka的包2.修改appli

2022-06-03 00:38:16 1479

原创 springboot、maven项目热部署实现

文章目录前言一、总工程添加插件二、添加devtools热部署依赖三、设置里面勾选热部署选项四、按住ctrl+shift+alt+/五、重启idea前言springboot、maven项目中每次改动了代码之后都要重新启动一遍才能使改动的部分生效非常麻烦,小的项目还好,如果是大项目的话启动一次要花很久就太麻烦了。还好有个热部署的东西可以帮助我们即使修改了代码也不用重启项目。提示:以下是本篇文章正文内容,下面案例可供参考一、总工程添加插件<build> <plugins&g

2022-05-31 16:19:52 546

原创 docker入门学习之第六章idea操作docker进行项目远程部署

文章目录前言一、Idea连接docker服务器配置设置二、项目代码打包部署总结前言本章是介绍如何通过用idea远程连接docker服务器完成对docker的操作以及直接在idea上面远程部署自己的项目到docker。提示:以下是本篇文章正文内容,下面案例可供参考一、Idea连接docker服务器配置设置1.通过命令进行配置文件设置。不同的机子该文件存放的地方可能不同。我的docker.service文件是在/lib/systemd/system目录下。vim /lib/systemd/sys

2022-05-28 18:16:51 1360

原创 docker创建(run)容器后容器自动关闭

项目场景:比如通过下面该命令run一个容器,容器生成后发现既没有任何报错也没有消息提示但是就是自动关闭了。docker run -it -P --name="容器名" [镜像名]原因分析:docker容器运行必须有一个前台进程, 如果没有前台进程执行,容器认为空闲,就会自行退出。容器运行的命令如果不是那些一直挂起的命令( 运行top,tail、循环等),就是会自动退出解决方案:在最后加上/bin/bash就可以了。例如在上面的基础上。docker run -it -P --name="容器

2022-05-25 10:56:42 3791 3

原创 docker入门学习之第五章——Dockerfile、dockerfile构建kafka案列

文章目录前言一、dockerfile常用指令二、dockerfile构建kafka镜像步骤1.下载构建镜像所需的安装包2.编写dockerfile文件内容3.通过build命令生成镜像前言前面提到过我们可以用commit命令进行镜像的构建,但是这样的方式太不灵活。接下来我会对用Dockerfile文件构建镜像做讲解。一、dockerfile常用指令FROM          基础镜像,一切从这里开始格式:  FROM <image>  FROM <image>:&l

2022-05-25 10:41:26 936

原创 docker入门学习之第四章数据卷使用——目录挂载

文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言docker容器之间是相互隔离的,每个容器都有属于自己的文件系统。但是在做项目的时候碰到了需要共享目录的需求,比如做flume远程采集maven的日志数据的时候用到了tail -f [数据文件目录],做分布式项目的时候我们要收集数据总不可能直接在数据文件目录上填写另一台服务器的目录,但是又有这样的需求怎么办呢?用docker的数据卷目录挂载可以实现。一、pandas是什么?示例:pandas 是基于NumPy 的一种工

2022-05-24 16:50:13 1233

转载 linux安装vim失败(Unable to locate package vim)

安装vim失败提示信息:Unable to locate package vim需要输入:apt-get update(作用是:同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包)之后再输入apt-get install vim安装(非root用户登录,root apt-get intall vim)...

2022-05-14 16:18:55 7826

原创 docker学习第三章之commit提交镜像

文章目录前言一、commit命令二、案例使用步骤1.引入库2.读入数据总结前言在遇到项目部署到docker上面的时候经常会有几个人共同操作一个资源,比如产品版本的迭代升级或者代码修改。那么docker能不能像gitee一样实现我们的需求呢?答案是可以的,这需要用到commit来提交我们修改的容器。一、commit命令commit命令是将我们的docker容器提交成一个新的镜像副本,如果我们需要在原来的容器基础上面修改文件或者添加新的东西那么就需要在原来容器的基础上面进行commit,这样就会生产

2022-05-14 14:24:10 950

原创 docker入门第二章之常用命令

docker入门第二章之常用命令——镜像、容器操作命令文章目录docker入门第二章之常用命令——镜像、容器操作命令一、镜像常用命令查看镜像搜索镜像拉取镜像删除镜像二、容器常用命令创建容器进入某个容器退出容器查看在运行的容器删除容器容器启动,重启,停止。一、镜像常用命令查看镜像docker images //查看本地所有镜像Options: -a, --all 查看所有镜像 (default hides intermediate images) -q, --q

2022-05-13 17:10:06 1124

原创 docker的作用以及名词解释

docker入门第一章之docker的作用和专有名词解释提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录docker入门第一章之docker的作用和专有名词解释一、docker的作用?二、docker的名词解释1.宿主机2.镜像3.容器4.仓库一、docker的作用?1.传统的虚拟机是虚拟出硬件,有一套完整的操作系统,在这个完成的操作系统上面运行软件。容器是没有自己的虚拟硬件的,它的应用运行在宿主机上面,因此更加轻便。2.docker的每一个容器之间是相互隔离的,每个容

2022-05-13 15:32:42 1446

原创 scala语言编写的maven项目打jar包运行

项目场景:scala语言编写的maven项目打jar包运行问题描述最近在做项目的时候需要把项目部署到docker上面运行,java、编写的maven项目打成jar包再定义入口函数之后就可以运行了。但是如果是scala语言写的怎么办呢?原因分析:springboot项目或者maven项目在打成jar包运行的时候会先找主程序入口,要不然机器不知道整个项目该从哪里运行。因此scala编写的项目也需要定义一个主函数。如上图假如我要运行StreamRecommender.scala这个程序。scala

2022-05-08 11:00:06 1482

原创 springboot项目部署打成jar包后运行提示找不到application.properties文件问题

项目场景:springboot项目部署打成jar包后运行提示找不到application.properties文件问题问题描述最近在做springboot项目部署到服务器上,打成jar包之后在本地用java - jar xxx.jar运行了一下发现报了这个错误。仔细一看报错提示是jar包中找不到相关文件。原因分析:后来经过一番询问和查找,发现是自己的resource文件夹下面的配置文件没有打上来解决方案:在pom文件中加上以下信息后就可以啦<resources>

2022-04-29 19:26:18 4082

原创 常用的正则表达式及案例(项目直接套用)

匹配符以及含义d? 表示d出现0次或者1次a* a可以出现0次或多次a+ a出现一次以上a{6} a出现6次a{2,} a出现2次以上a{2,6} a出现2-6次匹配多个字符:(ab)+ ab出现一次以上或运算:a(cat|dog) 匹配 a cat or a dogacat|dog 匹配 a cat or dog字符类:[abc]+ abc出现一次以上 abc aabbcc[a-zA-Z0-9] 匹配任意的大小写字母,数字。ABCabc123^ 排除

2022-04-13 21:45:54 1341

原创 win 10环境Kafka的安装和测试

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、Kafka官方下载地址二、使用步骤1.引入库2.读入数据总结前言安装Kafka之前要确保自己电脑上面的java环境已经配置好,要不然会抛出找不到java的错误。一、Kafka官方下载地址http://kafka.apache.org/downloads二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib..

2022-04-13 16:58:27 3752

转载 win10安装 flume1.9.0

win10安装 flume1.9.0参考:https://blog.csdn.net/yamaxifeng_132/article/details/110123993注意:flume 运行需要java环境,所以运行flume之前必须安装并配置java环境(如果安装了jdk,但是没有配置jdk环境,运行 flume 时会抛出找不见 java.exe 的错误)。第一步:下载flume并解压,下载地址: http://www.apache.org/dyn/closer.lua/flume/1.9.0/apa

2022-04-11 22:09:45 1392

原创 win 10下spark的安装及配置

一级标题提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录步骤一、jdk配置二、Hadoop配置三、Spark配置四、scala安装五、运行测试步骤提示:以下是本篇文章正文内容,下面案例可供参考一、jdk配置在jdk官网中下载与自己电脑相应配置的jdk。点击电脑的设置——>关于——>高级系统设置——>环境变量中配置jdk环境变量。点击新建,输入下图中的变量名称,变量值填写你自己安装的jdk目录路径。建好后点击确定在系统变量中添加变量名

2022-04-11 21:39:35 5669

java多线程和锁,用于学习参考

java多线程和锁,用于学习参考

2022-09-09

空空如也

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

TA关注的人

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