自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Kubernetes核心实战一

1、资源创建方式● 命令行● YAML 2、Namespace名称空间用来隔离资源使用命令行创建、删除kubectl create ns hellokubectl delete ns hello使用配置文件创建、删除delete ns -f 配置文件apiVersion: v1kind: Namespacemetadata: name: hello3、Pod**运行中的一组容器,Pod是kubernetes中应用的最小单位.**是说docker容器外面还有以容器就是P

2021-10-07 14:10:24 229

原创 k8s常用命令

想起十几年前,我曾在Linux伊甸园的论坛,整理过一份rpm常用命令的列表,不知有多少朋友看过?查看所有namespace的pods运行情况kubectl get pods --all-namespaces查看具体pods,记得后边跟namespace名字哦kubectl get pods kubernetes-dashboard-76479d66bb-nj8wr --namespace=kube-system查看pods具体信息kubectl get pods -o wide kuber

2021-10-06 22:23:55 162

原创 Kubernetes基础进一步配置

部署dashboard部署可视化工具github地址kubectl apply -f dashboard.yaml我们显创建一个dashboard.yaml文件,将下面的配置文件加入 然后再执行上面的命令# Copyright 2017 The Kubernetes Authors.## Licensed under the Apache License, Version 2.0 (the "License");# you may not use this file except in c

2021-10-06 17:01:17 200

原创 k8s集群基础配置

安装docker配置yum源yum install -y yum-utilsyum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo安装docker由于要配合使用k8s 所以要指定版本yum install -y docker-ce-20.10.7 docker-ce-cli-20.10.7 containerd.io-1.4.6把docker加入开机自启动 现在并启动sy

2021-10-06 15:59:48 516

原创 按量购买阿里云服务器、k8s集群

基础配置创建私有网络注意这里的交换区必须和服务器的所选区相同连接测试ping a172.31.0.141172.31.0.143172.31.0.142ping一下私有网络ping 172.32.0.141

2021-10-05 14:34:06 437

原创 docker 安装nginx、redis

nginx创建容器这是创建容器的格式Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]对于一些选项我们可以使用命令来进行查看docker run --help创建nginx容器–restart是机器重启他也会直接运行我们指定的端口号是 外部访问的是9001端口映射到nginx本身的端口80.我们要记得再阿里云的安全组中添加相应的端口docker run --name=mynginx -d -p 9001:80 --restar

2021-10-05 00:02:06 261

原创 vpc了解

使用16位子网掩码,转化成二进制,前十六位不变,后面的计算子网掩码,子网掩码的计算的最多可划分65536个

2021-10-03 19:54:12 110

原创 云服务 docker安装mysql 设置canal数据同步

下载mysql根据需要指定版本docker image pull mysql:5.7.29查看镜像docker images 创建容器docker run -d -p 3306:3306 -v /docker/mysql/conf/my.cnf:/etc/my.cnf -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mymysql mysql:5.7.29 --character-set

2021-09-21 19:51:22 314

原创 java8新特性 stream Optional

