- 博客(126)
- 资源 (2)
- 收藏
- 关注
原创 mybatis xml配置
MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。 配置文档的顶层结构如下: configuration(配置) properties(属性) settings(设置) typeAliases(类型别名) typeHandlers(类型处理器) objectFactory(对象工厂) plugins(插件) environments(环境配置) environment(环境变量) transactionManager(事务管理器) dataSource(数据源) datab
2021-06-10 17:09:55
329
原创 第一个mybatis项目
Mybatis是一款优秀的持久层框架。 他支持定制化SQL、存储过程以及高级映射。 Mybatis避免了几乎所有的JDBC代码和手动配置参数以及获取结果集。 Mybatis可以使用简单的xml或注解来配置和映射原生类型、接口和java的POJO为数据库中的记录。 数据库准备 create database `mybatis`; use `mybatis`; create TABLE `user`( `id` INT(20) NOT NULL PRIMARY KEY, `name` VARCHAR(30
2021-06-10 10:55:52
235
原创 compose yaml规则
官网文档:https://docs.docker.com/compose/compose-file/compose-file-v3/ # docker-compose.yaml的核心主要是三层 version:'' # 版本 services: # 服务 服务1:web # 服务配置 images build network ... 服务2: redis ... 服务3: ... # 其他配置 网络、卷、全局规则 ...
2021-06-07 16:58:55
332
原创 docker compose
1 compose是什么 前面我们使用 Docker 的时候,定义 Dockerfile 文件,然后使用 docker build、docker run 等命令操作容器。然而微服务架构的应用系统一般包含若干个微服务,每个微服务一般都会部署多个实例,如果每个微服务都要手动启停,那么效率之低,维护量之大可想而知。 Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并
2021-06-07 16:00:18
257
原创 docker搭建redis集群
搭建三主三从redis集群。分片+高可用+负载均衡 1 创建redis网络 [root@iZuf65o9ovhniso4w0oji5Z ~]# docker network create redis --subnet 172.38.0.0/16 [root@iZuf65o9ovhniso4w0oji5Z ~]# docker network ls NETWORK ID NAME DRIVER SCOPE ebab00407ee4 bridge bridge
2021-06-04 17:06:44
177
原创 docker自定义网络
# 创建自定义网络 docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet [root@iZuf65o9ovhniso4w0oji5Z ~]# docker network ls NETWORK ID NAME DRIVER SCOPE ebab00407ee4 bridge bridge local f5ddb2cf2442
2021-06-04 10:27:35
179
原创 docker网络
docker安装之后自带三个网络,可以通过ip addr来查看。 docker是如何处理容器网络的访问的? #1 启动一个tomcat docker run -d -P --name tomcat01 tomcat #2 查看容器的内部网络地址 在命令后追加 ip addr 发现容器启动的时候会得到一个eth0@if114 ip地址,docker分配的 [root@iZuf65o9ovhniso4w0oji5Z ~]# docker exec -it newtomcat01 ip addr 1: lo:
2021-05-27 08:52:47
300
1
原创 dockerFile指令
FROM # 基础镜像库,一切从这里开始构建 MAINTAINER # 镜像作者 姓名+邮箱 RUN #docker镜像构建的时候需要运行的命令 ADD # 添加一些压缩包 WORKDIR # 镜像的工作目录 VOLUME # 设置卷,挂载主机目录 EXPOSE #指定暴露端口 CMD # 指定容器启动的时候运行的命令 .
2021-05-21 17:01:49
214
原创 jenkins用户凭证插件的安装
凭证是用来存储需要密文保护的数据库密码、gitlab密码信息、docker私有仓库密码等,以便jenkins可以和这些第三方的应用进行交互。 1 Credentials Binding插件的安装 该插件默认安装,可以通过上述方式查询。 2 Credentials配置 集成git # 安装 yum install git -y # 查看版本 git --version 演示 以gitee的项目来做简单的演示,注册一个gitee账号,新建一个私有项目。 回到jenkins中,新建任务。 在源码管理
2021-04-22 16:30:21
638
原创 jenkins忘记密码和常用插件的下载
忘记密码 进入到jenkins的工作目录,找到config.xml,即/home/jenkins/.jenkins/config.xml 修改配置文件useSecurity的节点值为false 重启jenkins项目后,再次访问jenkins站点 在浏览器网址后加/restart会触发重启 进入到系统管理 常用插件的安装 修改服务器配置,进入jenkins安装目录,找到/updates/default.json文件,即/home/jenkins/.jenkins/update/def
2021-04-22 10:20:44
188
原创 jenkins下载安装
在服务器上新建一个组,创建jenkins用户,并且指定ci组 gorupadd ci useradd jenkins -g ci #将jenkins用户添加到ci组 创建存放jenkins工具的目录,并制定权限,因为jenkins后期构建比较占用磁盘,建议先挂载磁盘 mkdir -p /data/software chown -R jenkins:ci /data/software # 补充:chown [选项]... [所有者][:[组]] 文件... chown将指定文件的拥有者改为指定的用户
2021-04-21 09:19:46
224
原创 docker数据卷之dockerfile
DockerFile用来构建docker镜像的构建文件,通过这个脚本可以生成镜像,镜像是一层一层的,每个命令都是一层。 # 创建一个dockerfile文件,名字随机,建议使用默认的dockerfile # vim编写命令,指令大写 FROM centos VOLUME ["volume1","volume2"] CMD echo "---end---" CMD /bin/bash # 构建 docker bulid -f /home/dockerfile/dockerfile1 -t bu/centos
2021-04-19 16:04:46
187
原创 docker具名和匿名挂载
# 匿名挂载 -v 容器内路径 docker run -d -P --name nginx01 -v /etc/nginx nginx # 查看所有的volume的情况 docker volume ls # 这种属于匿名挂载,-v后只加了容器内路径,没有写容器外路径 # 具名挂载 docker run -d -P --name nginx03 -v juming-nginx:/etc/nginx nginx 查看卷信息 没有指定目录的情况下都是在/var/lib/docker/volumes/j
2021-04-16 19:13:36
246
原创 docker安装mysql
# 搜索 docker search mysql # 拉取安装 docker pull mysql:5.7 # 启动运行 # -d 后台运行 # -p 端口映射 # -v 数据挂载 # -e 环境配置 [root@iZuf65o9ovhniso4w0oji5Z ~]# docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWOR
2021-04-16 17:03:04
150
原创 docker容器数据卷
什么是容器数据卷 数据保存?如果数据在容器中,容器删除,数据消失, 需求:数据可以持久化! 希望容器之间可以有一个数据共享技术!Docker容器中产生的数据,同步到本地中,这就是卷技术!即目录的挂载,挂载到linux上。 总结:容器的持久化和同步操作!容器间也是可以数据共享的。 使用数据卷 方式一:直接使用命令来挂载 -v ...
2021-04-15 17:01:42
145
原创 commit镜像
docker commit 提交容器为新的副本 #命令 docker commit -m="提交的描述信息" -a="作者" 容器id 目标镜像名:[TAG] 实战测试 # tomcat 默认是没有webapps应用的,自己拷贝提交为新的副本 docker run -it -p 8080:8080 tomcat [root@iZuf65o9ovhniso4w0oji5Z ~]# docker ps CONTAINER ID IMAGE COMMAND
2021-04-15 11:07:54
168
原创 docker镜像
镜像是什么 镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,包含软件运行所需的所以内容,包括代码、运行时、库、环境变量和配置文件。 Docker镜像加载原理 UnionFs(联合文件系统) UnionFs 分层、轻量级、高性能的文件系统,对文件系统的修改作为一次提交一层层的叠加,将不同目录挂载在同一个虚拟文件系统下。 镜像加载主要依赖bootfs+rootfs,bootfs主要包含bootloader和kernel,bootloader主要是引导加载kernel,ro
2021-04-14 16:40:52
166
原创 docker可视化面板
portainer 什么是portainer docker run -d -p 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer 访问测试: 选择local进入之后看到如下面板
2021-04-14 15:33:31
431
原创 docker安装es+kibana
运行安装 docker run -d --name elasticsearch -p 8200:8200 -p 8300:8300 -e "discovery.type=single-node" elasticsearch:7.12.0 # elasticsearch十分耗内存,占用的端口也比较多 docker stats查看cpu的状态 # 停掉增加内存容量,修改配置文件,-e 环境配置修改 -Xms64m -Xmx512m docker run -d --name elasticsearch .
2021-04-14 14:02:59
200
原创 docker安装tomcat
官方的安装 docker run -it --rm tomcat:9.0 # 后台启动,容器停止之后,docker ps还是可以查到,docker run -it --rm一般用来测试,用完即删除,容器停止之后docker ps查不到 下载并启动 docker pull tomcat 启动运行 docker run -d -p 3355:8080 --name tomcat01 tomcat 进入容器 # 外网访问404错误 # 阿里云镜像默认下载最小的可运行环境,少webapps d.
2021-04-14 09:56:57
145
原创 docker安装nginx
搜索镜像 docker search nginx 下载镜像 docker pull nginx 运行测试 [root@iZuf65o9ovhniso4w0oji5Z ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest 519e12e2a84a 2 days.
2021-04-13 21:21:27
113
原创 springboot项目PageHelper分页插件的使用
最近的项目中,列表的展示用到了PageHelper分页插件,做一下记录。 依赖导入 <!-- 分页插件 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <vers
2021-04-02 16:45:10
389
原创 (二)docker常用命令
1、显示docker版本 docker version 2、显示docker系统信息 docker info 3、查看帮助 docker --help 4、文档 [https://docs.docker.com/reference/](https://docs.docker.com/reference/) 镜像命令 docker images 查看所有本地的主机上的镜像 [root@iZuf65o9ovhniso4w0oji5Z ~]# docker images REPOSITORY TAG
2021-04-02 14:57:48
224
原创 (一)CentOS Docker 安装
第一步:卸载旧版本 yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \
2021-03-30 14:53:26
156
原创 springboot实现数据库数据导出到Excel中并下载到浏览器本地
项目需求:写一个接口,实现点击该URL,可下载excel。excel内容为数据库表中内容 项目架构:SpringBoot+Mybatis 服务端实现: 第一步:导入POI依赖包 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.9<
2021-03-19 16:43:40
4065
4
原创 Springboot集成JavaMailSender发送邮件
项目需求:邮件异步发送结果给用户 项目框架:SpringBoot 实现: 第一步: 在pom文件中导入相关的依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> 第二步: 编写发送邮件
2021-03-12 20:37:35
1066
原创 springboot MVC拓展配置
最近几天在学习springboot的自动配置,Spring Boot为Spring MVC提供了自动配置,可与大多数应用程序一起很好地工作。 自动配置在Spring的默认值之上添加了以下功能: 包含ContentNegotiatingViewResolver和BeanNameViewResolver。 支持服务静态资源,包括对WebJars的支持 自动注册Converter,GenericConverter和Formatter类。 支持HttpMessageConverters 自动注册MessageCo
2021-03-02 17:01:39
249
原创 springboot处理静态资源
Spring Boot 默认为我们提供了静态资源处理,使用 WebMvcAutoConfiguration 中的配置各种属性。我们根据源码来学习。 protected void addResourceHandlers(ResourceHandlerRegistry registry) { super.addResourceHandlers(registry); if (!this.resourceProperties.isAddMappings()) {
2021-03-02 09:55:54
233
转载 springboot自动配置原理
我们知道springboot的出现简化了spring的配置,内嵌了tomcat,各种零配置开箱即用,这都要归功于springboot的自动配置,今天我们就主要来聊一聊它的自动配置原理。 我们都知道xxxApplication.java是springboot的入口,这个启动类特别简洁,只有一个注解和主函数入口,其中@SpringBootApplication注解包括了 @SpringBootConfiguration @EnableAutoConfiguration @ComponentScan,注解@Ena
2021-02-23 20:19:12
250
原创 Springcloud实战(五)微服务网关gateway整合nacos实战
不使用nacos存在的问题: 1 微服务的地址在配置文件是写死的 2 没有做到负载均衡 实战 第一步还是现在项目中添加依赖 <!--添加nacos客户端--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</art
2020-12-30 15:08:23
1657
原创 Springcloud实战(五)微服务网关
什么是网关 网关是系统对外的入口,提供路由请求、鉴权、监控、缓存、限流等功能 统⼀接⼊ 智能路由 AB测试、灰度测试 负载均衡、容灾处理 ⽇志埋点(类似Nignx⽇志) 流量监控 限流处理 服务降级 安全防护 鉴权处理 监控 机器⽹络隔离 优点如下: 安全 ,只有网关系统对外进行暴露,微服务可以隐藏在内网,通过防火墙保护。 易于监控。可以在网关收集监控数据并将其推送到外部系统进行分析。 易于认证。可以在网关上进行认证,然后再将请求转发到后端的微服务,而无须在每个微服务中进行认
2020-12-30 14:08:12
466
1
原创 SpringCloud实战(四)Sentinel自定义降级异常实战
Sentinel自定义降级异常实战高并发下存在的问题sentinel简介流控降级实战 高并发下存在的问题 微服务拆分多个系统,服务之间互相依赖,可能会由于系统负载过高,突发流量或者网络等各种异常情况,导致服务不可用。 核心思想——面向失败编程 sentinel简介 什么是Sentinel 阿⾥巴巴开源的分布式系统流控⼯具 以流量为切⼊点,从流量控制、熔断降级、系统负载保 护等多个维度保护服务的稳定性 丰富的应⽤场景:消息削峰填⾕、集群流量控制、实时 熔断下游不可⽤应⽤等 完备的实时监控:Sentinel 同
2020-12-29 15:57:38
1857
1
原创 Base64转BufferedImage
项目中需要将传入的base64转为BufferedImage进行处理。 前期实现方案: 1 将base64的图片保存到本地磁盘,通过path进行转化,代码如下 String path=System.getProperty("java.io.tmpdir") + File.separator + "url.png"; File file = new File(path); if(file.exists()){ file.delete(); }
2020-12-25 11:12:40
6194
转载 注册中心选型
CAP理论 指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可同时获得。 一致性:所有的节点都可以访问到最新的数据 可用性:每个请求都是可以得到响应的,不管请求成功还是失败 分区容错性:除了全部整体网络故障,其他故障都不能导致整个系统不可用 ...
2020-12-24 19:31:53
164
原创 java调用接口读取图片文件
部署项目到服务器,图片获取可以通过接口的形式,本节主要是记录java代码实现调用远程接口实现图片读取。 第一步:先用Postman调用接口查看返回以及是否可以连接。我这里的接口返回的是图片的base64 第二步:编写java代码 ...
2020-12-23 11:21:20
6371
原创 SpringCloud实战(三)集成Open-Feign实现远程⽅法调⽤
新⼀代负载均衡组件Open-FeignRibbon存在的问题Feign介绍微服务集成实现远程调用 Ribbon存在的问题 feign 和 ribbon 是 Spring Cloud 的 Netflix 中提供的两个实现软负载均衡的组件,Ribbon 和 Feign 都是用于调用其他服务的,方式不同。Feign 则是在 Ribbon 的基础上进行了一次改进,采用接口的方式,将需要调用的其他服务的方法定义成抽象方法即可,不需要自己构建 http 请求。我们先来看一下ribbon方式的写法: 问题:不规范,⻛格
2020-12-22 10:19:13
146
原创 Ribbon负载均衡源码解读
源码位置 在IDEA下找到注解LoadBalanced,快捷键Ctrl+B进入 然后CTRL+Shift+N搜索LoadBalancerClient.然后发现这是一个接口,接着找到他的实现类RibbonLoadBalancerClient,如下图所示。 然后就慢慢看吧!
2020-12-21 15:47:26
196
原创 SpringCloud实战(二)Alibaba集成Ribbon实现负载均衡
负载均衡定义 分布式系统中⼀个⾮常重要的概念,当访问的服务具有多个实 例时,需要根据某种“均衡”的策略决定请求发往哪个节点, 这就是所谓的负载均衡, 原理是将数据流量分摊到多个服务器执⾏,减轻每台服务器的 压⼒,从⽽提⾼了数据的吞吐量 常见的负载均衡策略 节点轮询 简介:每个请求按顺序分配到不同的后端服务器 weight 权重配置 简介:weight和访问⽐率成正⽐,数字越⼤,分配 得到的流量越⾼ 固定分发 简介:根据请求按访问ip的hash结果分配,这样每 个⽤户就可以固定访问⼀个后端服务器 随机选
2020-12-21 15:16:43
286
原创 IDEA运行多个实例
在IDEA下运行多个实例的步骤: 在运行编辑窗口勾选下面的框 2 修改配置文件的端口 3 启动在nacos中看到实例数变成两个了,成功!
2020-12-18 16:45:49
661
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