自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 轻松拿捏Jenkins(Linux)+Java11+Docker自动化打包部署

Jenkins最新版本配合JDK11完成JDK8项目自动化部署在安装过程中主要遇到以下几个问题:1.起因由于原来测试环境的Jekins执行Shell命令时显示权限不足,无法执行,后发现无Jekins用户,但是在创建Jenkins用户,或者将默认用户设置为root后,仍然权限不足,选择重装2. 最开始搭建使用低版本的Jenkins,在初始化时下载插件卡住,一系列镜像全部配置,但是仍然无法下载,显示连接错误3. 在遇到第一个问题后,果断跳过初始化插件下载,从本地插件包中导入插件,但是会报插件版本不兼容

2023-07-04 22:12:52 2441

原创 【SpringCloud】12-分布式事务Seata

Seta是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务;https。

2022-07-17 23:45:53 528 1

原创 【SpringCloud】11-Sentinel实现熔断与限流

Sentinel分布式系统的流量防卫兵随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性;单独一个组件,可以独立出来直接界面化的细粒度统一配置资源名唯一名称,默认请求路径针对来源Sentinel可以针对调用者进行限流,填写微服务名,默认default(不区分来源)阈值类型/单机阈值QPS(每秒请求的数量)当调用该api的QPS达到阈值的时候,进行限流线程数。...

2022-07-16 23:53:22 789

原创 【SpringCloud】10-Nacos服务注册与配置中心

一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台Nacos就是注册中心+配置中心的组合Nacos的CAP模型和Eureka一样为AP!默认Nacos使用嵌入式数据库实现数据的存储,所以,如果启动多个默认配置下的Nacos节点,数据存储时存在一致性问题的,为了解决这个问题,Nacos采用了集中式存储的方式来支持集群化部署,目前只支持MySQL的存储单机模式,用于测试和单机试用集群模式,用于生产环境,确保高可用多集群模式,用于多数据中心场景安装数据库。版本要求5.6.5+...

2022-07-15 00:00:04 762

原创 【SpringCloud】09-CloudAlibaba简介

由于Spring Cloud Netflix项目进入维护模式Netflix公司出的Eureka,Ribbon,feign,config,zuul进入维护模式Spring Cloud for Alibaba,它是由阿里巴巴的开源组件和云产品组成的,这个项目的目的是为了让大家所熟知的Spring框架,其优秀的设计模式和抽象理念,以给阿里巴巴产品的Java开发者带来使用Spring Boot和Spring Cloud的更多的便利功能:服务限流降级服务注册与发现消息驱动能力阿里云对象存储分布式任务调度Sentine

2022-07-13 17:00:15 219

原创 【SpringCloud】08-消息驱动Stream和请求链路跟踪Sleuth

屏蔽底层消息中间件的差异,降低切换成本,统一消息的编程模型官方解释为:Spring Cloud Stream是一个构建消息驱动微服务的框架应用程序通过inputs或者outputs来与Spring Cloud Stream中的binder对象交互,通过我们配置来绑定,而Spring Cloud Streamde binder对象负责与消息中间件交互。所以,我们只需要搞清楚如何与Spring Cloud Stream交互就可以方便使用消息驱动的方式通过使用Spring Integration来连接消息代理中间

2022-07-12 23:59:39 427

原创 【SpringCloud】07-服务配置Config和服务总线Bus

微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度较小,因此系统中会出现大量的服务。由于每个服务都需要必要的配置信息才能运行,所以一套集中式的、动态的配置管理设施是必不可少的SpringCloudConfig为微服务架构中的微服务提供集中化的外部配置支持,配置服务器为各个微服务应用的所有环境提供了一个中心化的外部配置服务端也称为分布式配置中心,它是一个独立的微服务应用,用来连接配置服务器并为客户端提供配置信息,加密/解密等访问接口客户端则是通过指定的配置中心来管理应用资源,以及业务相关的

2022-07-10 23:33:38 559

原创 【SpringCloud】06-服务路由-Gateway

