自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Mockito单元测试

这里是导入方法importFromExcel()里面调用了getAllBudgetReportCategories(Long annualId),我们只需要关心这个方法需要返回什么数据给importFromExcel()方法才算合理就行了,最后把这个合理数据模拟出来。

2024-04-15 11:55:05 985

原创 Centos7安装K8S报错:[ERROR KubeletVersion]: the kubelet version is higher than the control plane version.

很显然,Kubelet版本问题。

2024-04-09 15:56:38 153

原创 Docker设置ustc的镜像源(镜像加速器:修改/etc/docker/daemon.json文件)

ustc是老牌的linux镜像服务提供者了,还在遥远的ubuntu5.04版本的时候就在用。ustc的docker镜像加速器速度很快。ustc docker mirror的优势之一就是不需要注册,是真正的公共服务。Docker 镜像使用帮助文档。

2024-04-09 15:49:53 438

原创 常用网络&特殊符号大全(含彩色表情符号)

1、常用符号 ❤❥웃유♋☮✌☏☢☠✔☑♚▲♪✈✞÷↑↓◆◇⊙■□△▽¿─│♥❣♂♀☿Ⓐ✍✉☣☤✘☒♛▼♫⌘☪≈←→◈◎☉★☆⊿※¡━┃♡ღツ☼☁❅♒✎©®™Σ✪✯☭➳卐√↖↗●◐Θ◤◥︻〖〗┄┆℃℉°✿ϟ☃☂✄¢€£∞✫★½✡×↙↘○◑⊕◣◢︼【】┅┇☽☾✚〓▂▃▄▅▆▇█▉▊▋▌▍▎▏↔↕☽☾の•▸◂▴▾┈┊①②③④⑤⑥⑦⑧⑨⑩ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ㍿▓♨♛❖♓☪✙┉┋☹☺☻تヅツッシÜϡﭢ™℠℗©®♥❤❥❣❦❧♡۵웃유ღ♋♂♀☿☼☀☁☂☄☾☽❄☃☈⊙☉℃℉❅✺ϟ☇♤♧♡♢♠♣♥♦☜☞

2024-03-29 17:37:18 584

原创 kubernetes(K8S)学习(九):K8S之日志监控

docker命令查看kubectl命令查看 1.1.2 Pod级别当然,kubectl describe除了能够查看pod的日志信息,还能查看比如Node、RC、Service、Namespace等信 息。 注意 :要是想查看指定命名空间之下的,可以-n=namespace比如kube-apiserver、kube-schedule、kubelet、kube-proxy、kube-controller-manager等可以使用journalctl进行查看 1.1.4 LogPilot + ES

2024-03-29 16:18:48 1119

原创 常见部署方案:普通部署、滚动部署、蓝绿部署、灰度发布(金丝雀发布)

AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度,而我们平常所说的金丝雀部署也就是灰度发布的一种方式。蓝绿部署是不停老版本,部署新版本然后进行测试,确认OK,将流量切到新版本,然后老版本同时也升级到新版本。最早的部署方式:先停止旧的应用,然后再部署新的应用,这个过程服务是会间断的。蓝绿部署无需停机,并且风险较小。

2024-03-29 15:57:21 437

原创 kubernetes(K8S)学习(八):K8S之常见部署方案

maxUnavailable :滚动升级时允许的最大unavailable的pod数量。conclusion :发现新旧pod是会共存的,并且可以访问测试看一下。先停止旧的pod,然后再创建新的pod,这个过程服务是会间断的。修改rollingupdate.yaml文件,将镜像修改成v2.0。conclusion :发现pod是先停止,然后再创建新的。创建bluegreen-service.yaml。修改bluegreen-service.yaml。修改bluegreen-service.yaml。

2024-03-29 15:55:17 970

原创 kubernetes(K8S)学习(七):K8S之系统核心组件

