- 博客(47)
- 收藏
- 关注
原创 快速启动项目
创建一个 自定义名称 数据库,【只要】 执行对应数据库类型的 sql (opens new window)目录下的 ruoyi-vue-pro.sql SQL 文件,进行初始化。在idea中搜索 ProjectReactor,按照自己的项目信息修改,然后执行main方法,就会复制一个新的项目出来。分支: mini 是 springboot3 + jdk17 的基础版本,后续其他功能模块陆续在其基础上追加即可。修改 source-server 下的数据库配置。自行安装,修改配置即可。
2024-12-01 19:26:22
570
原创 03 HTML转PDF工具示例详解
wkhtmltopdf 是一个非常好的工具,它可以用适用于多平台的 html 到 pdf 的转换,pdfkit 是 wkhtmltopdf 的Python封装包。
2023-10-31 17:11:27
373
原创 14.k8s滚动发布方案
kubectl rolling-update仅在使用Replication Controllers 部署应用程序时才使用该命令。此功能允许按顺序更新pod,一次更新一个(按照配置比例),而不是一次停止/更新整个pod。使发布版本更新和回滚而不会中断服务。接近几乎无缝地平滑升级部署应用程序 ,即在不停止对外服务的前提下完成应用的更新。Kubernetes支持名为Rolling Update的功能,允许不间断地,这里可以通过修改deployment.yaml,也可以直接使用命令。
2023-10-30 22:38:31
529
原创 09.K8S高可用-堆叠etcd拓扑测试说明
为防止脑裂现象,部署的主节点数要保证为奇数三个主节点时最多容忍一台机器宕机生产环境部署时,需根据机器数量选择部署节点类型数量,满足最少三个主节点原则当生产环境worker节点过多时,应考虑使用haproxy提高apiserver使用效率。
2023-10-29 08:15:00
201
原创 08.K8S高可用方案
master 发送组播,backup 节点收不到 vrrp 包时认为 master 宕机,此时选出剩余优先级最高的节点作为新的 master, 劫持 vip。kubeadm 中的默认拓扑。因此,它提供了一种 HA 设置,其中失去控制平面实例或者 etcd 成员的影响较小,并且不会像堆叠的 HA 拓扑那样影响集群冗余。具有此拓扑的 HA 集群至少需要三个用于控制平面节点的主机和三个用于 etcd 节点的主机。haproxy提供高可用性,负载均衡,基于 TCP 和 HTTP 的代理,支持数以万记的并发连接。
2023-10-29 08:00:00
643
原创 07.K8S高可用集群节点规划
为了避免脑裂的问题,给出了一个规定:集群中存活的节点数必须要超过总节点数的半数才能继续提供服务,而正是由于这个规定,导致集群中n台和n+1台你的容灾能力是一样的(n为奇数),都只能坏一台。奇数的原因是防止资源的浪费,因此3个主节点有1个节点的容错率,而4个主节点也只有1个节点的容错率。但当两个机房之间的网络通信出现故障时,选举机制就有可能在不同的网络分区中选出两个。脑裂现象:集群中的Master或Leader节点往往是通过选举产生的。这也就出现了“脑裂”现象。在网络正常的情况下,可以顺利的选举出。
2023-10-28 08:15:00
366
原创 06.K8S常用命令
添加label语法删除label语法修改Label的值语法: 需要加上–overwrite参数查看现有node及label。
2023-10-28 08:00:00
245
原创 02 用户管理
添加用户的时候制定用户组,需要注意的是 -g 后面制定的用户组必须是存在的才可以。chown 用于修改文件/目录的属主/属组。chmod: 修改文件的读,写,可执行权限。groupadd 添加用户组信息。groupdel 删除用户信息。passwd 给用户设置密码。useradd 添加用户。userdel 删除用户。
2023-10-25 13:36:54
57
原创 最新版 !快速掌握 JDK17 + springboot3 + springcloud Alibaba :12、Spring Boot Admin 实现服务监控
实现健康 (Health)信息、内存信息、JVM 系统和环境属性、垃圾回收信息、日志设置和查看、定时任务查看、Spring Boot 缓存查看和管理等功能。启动入口程序,加上@EnableAdminServer注解即可。注意最后启动admin服务。
2023-10-25 13:15:22
277
原创 最新版 !快速掌握 JDK17 + springboot3 + springcloud Alibaba :11、Knife4J整合gateway接口文档
因为开发需求,需要整合各个服务的接口文档,发现了knife4j最新版本(2023.3)出来了一个好用的插件,可以方便整合 SpringCloud Gateway 与各个业务服务的接口文档,不需要之前我们再硬编码写各种过滤器和拦截器去手动整合了。strategy: discover 是依赖 nacos的注册中心的服务发现模式,可以自动发现注册的业务服务。excluded-services:即为排除的网关服务的名称,每个业务模块进行如下修改。
2023-10-25 13:13:59
466
原创 最新版 !快速掌握 JDK17 + springboot3 + springcloud Alibaba : 10、Seata 整合实现分布式事务
中文文档Seata 是什么seata主要有下面三种角色事务协调器(TC):维护全局事务和分支事务的状态,驱动全局提交或回滚。事务管理器(TM):定义全局事务的范围:开始全局事务,提交或回滚全局事务。资源管理器(RM):管理分支事务处理的资源,与TC交谈以注册分支事务并报告分支事务的状态,并驱动分支事务提交或回滚。一个分布式事务流程图:TM要求TC开始新的事务。TC生成一个表示全局事务的XID。XID是通过微服务的调用链传播的。RM将本地事务注册为XID到TC的相应全局事务的分支。
2023-10-24 07:45:00
1099
原创 最新版 !快速掌握 JDK17 + springboot3 + springcloud Alibaba : 9、分布式事务seata1.7.1部署到Nacos
Seata 是 阿里巴巴 开源的 分布式事务中间件,以 高效 并且对业务 0 侵入 的方式,解决 微服务 场景下面临的分布式事务问题。主要指讲述 seata服务端的搭建以及与springcloud的集成以实现分布式事务控制的过程中文文档Seata 是什么github项目。
2023-10-23 14:28:49
553
原创 04、在k8s集群上部署ELK
kibana服务暴露采用了ingress形式,也可以采用nodePort,这里k8s集群安装了ingress插件,所以采用了ingress方式。在外部通过kibana.com进行访问时,需要做域名解析,解析到的IP地址为ingress pod的IP。创建configMap定义logstash相关配置项,主要包括一下几项。ELK日志采集系统,适用于首次在k8s集群上部署安装该系统。在本地安装访问nginx容器,并通过kibana查看日志。:可以定义输出到es,redis,kafka等等。
2023-10-20 08:00:00
108
原创 03.SkyWalking链路追踪选型对比及部署说明,适用于首次部署安装该系统
这里我将apache-skywalking-apm-6.6.0.tar.gz解压到/opt目录了,因此路径为:/opt/apache-skywalking-apm-bin/agent/skywalking-agent.jar。访问:http://服务器IP:8080/ 如果看到SkyWalking UI 首页,则说明服务端配置成功。访问:http://服务器IP:8080/ 如果看到SkyWalking UI 首页,则说明服务端配置成功。-jar 指定jar包的路径,这里我直接放到/opt/目录了。
2023-10-19 08:00:00
548
原创 02.ELK部署
这时启动logstash服务的终端就会出现(因为这时还没启动Elasticsearch服务,所以这里会出现以下错误)ELK日志采集系统,适用于首次部署安装该系统。
2023-10-18 08:00:00
57
原创 01.CentOS7 部署K8S集群
备注:第1步~第8步,所有的节点都要操作,第9、10步Master节点操作,第11步Node节点操作。 如果第9、10、11步操作失败,可以通过 kubeadm reset 命令来清理环境重新安装。备注:必须关闭关闭前关闭后备注:必须关闭【有一些ipv4的流量不能走iptables链【linux内核的一个过滤器,每个流量都会经过他,然后再匹配是否可进入当前应用进程去处理,导致流量丢失】1)下载并安装2)设置开机启动3)查看Docker版本。
2023-10-17 10:55:50
89
原创 最新版 !快速掌握 JDK17 + springboot3 + springcloud Alibaba : 8、配置中心 Nacos Config
首先我们来看一下,微服务架构下关于配置文件的一些问题:配置文件相对分散。在一个微服务架构下,配置文件会随着微服务的增多变的越来越多,而且分散在各个微服务中,不好统一配置和管理。配置文件无法区分环境。微服务项目可能会有多个环境,例如:测试环境、预发布环境、生产环境。每一个环境所使用的配置理论上都是不同的,一旦需要修改,就需要我们去各个微服务下手动维护,这比较困难。配置文件无法实时更新。我们修改了配置文件之后,必须重新启动微服务才能使配置生效,这对一个正在运行的项目来说是非常不友好的。
2023-10-16 08:00:00
514
原创 最新版 !快速掌握 JDK17 + springboot3 + springcloud Alibaba :7、链路追踪 Micrometer Tracing&Zipkin
微服务架构是一个分布式架构,它按业务划分服务单元,一个分布式系统往往有很多个服务单元。由于服务单元数量众多,业务的复杂性,如果出现了错误和异常,很难去定位。主要体现在,一个请求可能需要调用很多个服务,而内部服务的调用复杂性,决定了问题难以定位。所以微服务架构中,必须实现分布式链路追踪,去跟进一个请求到底有哪些服务参与,参与的顺序又是怎样的,从而达到每个请求的步骤清晰可见,出了问题,很快定位。
2023-10-15 22:08:52
907
原创 最新版 !快速掌握 JDK17 + springboot3 + springcloud Alibaba : 6、服务网关Gateway
Nginx+lua使用nginx的反向代理和负载均衡可实现对api服务器的负载均衡及高可用,lua是一种脚本语言,可以来编写一些简单的逻辑, nginx支持lua脚本Kong基于Nginx+Lua开发,性能高,稳定,有多个可用的插件(限流、鉴权等等)可以开箱即用。问题:只支持Http协议;二次开发,自由扩展困难;提供管理API,缺乏更易用的管控、配置方式。ZuulNetflix开源的网关,功能丰富,使用JAVA开发,易于二次开发 问题:缺乏管控,无法动态配置;依赖组件较多;
2023-10-14 08:00:00
626
原创 02、利用paddleocr识别监控图像的时间
完整代码包下载:https://download.youkuaiyun.com/download/qq_16089135/88418315。这里使用paddleocr进行识别,首先使用pip安装paddleocr依赖库。启动脚本,访问 8985:/ocr/hello 测试。根据摄像头抓拍图像中的时间,判断设备是否出现时差。
2023-10-13 08:00:00
657
原创 01、DeepSpeech2在windows下的部署与测试
安装Microsoft C++ 生成工具 - Visual Studio:https://visualstudio.microsoft.com/zh-hans/visual-cpp-build-tools/实践中选择字错率最低的下载,下载完成后解压,将dataset文件夹中mean_std.npz与zh_vocab.txt拷贝至源码**./dataset**目录下,将models文件夹拷贝至源码根目录下。Anaconda 官网:https://www.anaconda.com/download/
2023-10-12 11:18:15
1683
1
原创 最新版 !快速掌握 JDK17 + springboot3 + springcloud Alibaba : 5、服务熔断降级 Sentinel
官网:https://sentinelguard.io/zh-cn/index.htmlSentinel (分布式系统的流量防卫兵) 是阿里开源的一套用于服务容错的综合性解决方案。它以流量为切入点, 从流量控制、熔断降级、系统负载保护等多个维度来保护服务的稳定性丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景, 例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。完备的实时监控。
2023-10-11 17:30:53
763
原创 最新版 !快速掌握 JDK17 + springboot3 + springcloud Alibaba :4、远程调用Feign
Feign是Spring Cloud提供的一个声明式的伪Http客户端, 它使得调用远程服务就像调用本地服务一样简单, 只需要创建一个接口并添加一个注解即可。 Nacos很好的兼容了Feign, Feign默认集成了 Ribbon, 所以在Nacos下使用Fegin默认就实现了负载均衡的效果。
2023-10-11 08:00:00
360
原创 最新版 !快速掌握 JDK17 + springboot3 + springcloud Alibaba : 3、远程调用负载均衡 Ribbon
通俗的讲, 负载均衡就是将负载(工作任务,访问请求)进行分摊到多个操作单元(服务器,组件)上进行执行。根据负载均衡发生位置的不同,一般分为服务端负载均衡和客户端负载均衡。服务端负载均衡指的是发生在服务提供者一方,比如常见的Nginx负载均衡客户端负载均衡指的是发生在服务请求的一方,也就是在发送请求之前已经选好了由哪个实例处理请求微服务调用关系中一般会选择客户端负载均衡,也就是在服务调用的一方来决定服务由哪个提供者执行。那问题来:代码上如何实现?
2023-10-10 08:50:23
320
原创 最新版 !快速掌握 JDK17 + springboot3 + springcloud Alibaba : 2、服务治理 Nacos Discovery
服务治理是微服务架构中最核心最基本的模块。用于实现各个微服务的自动化注册与发现。大白话:各种微服务ip/端口的统一管理(CRUD)服务注册:在服务治理框架中,都会构建一个注册中心(管理ip/端口的地方),每个服务单元向注册中心登记自己提供服务的详细信息。并在注册中心形成一张服务的清单(建立服务名与ip/端口映射),服务注册中心需要以心跳的方式去监测清单中的服务是否可用,如果不可用,需要在服务清单中剔除不可用的服务。**服务发现:**微服务去咨询注册中心,并获取所有服务清单,实现对具体服务的访问。
2023-10-10 08:00:00
745
原创 最新版 !快速掌握JDK17 + springboot3 + springcloud Alibaba : 1、 微服务环境搭建
以电商项目为线索,快速掌握 JDK17 + springboot3 + springcloud Alibaba。
2023-10-09 22:27:30
2740
原创 lombok 引起的编译时 java.lang.stackoverflowerror 问题
今天工程编译遇到以下报错:java.lang.StackOverflowError at java.lang.Class.getSimpleName(Class.java:1306) at lombok.javac.JavacAST.buildStatementOrExpression(JavacAST.java:384) at lombok.javac.JavacAST.buildTre...
2019-12-16 17:09:50
2801
原创 四舍六入五成双
需求描述自定义修约要求 “request” 字段说明如下:numberRange:数值范围,其中 gt >, lt < , ge >=, le <=,eq =; V 为数字占位符type:修约类型,其中 1:小数点,2:有效数字,3:科学计数法的有效数字digit:位数,配合type例如:{“request”: [{“numberRange”: “Vgt0.1...
2019-12-03 22:17:52
2135
原创 SpringBoot Quartz 集群
SpringBoot +Quartz + Mybatis + LayUI通过数据库实现了Quartz集群。一个动态管理Quartz任务的例子。不需要重启服务,即可以增加、修改、删除、停止、启动任务。官网:http://www.quartz-scheduler.org/SQL脚本本例中使用的是MySQL数据库。在resources\db目录下,需要创建quartz数据库,和sys_job...
2019-11-20 23:18:46
403
原创 01.有意义的命名
一. 名副其实:变量、函数或者类名,应当明确,如果需要靠注释来解释补充,那就不是名副其实。例如:int d; //消逝的时间,以日计这里的d什么也没说明。没有引起时间消逝感,更别说以日计了。我们应该选择指明了计量对象,和计量单位的名称:int elapsedTimeInDays;int fileAgeInDays;选择体现本意的名称能让人更容易理解和修改代码。二.避免误导:别用a...
2019-11-03 21:30:20
200
原创 centOS6.5 搭建JAVA开发环境
一:安装centOS6.51 启动VMware的画面2.点击 创建新的虚拟机3 选择 典型(推荐)4 选择 稍后安装操作系统5 选择客户机操作系统类型6 设置虚拟机名称 和 安装路径7 指定磁盘容量8 点击 自定义硬件9 修改内容大小10 选择自己需要安装的镜像文件如果需要我的镜像文件的也可以直接去我的云盘下载:链接:https://pan.baidu.com/s/1sSJ...
2019-11-03 21:28:32
294
原创 python 实现区块链环境准备
3.1 python 实现区块链环境准备安装 postman安装 python创建文件目录 lesson1安装 pip命令:pip install pipenvpipenv --python=python安装 flask命令 pipenv install flask0.12.2安装 requests命令 pipenv install requests2.18.4使用 pych...
2019-11-03 21:20:39
447
以电商项目为线索,快速掌握 JDK17 + springboot3 + springcloud Alibaba 专栏源码
2023-10-13
02 利用paddleocr识别监控图像的时间 完整代码与Dockerfile及其依赖
2023-10-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人