Gateway是在Spring生态系统之上构建的API网关服务,基于Spring5,SpringBoot2和Project Reactor等技术,Gatetway旨在提供一种简单而有效地方式来对API进行路由,以及提供一些强大的过滤器功能,例如:熔断,限流,重试等;SpringCloud Gatetway是基于WebFlux框架实现的,而WebFlux框架底层则使用了高性能的Reactor模式通信框架Netty;Gatetwayway是基于异步非阻塞模型上进行开发的,性能上面不用担心动态路由:能够匹配任何

2022-07-09 19:46:22 804

原创 【SpringCloud】05-服务降级-Hystrix

复杂分布式体系结构中的应用程序有数十个依赖关系,每个依赖关系在某些时候将不可避免的失败;多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其它微服务,这就是所谓的“扇出”,如果扇出的的链路上某个微服务的调用响应时间过长或者不可用,对微服务A的调用就会占用越来越多的系统资源,从而引起系统崩溃,所谓的“雪崩效应”;对于高流量的应用来说,单一的后端依赖可能会导致所有服务器的所有资源都在几秒中内饱和,导致服务之间延迟增加,系统资源紧张,导致整个系统发生更多的级联故障,这些都需要

2022-07-08 23:51:20 442

原创 【SpringCloud】04-Ribbon负载均衡与OpenFeign服务调用

Spring Cloud Ribbon实现的是一套客户端 负载均衡的工具简单的来说,Ribbon是Netfix发布的开源项目,主要功能是提供给客户端的软件负载均衡算法和服务调用。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。简单的来说,就是在配置文件中列出Load Balancer(简称LB)后面的所有机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随机连接等)去连接这些机器,我们很容易使用Ribbon实现自定义的负载均衡算法目前在维护阶段简单的来说就是将用户的请求平摊的分配到多

2022-07-07 17:33:59 609

原创 【SpringCloud】03-服务注册与发现-Consul

Consul(Go语言编写)是一套开源的分布式服务发现和配置管理系统提供了微服务系统中的服务治理、配置中心、控制总线等功能,这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建全方位的服务网格,总之consul提供了一种完整的服务网格解决方案主要功能:服务注册与发现、健康检查、键值对存储、安全加固,多数据中心;官方下载后运行exe文件cmd:consul agent-dev即可查看版本信息,查看是否安装成功访问localhost:8500即可进入consul前端图像化界面新建Module支付服务

2022-07-07 01:30:32 242

原创 【SpringCloud】02-服务注册与发现-Zookeeper

注册中心ZookeeperZookeeper是一个分布式协调工具,可以实现注册中心功能和创建80001一样,创建8004的module,在module中仿照8001一样进行主启动类:由于是Zookeeper注册,所以没有服务Server端,因此只需要加入@EnableDiscoveryClient注解;yml文件:与之前不同的是,此次是向Zookeeper注册,所以yml文件有稍微不同:编写一个Controller,当进行服务访问的时候,可以返回响应的端口以及UUID;启动8004,将其注册

2022-07-05 23:43:05 380

原创 【SpringCloud】01-服务注册与发现-Eureka