管理Pod及Pod中的容器,每个kubelet进程会在API Server上注册节点自身信息,定期向Master节点汇报节点资源的使用情况,并通过cAdvisor监控容器和节点资源。然后,目标节点上的kubelet通过API Server监听到Kubernetes Scheduler产生的Pod绑定事件,获取对应的Pod清单,下载Image镜像,并启动容器。单纯地调度pod,按照特定的调度算法和策略,将待调度Pod绑定到集群中某个适合的Node,并写入绑定信息,由对应节点的kubelet服务创建pod。

2024-03-29 15:46:28 1303

原创 kubernetes(K8S)学习(六):K8S之Dashboard图形界面

官网Dashboard是基于web的Kubernetes用户界面。您可以使用指示板将容器化的应用程序部署到Kubernetes集群,对容器化的应用程序进行故障排除,并管理集群资源。您可以使用Dashboard来获得运行在集群上的应用程序的概览,以及创建或修改单独的Kubernetes资源(例如部署、作业、守护进程集等)。例如,您可以扩展部署、发起滚动更新、重新启动pod或使用部署向导部署新的应用程序。

2024-03-29 15:35:41 519

原创 kubernetes(K8S)学习(五):K8S进阶(Lifecycle......偏理论)

Horizontal Pod Autoscaling可以根据CPU使用率或应用自定义metrics自动扩展Pod数量(支持replication controller、deployment和replica set)01-控制管理器每隔30s查询metrics的资源使用情况02-通过kubectl创建一个horizontalPodAutoscaler对象,并存储到etcd中03-APIServer:负责接受创建hpa对象,然后存入etcd。

2024-03-29 15:28:06 1519

原创 Kubernetes(K8S)学习(四):K8S之Storage

在电脑中, volume(文件集)是一个可辨认的数据存储(storage)单元。Volume地址(1)容器崩溃时文件丢失。(2)Kubelet重新启动容器后为clean状态。在Pod中一起运行的容器之间共享文件时,会出现第二个问题。Kubernetes的Volume抽象地解决了这两个问题。官网有了PV,那Pod如何使用呢?为了方便使用,我们可以设计出一个PVC来绑定PV,然后把PVC交给Pod来使用即可,且听下面的分析。

2024-03-29 14:47:56 1161

原创 Kubernetes(K8S)学习(三):K8S实战案例

这里的user.yaml和order.yaml,不知道什么原因,在本地idea中启动测试可以正常注册到nacos(linux)中;这里的user.yaml和order.yaml,不知道什么原因,在本地idea中启动测试可以正常注册到nacos(linux)中;,这种配置下,不要求nacos和user、order的pod在同一k8s集群节点,依然可以注册到nacos中。,这种配置下,不要求nacos和user、order的pod在同一k8s集群节点,依然可以注册到nacos中。

2024-03-29 11:03:40 1301

原创 Kubernetes(K8S)学习(二):K8S常用组件

ReplicationController确保任何时期都在运行指定数量的Pod副本。换句话说,ReplicationController确保一个容器或一组相同的容器始终处于可用状态。Pod期待的副本数(replicas)用于筛选目标Pod的Label Selector当Pod的副本数量小于预期数量时,用于创建新Pod的Pod模板(template)也就是说通过RC实现了集群中Pod的高可用,减少了传统IT环境中手工运维的工作。(1)kind:表示要新建对象的类型。

2024-03-28 17:13:10 781

原创 kubernetes(K8S)学习(一):K8S集群搭建(1 master 2 worker)

:使用kubeadm搭建一个3台机器组成的k8s集群,1台master节点,2台worker节点。由于k8s安装较麻烦,为防止出现其他异常,特此统一下安装的软件版本。 1.2、k8s环境系统要求 1.3、准备三台Centos7虚拟机(1)保证3台虚拟机的Mac地址唯一 需同时启动3台虚拟机,故应保证3台虚拟机的Mac地址唯一。可参考下图: 注意:()(2)安装依赖包 2.2、安装Docker注意:()在每一台机器上都安装好Docker,版本为18.09.0(1)安装必要的依赖

2024-03-28 16:12:15 1087 1

原创 Docker学习

挂载主机目录 (Bind mounts)-最常用 (docker run -v 宿主机目录:容器目录)数据卷(Volumes)Docker 中存在多个容器时,容器与容器之间经常需要进行通讯,例如nacos访问mysql,redis集群中各个节点之间的通讯。

