自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 k8s集群创建devops项目一直等待状态,没有发现host

3、动态扩容测试 kubectl get deployment 应用升级 kubectl set image (--help 查看帮助) 扩容: kubectl scale --replicas=3 deployment tomcat6 扩容了多份,所有无论访问哪个 node 的指定端口,都可以访问到 tomcat6。2、暴露 nginx 访问 kubectl expose deployment tomcat6 --port=80 --target-port=8080 --type=NodePort。

2024-07-15 18:24:09 617

原创 k8s开启deopos功能报错总结

2 开启devops 功能,启动不起来,如果一开始就 devops-jenkins就处在padding状态,kubectl logs -n 也没有任何日志,这是pod容器部署配置问题,找到节点以及名称使用kubectl edit cc来编辑部署配置,最大限制内存给的4g,request内存1g,这里想给2个cpu发现不会去执行创建,可能是因为是虚拟机检查不通过就不会去启动容器。6 参数设置,在容器化时代,性能调优的设置相当重要,在开启Jenkins时参数过大过小都会启动不来。

2024-07-14 09:06:43 403

原创 k8s中kubesphere开启devops总是报错解决

自己搭建过k8s集群遇到各种形式的报错,手动去解决,其实这都是由程序自动去解决的问题,由于自己的的失误导致问题不得不去亲自解决是虽然管用但费时费力,在kubersphere开启devops本身没什么问题,但由于虚拟机配置低导致由程序负责安装装的容器会不知名地报错,手动去解决,解决的只是意外的问题,所有新手在安装k8s环境的时候最需要的是冷静,等程序慢慢的跑和适应,这些由程序控制的程序,由网络电脑配置起作用,所以如果总是跑不起来并伴随系统卡慢不用想虚拟机配置太低,内存不够容器分配,容器总是宕机,所以新手在搭建

2024-07-14 02:44:49 265

原创 新版k8s拉取镜像失败问题

新版版从k8s1.23后放弃使用docker容器作为的默认运行时了,而是采用的containerd,使用时不在使用docker拉取镜像,这就带来了一系列的问题。解决镜像拉取问题(原因外网屏蔽拉取不到使用国内加速器)contained的配置文件在/etc/containerd/config.toml解决devops安装失败问题。查看安装器配置文件(devops已经关闭)找到如上registry的配置部分,加上阿里云的镜像加速配置。重启containerd。

2024-07-12 14:16:16 508

原创 kubekey all in one 无法下载资源问题

linux单机部署k8s和kubehphere

2024-07-11 14:21:00 123

原创 helm安装解决无授权问题

helm报错,kubesphere安装

2024-07-10 08:50:24 541

原创 k8s集群如kubeadm init和kube-flannel.yam问题

如果执行失败了怎么办?执行后,重新进行(init)!!!搭建集群环境有效可用参考地址kubeadm init 初始化报错问题 按照提示查看日志journalctl -u kubelet 提示主机找不到因为填写的服务ip地址不正确去kubelet的配置文件中修改服务地址为自己主机ip初始化完成后继续遇到为主机安转网络kube-fannel.yam 由于网络问题一直装不上到麻烦。

2024-07-08 06:01:48 1107

原创 vagrant远程连接不上问题

2默认一个host_only网卡仅只有主机访问,如果修改虚拟机的网卡时一定记得将该下面的mac地址刷新,否则使用ssh连接不上主机。1使用网络地址转换(ant)将虚拟机端口映射到宿主机端口,宿主机使用127.0.0.1加端口号访问到虚拟机程序。3 NAT网卡模式 使主机和虚拟机之间相互访问。4 桥接模式 主机访问虚拟机。修改后刷新mac地址才能起效。

2024-07-07 02:07:46 201 1

原创 linux基础数据源

【代码】linux基础数据源。

2024-07-06 05:36:09 70

原创 JWT(Json web token)认证详解

官方地址案例jwt使用技巧。

2024-06-28 13:04:15 247

原创 docker中mysql突然无法远程连接设置

参考地址。

2024-06-22 15:05:01 314

原创 git常见错误

如果git merge合并的时候出现refusing to merge unrelated histories的错误,原因是两个仓库不同而导致的,需要在后面加上--allow-unrelated-histories进行允许合并,即可解决问题。

2024-06-19 19:13:10 349

原创 商品秒杀上架的基本实现

秒杀

2024-06-12 12:33:40 213

原创 支付宝订单支付和超时收单