lamdbapublic interface A { void add();// 这里的默认的修饰符public所以不用写 default int sum(int a,int b){//使用default修饰符可以写方法体 return a+b; } static void sta(){//使用静态修饰符也可以写方法体 System.out.println("这是一个接口中的静态方法"); }}使用方法 定义的没有修饰符的.

2021-06-08 18:21:20 261 1

原创 vue-admin-template模板、解决跨域问题

vue-admin-template我们可以在github上进行下载,下载之后我们只需要把它放到我们自己所需要的文件。在命令行进入当前文件夹 执行命令 去下载packjson中的依赖npm install下载完成之后 运行 就能成功访问npm run dev文件结构跨域问题产生 跨域的主要问题是 三者有一点不同就会产生跨域问题协议 域名 端口号我们通过刚才启动项目可以明显看到http://localhost:9528/现在我们要添加自己的后端 这样就会出现跨域问题ht

2021-06-03 14:32:05 2554 1

原创 Mybatisplus 代码生成器

<dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-spring-boot-starter</artifactId> <version>3.0.2</version> </dependency> <depend..

2021-05-24 12:09:43 71

原创 乐观锁、分页查询、逻辑删除、性能分析

再说一边所有的参考都来自官方文档乐观锁顾名思义他是很乐观的 官方给出的解释当要更新一条记录的时候,希望这条记录没有被别人更新乐观锁实现方式:取出记录时,获取当前version更新时,带上这个version执行更新时, set version = newVersion where version = oldVersion如果version不对,就更新失败我们需要先写一个配置类@Servicepublic class MybatisPlusConfig { @Bean//添加拦

2021-05-23 14:35:42 146 1

原创 mybatisplus快速入门、mapper层的crud、自动填充

MyBatis-PlusMyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。在这里所有的讲解都是依据官网,这个官网很适合英文不好的朋友,所以说还是建议大家多看看官网pom<dependency> <groupId>com.baomidou</groupId>

2021-05-22 20:14:36 475 1

原创 dubbo zookeeper

安装zookeeper安装环境centos7安装主要参考官方文档,安装官方文档的步骤就能成功。上传linux解压进入conf创建一个zoo.cfg 填入对应的内容进入bin我们可以看到相关的服务命令启动服务进入客户端下载dubbo-adminmaster版本。解压进入application.properties根据自己的需要进行修改,主要是我们要写好我们自己的注册中心地址。cmd一管理员的形式进入 执行 加载的时间有点长mvn clean package -D

2021-05-21 20:44:48 62

原创 异步任务、邮箱任务、定时任务

异步任务首先是我们要先在主程序上开启异步@EnableAsync同理我们要在某个地方添加@Ayncservice@Service@Asyncpublic class AsyncService { public void as() { try { Thread.sleep(300); } catch (InterruptedException e) { e.printStackTrace();

2021-05-20 09:35:20 214 1

原创 Swagger knife4j

@ApiParam -> @Parameter@ApiOperation -> @Operation@Api -> @Tag@ApiImplicitParams -> @Parameters@ApiImplicitParam -> @Parameter@ApiIgnore -> @Parameter(hidden = true) or @Operation(hidden = true) or @Hidden@ApiModel -> @Schema@Ap

2021-05-19 18:54:27 151

原创 shiro-spring

前言Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。核心组件三个核心组件:Subject, SecurityManager 和 Realms.Subject:即“当前操作用户”Subject代表了当前用户的安全操作,SecurityManager则管理所有用户的安全操作。SecurityManager:它是Shiro框架的核心,

2021-05-17 18:53:24 395

原创 SpringSecurity

前言Spring Security是一个提供身份验证,授权和保护以防止常见攻击的框架。凭借对命令式和响应式应用程序的一流支持,它是用于保护基于Spring的应用程序的事实上的标准。导入相关的jar<!-- security启动器 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId&

2021-05-15 19:33:12 130 1

原创 SpringData-mybatis

整合mybatis导入相应jarmybatis-spring-boot-starter这个从命名上就能看出他不是spring官方的,我们需要用这个来进行整合mybatis <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId>

2021-05-14 16:29:47 290

原创 springData(jdbc,Durid)

相关的jar <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency><dependency> <groupId>org.springframework

2021-05-14 16:21:42 86

原创 JSR303校验、application.yml文件位置

松散绑定所谓的松散绑定其实就是,数据库定义的字段名带有下划线所以,定义属性名字的时候换成大写,在我们使用配置文件的时候需要换成中线。 // 实体类 private String lastName; //配置文件 last-name: 阿威${random.uuid}JSR303首先是我们需要先到入jar,导入这个校验的启动器 <dependency> <groupId>org.springframework.boot</groupId

2021-05-11 16:36:43 227 1

原创 yml的使用

yml配置文件的格式主要是使用k:v的形式进行配置的。我们以前的配置主要是使用 properties的形式配置,现在spring推荐使用yml格式。yml特别注重使用空格我们这里主要讲的是使用配置文件给实体类进行赋值,我们还可以使用@Value进行赋值@Value("阿威") private String name;实例我们创建一个springboot项目,我们创建一个实体类package com.aw.model;import lombok.Data;import org.springfr

2021-05-10 20:18:08 969

原创 Docker 打包Springboot项目

首先是我们创建一个springboot项目,我们在里面写一个controllerpackage com.example.docker_dome.controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class HelloControll

2021-04-23 19:57:02 107

原创 dockerfile的使用、部署一个tomcat+java镜像、发布dockerhub

基础知识1.每个保留关键字(指令)都是必须大写字母2.从上往下的执行顺序3, #表示注释4.每一个指令都会创建一个新的镜像层,并提交基础命令FROM #基础镜像,一切从这里构建MAINTAINER #镜像作者的信息 姓名+邮箱RUN #镜像构建时候需要运行的命令ADD #步骤:tomcat镜像,这个tomcat压缩包! 添加内容WORKDIR #镜像的工作目录VOLUME #挂载目录EXPOSE #保留端口配置CMD #指定这个

2021-04-22 19:59:00 169

原创 DockerFile数据卷挂载、数据卷容器

这种方式我们实际开发当中很常用首先是我们创建一个脚本文件dockerfile 文件内容FROM centosVOLUME ["volume01","volume02"]CMD echo "-------end-------"CMD /bin/bash我们通过buidld 创建一个镜像容器docker build -f 脚本文件的位置 -t 镜像名字:tag 。docker build -f dockerfile -t aw:1.0 .我们可以在容器内查看到创建的两个挂载卷[ro

2021-04-20 20:54:03 497

原创 commit提交、数据卷挂载

我们这次是以tomcat为例,因为我们这里下载的tomcat下webapps下面没有文件,我们需要进行拷贝进里面去,然后在进行提交一个新的镜像。-m提交的文件信息 -a提交作者的信息 新的镜像名:版本 docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]][root@Aw ~]# docker commit -m="tomcat webapps" -a="阿威" 4ca4fad0ce37 tomcat02:1.0[root@Aw ~]# doc

2021-04-19 20:04:25 216

原创 portainer 界面简单的安装

我们可以先直接去官网上面去看看安装命令docker run -d -P--name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce我们安装成功之后,我们查看就可以看到端口号 这里的随机端口号是49156docker localhost:49156我们注册好帐号 进行登录就能查看...

2021-04-18 20:08:27 81

原创 部署nginx、安装tomcat、ElasticSearch安装

练习常用的命令Nginxdocker pull nginx 先进行下载后台运行nginx--name 命名-P 随机生成一个端口号[root@Aw home]# docker run -d --name nginx01 -P nginxd7b79269135f341043f019b1b3714f24cc250f9238dd695c5a8eee1154a4b072我们可以看到随机端口号是49153映射的端口号是80[root@Aw home]# docker ps CONTAINE

2021-04-18 19:50:56 386 2

原创 docker基本命令、常用命令

所有的命令查看官网帮助命令docker versiondocker info docker --help镜像命令docker images -a 查看所有镜像的相关信息docker images -q 查看所有进行的iDdocker images -aq 查看所有镜像的相关信息和idREPOSITORY 镜像的名字TAG 镜像的标记IMAGE ID    镜像的IDCREATED 镜像创建的时间SIZE  进项的大小查询sear

2021-04-18 14:20:11 141

原创 Docker安装镜像配置

一官方文档为主,这里是安装的centos7,查看centos的内核版本1.先卸载相关的依赖yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \

2021-04-17 12:13:07 103

原创 springboot RabbitMQ

我们先创建spring项目,添加依赖 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> <version>2.4.4</version> </dependenc

2021-04-08 09:10:37 57

原创 同步、异步确定模式

我们这里的确定是指生产者来接受消费者 接受消息后返回值。同步模式主要是指的生产者发送出一条或多个消息 消费者返回给一条或多条消息 后生产在进行发送消息生产者 开启了确定模式 waitForConfirms())这个方法来接受返回值package org.example.confirm.sync.send;import com.rabbitmq.client.Channel;import com.rabbitmq.client.Connection;import com.rabbitmq.c

2021-04-06 20:12:30 189

原创 主题队列

主题队列 topic我们这里的主题队列主要是指我们消费者在接受路由的时候,我们使用正则表达式来进行接受,*代表一个,#代表多个生产者 我们需要改成我们主题队列的类型 topicpackage org.example.topic.send; import com.rabbitmq.client.BuiltinExchangeType; import com.rabbitmq.client.Channel; import com.rabbitmq.cli

2021-04-05 20:29:09 75

原创 路由队列

路由连接我们是在交换机和队列之间绑定一个路由,消费者就可以根据路由值来进行获取到不同的值消费者1 我们需要声明不同的交换机类型direct,在就交换机绑定队列的时候添加上需要绑定的路由package org.example.direct.recv;import com.rabbitmq.client.*;public class Recv01 { //定义队列 private final static String EXCHANGE_NAME = "exchange_dir

2021-04-05 19:52:36 233

原创 发布-订阅队列

我们这个队列主要解决的问题是,生产者生产的东西要消费者同时都得到,所以我们在这之间添加了几个交换机。先开启消费者声明交换机,通过交换机获取队列,在进行绑定package org.example.exchange.ex.recv;import com.rabbitmq.client.Channel;import com.rabbitmq.client.Connection;import com.rabbitmq.client.ConnectionFactory;import com.rab

2021-04-05 19:34:34 108 1

原创 WorkQueues

队列轮询解决生产者生产过多的问题,添加多个消费者生产者 我们的生产模拟的是生产20package org.example.work.send;import com.rabbitmq.client.Channel;import com.rabbitmq.client.Connection;import com.rabbitmq.client.ConnectionFactory;import java.nio.charset.StandardCharsets;//简单队列public c

2021-04-05 16:29:26 70

原创 简单队列

简单队列添加 <dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artifactId> <version>5.10.0</version> </dependency>第一个简单队列生产者package org.example.send;import com.

2021-04-05 16:29:06 83 2

原创 RabbitMQ安装

erlangRabbitMQ创建文件夹mkdir -p /opt/rabbitmq安装erlangyum -y install esl-erlang_23.2.3-1_centos_7_amd64.rpm 查看安装[root@Aw rabbitmq]# erlErlang/OTP 23 [erts-11.1.7] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [hipe]Eshell V11.1.7 (abort

2021-04-05 15:11:43 91

原创 redis 缓存穿透、缓存击穿、缓存雪崩

简述: REDIS缓存穿透,缓存击穿,缓存雪崩原因+解决方案一、前言在我们日常的开发中,无不都是使用数据库来进行数据的存储, 由于一般的系统任务中通常不会存在高并发的情况,所以这样看起来并没有什么问题,可是一旦涉及大数据量的需求,比如一些商品抢购的情景, 或者是主页访问量瞬间较大的时候,单一使用数据库来保存数据的系统会因为面向磁盘,磁盘读/写速度比较慢的问题而存在严重的性能弊端, 一瞬间成千上万的请求到来,需要系统在极短的时间内完成成千上万次的读/写操作,这个时候往往不是数据库能够承受的, 极其容

2021-03-25 20:52:26 73

原创 SpringRedisData操作

创建项目application.yml配置文件 我们连接池使用的是lettuce。Jedis是直连模式,在多个线程间共享一个Jedis实例时是线程不安全的,可以通过创建多个Jedis实例来解决,但当连接数量增多时,物理连接成本就较高同时会影响性能,因此较好的解决方法是使用JedisPool。Lettuce的连接是基于Netty的,连接实例可以在多个线程间共享,Netty可以使多线程的应用使用同一个连接实例,而不用担心并发线程的数量。通过异步的方式可以让我们更好地利用系统资源。spring:

2021-03-25 16:54:43 102

空空如也

空空如也

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

TA关注的人

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