2024-03-28 10:39:37 645

原创 Redis入门到入坑(二)

Redis是一种内存数据库,在断电时数据可能会丢失。比如你redis整个挂了,然后redis不可用了,如果没有持久化的话,redis就会丢失所有的数据,如果通过持久化将数据搞一份儿到磁盘上去,然后再定期同步到一些云存储服务上去,那么就可以保证一些数据不丢失,保证数据的可靠性。Rdb方式是通过手动(save-阻塞式,bgsave-异步)或周期性方式保存redis中key/value的一种机制,Rdb方式一般为redis的默认数据持久化方式.系统启动时会自动开启这种方式的持久化机制。

2024-03-21 15:36:56 1909

原创 Redis入门到入坑(一)

背景 我们现在的项目架构中,基本上是Web服务器(Tomcat)和数据库独立部署,独占服务器资源,随着用户数的增长,并发读写数据库,会加大数据库访问压力,导致性能的下降,严重时直接导致系统宕机,例如: 此时,我们可以在Tomcat同服务器上中增加本地缓存,并在外部增加分布式缓存,缓存热门数据。也就是通过缓存能把绝大多数请求在读写数据库前拦截掉,大大降低数据库压力。例如: 基于这样的一种架构设计,于是类似redis的一些分布式数据库就诞生了。 Redis 概述 Re

2024-03-21 14:31:16 365

原创 熟知哈希密码的加盐强化

哈希加密是一种通过。

2024-03-20 17:18:29 691

原创 分布式锁简介

分布式锁。

2024-02-05 16:21:00 896

原创 maven的依赖下载不下来的几种解决方法

每次部署测试环境,从代码库拉取代码,都会出现缺少包的情况。然后找开发一通调试,到处拷包。

2023-08-29 10:17:14 4885

原创 Linux虚拟机(CentOS)开放端口号3306,实现Mysql远程连接

设置好了之后就有了新的mysql账户密码了,这里不使用root【可能原因是root账户限制其它ip访问】,使用新的账号密码,测试新的账号和密码能否登录mysql,测试好后下一步。linux装好mysql后,设定远程访问的账户和密码,test表示新设置的mysql账户,%表示开启远程权限,testPassword为自己的设的新账户密码。6、应该是yes,说明端口已经打开,去navicat测试连接,输入ip和新的Mysql账户密码,即可成功!3、如果是no,表示关闭,打开3306端口。

2023-02-20 15:34:27 3074 3

原创 Linux下安装MySQL8.0的详细步骤(解压tar.xz安装包方式安装)

i:端口号,查看是哪个PID(进程号)占用了该端口,然后使用kill PID(进程号)杀掉进程,重新执行service mysql start。如果发现启动失败,可以先查看data里面的mysql.log,如果有提示3306这样的字样,第一个想到的应该是。注:若连接不到可以查看mysql端口是否开放,若未开放则开放端口继续连接,最终测试成功!在这一步最开始就浪费了我好大的时间。1.填写IP、端口连接mysql服务。11. 编辑my.cnf文件。

2023-02-20 15:22:34 2046

转载 Spring Boot获取前端页面参数的几种方式总结

Spring Boot的一个好处就是通过注解可以轻松获取前端页面的参数,之后可以将参数经过一系列处理传送到后台数据库,前段时间正好用到,但是忘得差不多了,获得的方式有很多种,这种东西不写下来一段时间不用就忘得差不多了,感觉记性越来越差了呢,这里稍微总结一下,大致分为以下几种:      1.指定前端url请求参数名称与方法名一致,见下图,这种方式简单来说就是url请求格式中的参数需要与方法的参数名...

2022-04-28 14:28:47 1614

原创 idea在Build编译时找不到类问题

idea编译找不到类问题 解决idea无法自动编译的问题 先总结一下idea环境的情况,之前我的maven仓库是在c盘的user目录下的,感觉有点不爽换到了d盘,maven的settings文件也配置了很多个,差不多就这么多了。 然后正常码字,在build项目的时候,OK,完全没毛病。运行的时候就一堆找不到类了,如下: 然后我切换了各个settings文件,清除idea缓存,删除jar包重拉,...