问题,现在提交订单信息调用支付宝的支付页面,支付成功,支付宝异步回调给用户消息,此时处理支付宝支付成功后的回执信息,并产生流水单实体,再修改订单的状态,表示客户端收到支付宝支付成功的消息,并将订单状态修改为已支付,在处理这两个业务的时候必须确定支付宝回调的的数据是真实有效的没有被串改,这就用到了阿里的sdk的验证签名的api,将回调的参数进行公钥验证,通过再生成流水号单以及修改订单的状态。支付宝收到那指的是当订单信息提交支付到支付页面时,在这个过程中超出客户端设置的时间就会触发支付失败回调。

2024-06-09 16:01:17 679

原创 nginx

会看到当浏览器发送内网穿透的域名时会匹配到然后处理域名的url逻辑部分,然后去从上到下匹配每一个location的节点 匹配到时通过proxy_pass http://gulimall代理到网关地址,如果nginx在浏览器转给nginx过程中丢失部分需要用到的请求头如Host时可以人为的加上,并能与网关对应的逻辑匹配上就能正确地让支付宝成功支付回调到公网的内网穿透的域名上后请求到自己的主机上。重要的配置节点server 中的 location用于配置代理到的目标,常用的使用方式。

2024-06-07 16:54:58 293

原创 linux中使用gdb调试c++的dump文件

上面owner=30741表示这个锁被谁占用,0表示没有被线程抢占可以使用info threads查看所有线程id然后对比这个锁被哪个线程持有。这时我们进入线程2 thread 2 然后执行 bt查看调用栈 再使用f num 查看调用栈 使用p mtx1查看锁信息或者p *this。bt 查看调用栈信息:info threads 当前有多少个线程;锁就是系统的标志量,只有一个线程可以占用锁资源并把锁的owen设置成线程的id。1 查看系统是否开启dump生成 0表示没开启。2查看dump生成的文件位置。

2024-05-29 07:59:04 408

原创 在windows中使用wsl下的unbuntu环境

vscode结合wsl本地支持linux开发环境

2024-05-24 04:03:44 207

原创 cmake编译redis6.0源码总结

redis源码编译,cmake完整配置

2024-05-23 00:15:58 481

原创 分布式事务

对于分布式事务即在一个业务方法里有多个步骤对不同数据库的表操作需要保证同时成功或同时失败,传统事务中使用注解在操作数据库的业务方法上加失败回滚就能完成数据一致性,当这个事务由多个事务组成并且存在远程事务,就会出现各种问题,比如网络超时异常,会导致已经成功的远程事务在本地定义为失败,之前的事务也被回滚,再如通过远程事务的操作成功来指定当前事务是否抛出异常,如果远程事务失败,远程自然会回滚,本地根据返回值是都抛出异常来决定之前事务是否回滚,但问题来了,如果远程成功了,在接下来的远程请求中触发失败异常,回回滚当前

2024-05-19 15:55:53 117

原创 wsl安装Xfce桌面并设置系统语言和输入法

遇到的可能问题 :fcitx 添加输入法但并没有输入候选项:原因Xfce和gnome它两个使用 ibus输入法,通过 fcitx-diagnose 去查看日志 (仔细看日志的重要性)发现其中一串报错信息,大概就是 输入法框架已被设置为 ibus fcitx 并没有开机自启动。这里都可以更改,无非就是切换输入法的快捷键。这一步是问系统默认的语言选择是什么,默认的是en_us,我们用光标选择zh_CN.UTF-8 然后选OK键。系统支持了中文,但输入依然只有英文,所以我们需要继续下一步,安装中文输入法。

2024-05-13 05:00:54 1026

原创 wsl2手动安装ubuantu和迁移指定目录

wsl --unregister Ubuntu 卸载子系统,并把迁移位置的D:\Ubuntu22.04\Ubuntu.tar删除,这个在第一次安装时也会在c盘有,也是生成ext4.vhdx文件的同样可以删除,找到开始菜单有ubuntu菜单项把它卸载了,它是快速启动子系统的,卸载旧的完成,可以使用wsl启动默认子系统或在开始菜单找到子系统名启动。前面的是安装linux的名字 中间是ext4.vhdx文件安装位置 后面是安装文件的解压来源成功安装后使用wsl -l -v查看安装成功的子系统名,使用。

2024-05-11 20:21:46 206

原创 问题:幂等性 分布式session

会保存controller中接收的request原理是ThreadLocal共享变量,为当前线程的RequestContextHolder重新设置上原来的请求数据,

2024-05-07 16:38:38 364

原创 Open feign远程调用丢失请求头问题