Maven通常使用dependencyManagement来执行版本号,只是声明依赖,并不实现引入,因此子项目要显示的声明需要引用的依赖好处是:多个子项目都引用同样的依赖,则可以避免在每个使用的子项目里都声明一个版本号,这样在后续需要升级或者切换到另一个版本的时候,只需要在父容器里更新,而不需要在一个一个子项目的修改;另外如果某个子项目需要另外一个版本的时候,只需要声明version即可;使用maven项目中闪电的图标进行操作,即可跳过test测试![image.png](https://img-blog.

2022-07-04 23:04:49 265

原创 【大厂必会的数据结构和算法】04-栈和波兰表达式

栈的英文为stack栈是一个先入后出的有序列表栈是一种限制 线性表中元素插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一段,为变化的一段,称为栈顶(Top),另一端为固定的一端,称为栈底(Bottom)。根据栈的定义可知,最先放入栈的元素在栈底,最后放入的元素在栈顶,而删除元素正好相反,最后放入的元素最先删除,最先放入的元素最后删除;入栈(push)出栈(pop)实现栈的思路分析:判断栈空判断栈满入栈出栈遍历栈测试前缀表达式又称波兰式,前缀表达式的运算

2022-06-16 22:44:09 1489 1

原创 【大厂必会的数据结构和算法】03- 双向链表及约瑟夫问题

分析双向链表的遍历,添加,修改,删除的操作思路:找到链表的最后一个元素(该节点的下一个元素指向为空),然后令该节点的下一个节点为新增节点,新增节点的前一个节点为该节点结果展示根据传入链表信息的no值来进行查询,若查询到与传入值相同的节点,则将该节点的相关属性设置为传入值的相关属性;结果展示根据传入的no值进行查询节点,若找到待删除的节点,若该节点为尾节点,则将该节点的上一个的下一个节点指向该节点的下一个节点(空),若该节点不为空,则还要将该节点的下一个节点的上一个节点指向...

2022-06-12 00:45:47 858 2

原创 【大厂必会的数据结构和算法】02-单链表

链表(Linked LIst)是一个有序的列表,在内存中存储如下:单链表创建示意图:添加(创建):遍历:通过一个辅助遍历,帮助遍历整个链表运行结果:代码实现:给原来的单链表新建一个addByOrder的方法:运行结果:代码实现方式:执行结果:代码实现:删除第一个节点,运行结果如下:思路:从该单链表头结点的下一个节点开始遍历,每遍历一次记录一次,直到下一个指向为空;查找单链表中倒数第K个结点思路:1.编写一个方法,接受head节点,同时接受一个index(表示倒数第index节

2022-06-05 22:53:48 267 1

原创 前后端分离开发

文章目录开篇一、前后端分离开发(1)介绍(2)开发流程(3)前端开发框架二、Yapi(1)介绍![在这里插入图片描述](https://img-blog.csdnimg.cn/fee42e79344d4eb9ab2e1878d8da1755.png)(2)使用三、Swagger四、项目部署总结:开篇目前项目问题:开发人员同时负责前端和后端代码开发,分工不明确开发效.

2022-06-01 23:42:54 486

原创 【大厂必会的数据结构和算法】01-稀疏数组和队列

数据结构包括:线性结构和非线性结构线性结构线性结构作为最常用的数据结构,其特点是数据元素之间存在一对有的线性关系线性结构有两种不同的存储结构,及顺序存储结构(数组)和链式存储结构(链表)。顺序存储结构的线性表称为顺序表,顺序表中的元素是连续的;如数组;链式存储的线性表称为链表,链表中的存储元素不一定是连续的,元素节点中存放元素以及相邻元素的地址信息;线性结构常见的有:数组,队列,表,链表.

2022-06-01 20:11:36 475 4

原创 后端程序员开发必会的Nginx学习与使用

文章目录一、Nginx概述二、Nginx命令(1)查看版本(2)检查配置文件(3)启动和停止三、Nginx配置文件结构(1)全局块(2)Events块(3)Http块(主要配置)四、Nginx具体应用(1)部署静态资源(2)反向代理(较多)(2)反向代理(3)反向代理的配置(3)负载均衡总结:一、Nginx概述Nginx是一款轻量级的Web服务器/反向代理服务器(IM.

2022-05-30 19:12:48 1873 1

原创 读写分离-Mysql的主从复制

文章目录开篇一、Mysql主从复制(1)介绍(2)配置二、读写分离案例(1)背景(2)Sharding-JDBC介绍三、项目实现读写分离总结:开篇读和写所有压力逗游一台数据库来承担,压力大,数据库服务器磁盘损坏则数据丢失,单点故障,可以实现多台数据库的读写分离一、Mysql主从复制(1)介绍Mysql的主从复制是一个异步复制过程的过程,底层是基于Mysql数据库自.

2022-05-30 17:24:09 309

原创 【项目优化】14-Git版本管理和Redis缓存处理

使用Redis实战对项目缓存进行处理优化,并使用Git进行缓存处理;

2022-05-27 18:16:19 281 1

原创 【Redis】零基础十分钟学会Redis

文章目录开篇一、Redis入门Redis的安装Redis服务的启动与关闭设置密码远程连接二、数据类型三、常用命令(1)字符串String操作命令(2)哈希hash操作命令(3)列表list操作命令(4)集合set操作命令(5)有序集合sorted set操作命令(6)通用命令四、在java中操作Redis(1)介绍(2)Jedis(3)Spring Data Redis总结:.

2022-05-26 23:42:21 709

原创 【Linux】后端开发Linux学习和环境部署真的只看这一篇就够了

文章目录开篇一、LInux安装(1)VMWare虚拟机安装Linux系统(2)使用SSH连接工具连接Linux系统(3)Linux系统文件目录二、LInux常用命令三、Linux软件安装四、项目部署总结:开篇LInux是一套免费试用和自由传播的系统不同领域的主流操作系统:桌面操作系统(windows,macos,linux等)服务器操作系统(unix,linux,.

2022-05-23 23:29:30 933 1

原创 【开发技能】最全面的Git学习及环境部署

文章目录开篇一、GIt概述(1)Git简介:(2)Git的下载与安装二、Git代码托管服务(1)常见的GIt代码托管服务(2)使用码云代码托管服务三、Git常用命令(1)Git全局设置(2)获取GIt仓库(3)版本库、工作区、暂存区(4)GIt中的文件状态(5)本地仓库操作(6)远程仓库操作(重点)四、在IDEA中使用Git总结:开篇一、GIt概述(1)Git简介:G.

2022-05-19 16:09:13 364 3

原创 【从零开始分析项目实战】13-菜品展示及购物车用户下单的实现

一、菜品展示(1)需求分析:用户登录成功之后跳转到系统首页,在首页需要根据分类来展示菜品和套餐。如果菜品设置了口 味信息,需要展示.

2022-05-17 22:44:09 829 2

原创 【从零开始分析项目实战】12-阿里云手机验证码登录功能的实现

(1)短信服务介绍目前市面上有很多第三方提供的短信服务,这些第三方短信服务会和各个运营商(移动,联通,电信)对接,我们只需要注册成为会员并且按照提供的开发文档进行调用就可以发送短信。需要说明的是,这些短信服务一般都是收费服务常用短信服务:阿里云,华为云,腾讯云,京东,梦网,乐信阿里云短信服务介绍.

2022-05-16 23:57:16 1843 3

原创 【从零开始分析项目实战】11-套餐管理业务开发

套餐就是菜品的集合,后台系统中可以管理套餐信息,通过新增套餐功能来添加一个新的套餐,在添加套餐的时候需要选择当前套餐所属的套餐分类和包含的菜品,并且需要上传套餐对应的图片,在移动端会按照套餐分类来展示对应的套餐;新增套餐,其实就是将新增页面录入的套餐信息插入到setme.

2022-05-16 23:54:19 688 3

原创 【从零开始分析项目实战】10-菜品管理业务开发(文件的上传与下载)

一、文件的上传与下载文件的上传,也称为upload,是指将本地图片,视频,音频等文件上传到服务器,可以供其它用户浏览或下载的过程,文件上传在项目中应用非常广泛,二、新增菜品三、菜品信息分页查询四、修改菜品如果感觉内容写的还不错的话,一键三连不迷路.

2022-05-14 23:53:07 347 2

原创 【从零开始分析项目实战】09-分类管理业务开发(Mybatisplus公共字段自动填充功能的实现)

一、公共字段自动填充(1)问题分析:前面我们已经完成了后台系统的员工管理功能的开发,在新增员工时需要设置创建时间、创建人、修改时间、修改人等字段,在编辑员工时需要设置修改时间和修改人等字段,这些字段属于公共字段,也就是很多表中都有这些字段,这时候我们可以使用mybatis.

2022-05-14 12:17:09 529 1

原创 【JavaWeb】i18n国际化

什么是I18N国际化:国际化(Internationalization)指的是同一个 网站可以支持多种不同的语言,以方便不同的国家,不同语种的用户访问,一个相同的网站,而不同的人访问的时候可以根据用户所在的区域显示不同的语言文字,而网站的布局样式不发生改变;国家化三要素:(1)Locale对象:.

2022-05-12 23:39:26 958 2

原创 【JavaWeb】JSON学习与数据格式转换

文章目录开篇一、JSON对象的定义和访问二、三、其它数据和json之间的相互转换javabean和JSON之间的转换;List集合和json之间的转化(2)字符串json转ListMap集合和json数据之间的转换总结:开篇一、JSON对象的定义和访问json是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。json采用完全独立于语言的文.

2022-05-12 23:35:17 863 6

原创 【JavaWeb】后端人员必会的Ajax请求学习

AJAX即“Asyncjronous Javascript AndXML”(异步JavaScript和xml),是指一种创建交互式网页应用的网页开发技术,是一种浏览器通过js异步发起请求,局部更新页面的技术。一、原生AJAX请求示例:<script type="text/javascrip.

2022-05-11 23:34:53 1330 4

原创 【JavaWeb】过滤器的了解与应用

Filter过滤器是JavaWeb的三大组件之一,三大组件分别是:Servlet程序、LIstener监听器、Filter过滤器;Filter过滤器是JavaEE的规范,也就是接口;Filter过滤器它的作用是:拦截请求,过滤响应;一、编写一个过滤器类继承Filter.

2022-05-11 16:40:34 791 1

原创 【JavaWeb】Cookie和Session的学习

一、cookiecookie是服务器通知客户端保存键值对的一种技术;客户端有了cookie以后,每次请求都将cookie发送给服务器每个cookie的大小不超过4kbcookie的创建://1、创建Cookie对象Cookie cookie =new Cookie("key1","value.

2022-05-10 00:04:31 749 18

原创 【JavaWeb】文件的上传与下载及常见乱码问题的解决

首先要有一个form标签,method=post请求form标签的encTyppe属性值必须为multipart/form-data值在form标签中使用input type=file添加上传的文件编写服务器代码(Servlet程序)接受,处理上传的数据。(1)定义一个update.jsp的页面,关键代码如下所示:<form action=" " method=" post" en

2022-05-09 09:30:00 2025 3

原创 【JavaWeb】JSP学习看这一篇就够了-02(EL表达式和JSTL标签库)

EL表达式:全称为Expression Language;表达式语言主要作用是代替jsp页面中的表达式脚本在jsp页面中进行数据的输出;EL表达式在输出数据的时候,要比jsp表达式脚本要简洁的多;EL表达式的格式是:${表达式}EL表达式在输出null值的时候,输出的是空串;jsp表达式输出null值的时候,输出的是n.

2022-05-08 08:00:00 430 5

原创 【项目实战】08-员工信息的更新(数据类型转换器解决js数字处理问题)

这一章我们主要学习了数据类型转换器的使用,知道了javascript处理的long型数据长度有限的缺陷,并通过数据转化解决此问文章目录开篇一、二、编辑员工信息三、总结:开篇在员工管理列表页面,可以对某个员工账号进行启用或者禁用操作。账号禁用的员工不能登录系统,启用后的员工可以正常登录。需要注意,只有管理员(admin用户)可以对其它用户进行启用、禁用操作、所以普通用户登录系统后启用,禁用按钮不显示;一、程序执行流程:页面发送Ajax请求,将参数(id,status)提交到服务器;服务.

2022-05-07 22:08:34 862 5

原创 【JavaWeb】JSP学习看着一篇就够了-01

什么是jsp?jsp的全称是java server pages。java的服务器页面。jsp的主要作用:代替servlet程序回传html页面的数据;因为servlet程序回传html页面是一件非常繁琐的事情。开发成本和维护成本非常高;jsp页面本质:jsp页面本质是一个Servlet程序,当我们第一次访问jsp页面的.

2022-05-05 23:44:39 282 24

原创 IDEA工具Debug的详细使用说明

👨‍💻👨‍💻IDEA工具🐞Debug的详细使用说明使用👨‍💻👨‍💻最通俗易懂的IDEA的debug调试工具的使用

2022-05-03 23:52:26 1311 22

原创 【项目实战】07-员工信息分页查询(Mybatis-plus分页查询详解)

最通俗易懂的mybatis-plus的分页查询插件讲解,并结合项目开发作了深层次了解,以掌握在项目中如何使用分页查询后面项目将会对员工的账号状态进行相关操作!

2022-05-02 23:54:58 1656 15

空空如也

空空如也

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

TA关注的人

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