2022-04-27 16:29:05 1929

原创 Redis入门到入坑(三)

Redis是基于c语言编写的开源非关系型内存数据库,可以用作数据库、缓存、消息中间件,这么优秀的东西肯定要一点一点的吃透它。这是关于Redis五种数据结构详解,包括这五种的数据结构的底层原理实现。理论肯定是要用于实践的,因此最重要的还是实战部分,也就是这里还会讲解五种数据结构的应用场景。String:字符串类型List:列表类型Set:无序集合类型ZSet:有序集合类型Hash:哈希表类型。

2022-04-18 17:29:35 1776

原创 Druid多数据源配置 (Datasurce动态切换)

Druid多数据源配置(Datasurce动态切换) Druid Druid多数据源配置(Datasurce动态切换)一. 直接上代码二. AbstractRoutingDataSource 补充三. 多数据源 + ShardingJDBC 数据源整合 一. 直接上代码 多数据源切换自定义注解 package com.gateway.admin.datasources...

2022-04-18 14:15:00 2597 1

原创 数据库连接池技术 之 Druid

简介 mysql是一个TCP/IP协议的网络程序,如果我们每次都从数据库获取新的连接,那么: 每获取一次新的连接的成本很高,需要“三次握手”,断开需要“四次挥手”等过程每一个客户端都有单独的线程来维护它的通信 这样每次高成本获取的连接只用一次,太奢侈了;另外,如果有很多的客户端同时去连接mysql服务器,会造成mysql的并发量就有风险,如果太多就会挂了。特别是遇到一些程序员,获取完连接,没...

2022-04-18 10:56:04 189

原创 彻底解决跨域问题(五种解决跨域的方式)

#跨域问题解决方案 最近自己写了一个js组件,该js组件是提供给第三方使用的,而js组件中涉及了ajax请求,于是乎就出现了跨域请求问题。下面记录一下自己的解决路程。 文章目录 2.使用spring拦截器解决跨域问题3.jsonnp实现(仅适用GET请求,不推荐)4.注解实现5.配置nginx实现 ##什么是跨域 参考:跨域请求详解 个人理解:我理解的跨域就是,两...

2022-04-13 17:44:47 256

原创 Linux 安装Nginx详细教程

系统:Centos7  64位 Nginx:  http://nginx.org/en/download.html 我下载1.20.2 下载模块依赖性Nginx需要依赖下面3个包 1.gzip 模块需要 zlib 库 ( 下载: http://www.zlib.net/ ) 2.r...

2022-02-28 11:32:08 888

原创 Linux系统安装JDK1.8 详细流程

Linux系统安装JDK1.8 详细流程 文章目录 Linux系统安装JDK1.8 详细流程前言安装详细流程卸载Open JDK下载并安装JDK配置环境变量测试环境 参考文章 前言 在 Linux系统上安装 JDK的时候,基本上所有的资料都要你检查并卸载掉系统上原生的 Open JDK,然后再进行 JDK的安装。那么 Open JDK和 JDK有什么区别呢? 其实,Open JDK是 JDK的原始开放代码,JDK7就是在 Open JDK7的基础上发布的。可以简单的认为...

2022-02-25 15:57:27 21628 4

原创 JVM调优总结+JVM垃圾回收(GC)原理

http://chenchendefeng.iteye.com/blog/455883 http://unixboy.iteye.com/blog/174173   一、相关概念 基本回收算法 1. 引用计数(Reference Counting) 比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用...

2022-01-14 17:44:52 273

原创 JVM垃圾回收与调优详解

1.JVM内存分配与回收 1.1 对象优先在Eden区分配 大多数情况下,对象在新生代中 Eden 区分配。当 Eden 区没有足够空间进行分配时,虚拟机将发起一次Minor GC。我们来进行实际测试一下。 在测试之前我们先来看看 Minor Gc和Full GC 有什么不同呢? 新生代GC(Minor GC):指发生新生代的的垃圾收集动作,Minor GC非常频繁,回收速度一般也比较快。...