由浏览器发送后台请求会携带cookie,在后台服务中会通过拦截器拦截到请求,并通过session来获取当前用户是否登录,即便httpsession是springSession实现分布式session共享,它通过对request和response和session的包装类实现了自己的session存储流程,对原有的使用不受影响,把seession存储到redis中,通过浏览器发送请求共享登录数据没有问题,当后端模块依赖其他模块同样方式访问,open feign构建的request是没有提供请求头的信息,也没有携

2024-04-30 17:55:47 103 1

原创 RabbitMq基础概念知识复习

消息拥有消息头和消息体,消息具有rounting key,主题交换机和扇形交换机都是分布与订阅的实现方式,主题交换机用于匹配接收的消息的rount key 动态匹配模式匹配到多个符合的队列,扇形fanout交换机则不会使用消息的路由key,即便在绑定队列的时候指定了Routing key,也不会有任何效果,它会向所有绑定到当前交换机的 队列广播消息,该交换机绑定队列的时候所有的rounting key为空,这样所有被绑定的队列都能收到交换机的消息,实现广播功能。4 rabbitMq应用场景,异步!

2024-04-27 17:24:55 552 2

原创 【无标题】

第 1、2 条数据中的(start,end)是相同的,第 5、6、7 条数据(start,end)是相同的。注意 count(start) 与 count(end) 的效果是一样的,使用哪个都可以,都是此类的数量。可见,group by带有两个参数时,两个参数都相同的数据会归为一类。2、可以使用 count() 函数统计每一类的数据量,括号中可以使用任意一个参数。1、group by带有两个或多个参数时,参数值 全部都相同的 数据会归为一类。3、可以使用 having 子句筛选出其中重复量大于1的数据。

2024-04-26 15:51:10 339

原创 ThreadLocal的使用

用于不同线程下存储共享的数据变量,线程开启时接收当前的共享变量,其他线程开启时也可以接收,他们之间不会影响并且该threadLocal会作用在整个线程生命之间,也就意味着无论线程执行到哪一个代码类都能获取到存储的属性,相当于线程创建的属性,可用在该线程所要执行的任何对象的方法上获取,如前端请求开启线程-》controller-》service-》dao都是线程要执行的地方,而线程开启时创建了过Threadlocal则后继的执行的类区域都能获取到线程的ThreadLocal的存储对象,而且线程与线程之间不会干

2024-04-24 18:16:27 166

原创 总结web开发

一切页面元素皆是模型,模型皆用对象描述

2024-04-24 16:32:27 83

原创 Session工作原理

解决方案:1多个微服务对session同步复制,不建议采取因为复制开销大网络带宽受影响 2使用一致性hash对ip或者域名hash获取整数然后再根据相同服务的数量取余操作,那么请求负载到只有一个相同的服务,当水平扩容的时候不一致,session也会有失效时间不会有所影响 3使用公共存储介质,将共享数据存储在mysql/redis中,当跨服务时可以直接让当前服务查询mysq或redis存的session信息,后端统一存储session比较安全,容易扩展,缺点有网络交互连接redis。

2024-04-21 15:02:50 439

原创 第三方社交登陆流程

4 获取授权成功,将返回的json封装成bean,去完成当前项目的登陆或注册行为,如果当前用户是第一次登陆,就查询额外的第三方信息,即携带授权码到第三方api的请求路径加授权码获取可授权方位的json串将它转为json对象获取字段设置到要插入的用户上,比如有第三方的uid,昵称、头现象,封装成entity完成数据库的插入,这个地方方用户就在当前用户下生成自己的id,如果不是第一次登陆,则数据库中可以查到uid信息,需要更新当前的用户的授权码过期时间和授权码值,成功后就直接跳转到首页。

2024-04-21 12:29:14 242

原创 计算机网段

你看IP地址和子网掩码就知道了 复杂的就不说了 要想知道是不是一个网段 首先先看子网是不是一样 一般常用的C类IP地址 子网掩码都是255.255.255.0 就是说前3段表示网段如192.168.0.X 最后一位表示主机号 IP地址前3段一模一样就是一个网段 如 192.168.0.1和192.168.0.5是一个网段 最后一位从1到254都可以 都是一个网段 192.168.2.1和192.168.2.X也是一个网段 但192.168.0.X和192.168.2.X就不是一个网段 A类地址子网掩码是25

2024-04-19 11:28:01 145

原创 Something worth repeating to learn

可以重复复习的内容

2024-04-19 10:40:11 141

原创 golang接口