2022-01-14 17:35:22 440

原创 调整JVM虚拟机内存大小

   随着应用程序处理需求的提升,我们对JAVA虚拟机的内存可能会有更高的要求,那么为了提升程序的处理能力,可以考虑在硬件支持的情况下适当扩大JAVA虚拟机的默认内存大小,下面介绍windows环境和liunx环境如何调整虚拟机内存的方法。 一、windows环境调整JVM        找到本地环境JDK javahome的配置地址 比如 C盘下jdk目录下的jvm.cfg文件 ...

2022-01-14 17:12:25 5220 1

原创 Tomcat 9 如何进行安装与简单的配置

一、下载 1、tomcat官网链接:https://tomcat.apache.org/ ,选择需要下载的版本。因为我自己的jdk版本是1.8,所以我选择的是tomcat9。 注:这里特别说明一下,Tomcat与jdk版本兼容性的问题,Tomcat版本一定要比jdk的版本高,如果你的Tomcat版本比jdk的版本低,后期可能会出现因为Tomcat与jdk版本兼容性问题出现各种报错或运行失败,所以这里推荐用Tomcat一定要比jdk版本高。 2、选择zip(pgp,sha2,sha512)进行下载...

2021-12-10 16:21:09 1185

原创 windows安装MySQL5.6

下载mysql地址:https://dev.mysql.com/downloads   点击上面的链接到如下图: 上图箭头所指的地方是转到历史版本的mysql,在这里我选择和标题相呼应的5.6.48版本。 注意这里我们要选择第二项(313M)的这个点击【Download】下载,下载完成以后如下图所示,然后双击安装。 如下图根据自己的情况选择: 点击next...

2021-12-10 15:21:39 2143

原创 项目接口文档

目录 一、准备vo层 二、用户登录/注册(login.html) 1 用户登录验证接口 2.用户注册 3.商家登录 4.商家注册 5.超级管理员登录 三、首页(index.html) 1.查询商品分类  2.首页商品展示 3.点击分类,所有商品展示 4.商品查询 5.我的订单/个人管理 6.登录/注册 四、后台管理页面(mine.html) 1.&nb...

2021-12-02 16:51:31 621

原创 分布式事务(一)Mysql本地事务和事务隔离级别

文章目录 数据库事务Mysql 事务操作开始事务提交事务回滚事务Mysql 事务操作测试1.准备测试表2. 测试 事务特性 ACIDA - 原子性 AtomicC - 一致性 ConsistencyI - 隔离性 IsolationD - 持久性 Durancy 数据库并发访问冲突问题脏读不可重复读幻读 Mysql 的四种事务隔离级别Mysql 设置隔离级别Mysql 隔离级别测试 数据库事务 数据库事务由一组sql语句组成。 所有sql语句执行成功则事务整体成功...

2021-11-05 10:41:15 127

原创 RocketMQ (五)Spring Cloud微服务系统基于Rocketmq可靠消息最终一致性实现分布式事务

Spring Cloud微服务系统基于Rocketmq可靠消息最终一致性实现分布式事务

2021-11-05 10:00:06 139

原创 Elasticsearch(五)Spring Data Elasticsearch - 增删改查API

创建一个Spring工程 es添加依赖spring data elasticsearch<?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://maven.apache.org/POM

2021-11-04 16:43:06 1676

原创 Elasticsearch(四)搜索

文章目录 导入测试数据下载测试数据创建索引和映射导入数据查看数据 搜索文档搜索所有数据关键词搜索搜索结果过滤器搜索结果高亮显示 导入测试数据 为了测试搜索功能,我们首先导入测试数据,3160条商品数据,数据样例如下: { "index": {"_index": "pditems", "_id": "536563"}}{ "id":"536563","brand":"联想","title":"联想(Lenovo)小新Air13 Pro 13.3英寸14.8mm超轻薄笔记本电...

2021-11-04 09:49:25 87

空空如也

空空如也

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

TA关注的人

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