当试图创建一个功能的多个版本时,当创建的对象之间存在某种关系时,我们使用抽象类。在了解如何定义抽象类和接口之前,让我们先了解在C++中什么是虚方法和纯虚方法。当实现的功能彼此不相关时,创建的每个对象都是独立的,我们使用接口。:是一种不需要定义而只需要声明的虚方法,它是通过在方法最后添加。关键字告诉编译器对该方法执行动态链接或后期绑定。:需要在派生类中进行重新定义,使用。

2024-04-18 02:23:38 261

原创 Spring Cache的使用

缓存的使用原理就是全局的map完成全局数据的同一存储,伴随这程序的运行周期,在这个周期当中可以对查询多写入少的数据使用缓存,缓存是一个map,如果对map进行更好的管理防止只加不删除,就不能更好地管理内存,所以缓存就要依赖于一个能管理它的对象,我们称缓存管理器,在没有使用统一缓存的时候,我们常常会使用redis手动查询数据设置缓存,这种放式确实可以写在任意时刻任意地方,也不需要过多管理,代码在业务处理逻辑中,会发现内容比较多。

2024-04-12 19:48:34 226 1

原创 QtAV编译遇到的问题

遇到测试问题在项目的root目录.qmake.conf中设置如下,或者在.pro中注释掉启用测试。在qmake中添加配置,这里最好用绝对路径,并且保持路径值,找不到依赖就是路径有问题。添加配置的方式还有第二种就是配置qt的环境变量让它主动找到依赖的包。编译QtAV需要FFmpeg和OpenAL, 先去。比如路径的/和\最好按照系统的绝对地址路径。部分添加CONFIG *= d3dva。

2024-04-07 23:46:23 327

原创 Rust解决Mysql链接数据库找不到驱动问题

x86_64-w64-mingw32/bin/ld.exe: cannot find -lmysql具体信息很长这是主要信息是rust找不到链接mysql的驱动在哪里。具体的就是工具链程序rust-lld.exe找不到mysql的驱动就报错,看其他的解决方案是在项目工程下创建build.rs,给程序一个指定位置找到动态库。解决找到mysql的安转目录,找到lib目录下的libmysql.dll,把它放到。尝试了一下有报新的错误,但上面的一个解决方案是最可靠的,伴随工具而有效。

2024-04-06 21:28:10 202

原创 支付宝数据加密流程,protobuf和grpc在golang中使用

protobuf安装地址Releases · protocolbuffers/protobuf (github.com)选择指定的win版本,解压将bin目录添加path环境变量中,查看版本protoc --version。第二部下载golang的代码生成工具,默认protobuf不支持go代码生成下载方式如下go install google.golang.org/protobuf/cmd/protoc-gen-go@latestgo install google.golang.org/grpc/c

2024-04-03 17:06:24 256 1

原创 beego的路由404问题分析以及解决

使用beego分清楚版本,beego的壹版本和v2版本的包发生了变化,使用方式也有新的改变,主要是从beego1.3.0后引入了注解路由的方式,为了简化rounter中的书写方式,如只需要在rounter中通过 beego.NSInclude()的方式把注解的路由hander加入进来,真正的匹配方式交给hander的注解内容去完成,通过URLMapping()优化匹配提高了执行效率。注解路由的书写方式如下。

2024-04-02 22:22:52 303

原创 golang项目之vendor的使用

这样的好处比如项目完成后第三方依赖包几乎不会改变,那么就可以发送带有vendor的项目给朋友开发,朋友拿到项目,看到有vendor就直接不用考虑依赖的包,mod依赖优先加载vendor中的依赖,也不会从网络上下载不知所云的包,只有用到的包才会在vendor中出现。vendor好处是在mod中无论是引用的第三方库版本是多少,只有vendor中出现就会忽略你使用的版本,因为mod会优先加载vendor中的依赖,并忽略版本,如果通过mod本地管理的库会按照指定版本导入,如果没有就下载。

2024-04-01 20:17:26 396

原创 gorm连接mysql报错问题

使用orm框架的gorm连接时总报panic: runtime error: invalid memory address or nil pointer derefer错误,报错的原因是只引入了"github.com/jinzhu/gorm"并没有引入mysql驱动包加上没有智能识别和导入就忽略导包_ "github.com/go-sql-driver/mysql"引发sql: unknown driver "mysql" (forgotten import?

2024-04-01 00:31:37 188

原创 局域网探测在线ip地址

网络

2024-03-14 12:36:05 250

空空如也

空空如也

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

TA关注的人

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