- 博客(97)
- 收藏
- 关注
原创 Rust中使用ORM框架diesel报错问题
一切切换回来后重新编译原来的Diesel库项目发现没有任何报错,担是在vs平台的编译链上的问题任然存在,如果你想一直基于vs平台下的编译链,建议在安装Rust时就和当前vs环境友好搭配下载安装,而我的是基于mingw64安转的忽略了很多环境切换上的问题,到此windows中使用Rust的ORM框架diesel报错问题初步解决。按照这个可能可行,但由于磁盘有限下载一般就暂停了,这种环境问题的第三方包下载太麻烦,并且报错很可能与vs版本有关,于是就放弃vs的编译工具链。
2025-02-03 20:42:35
939
5
原创 Docker常用知识点问题
这是关于docker容器的相关知识的扩展,除了常用的命令操作,还要知道密令的工作细节,如网络通信,etcd协调,raft算法实现等,这些多半是网络数据封装与收集描述,约束大于配置,程序时实与对外描述的配置文件交互,进行程序执行实时动态调度变更,这些文件配置信息抽象了程序的可执行参数,并对抽象可以扩展文件持有更多的可描述类型。—dockerfile编写了expose,但未使用-p会发生什么?K8s组建构成以及工作远离,持久化类型,服务类型,端口映射类型。—expose作用,能不能不用,不用会导致什么情况?
2025-01-25 02:59:13
616
原创 rust如何定义全局对象变量
在 Rust 中,定义全局变量需要使用static关键字。在上述代码中,我们定义了一个名为GLOBAL_VAR的全局变量,类型为i32,初始值为42。需要注意的是,定义的全局变量必须指定类型。在定义不可变的全局变量后,我们可以在程序的任何地方读取它的值。在上述代码中,我们使用static mut定义了一个名为GLOBAL_VAR的可变全局变量,类型为i32,初始值为42。需要注意的是,定义可变的全局变量必须使用mut关键字,并且在使用可变全局变量时需要使用unsafe关键字。
2025-01-24 18:39:45
1287
原创 mysql日志类型、事务复习
通过两阶段提交控制完成主从同步数据一致性。因为mysql默认隔离级别为可重复读,对于事务A的select读而言触发快照读,读到历史版本数据,加上可重复读级别事务A只会读到自己修改的数据,所以不会出现脏读,不可重复读问题,对事务B的插入会产生幻读,目前事务B修改内容不会影响事务A的快照读数据。举例mysql默认可重复读隔离中,事务A读到数据10,事务B修改该记录为20,再可重复度的隔离级别中只能看到自己修改的数据,所以事务A读的数据是快照无法读到事务B的修改不会出现脏读,不可重复度,但插入可见,会出现幻读。
2025-01-06 00:42:36
338
原创 rust中&self、self、&self区别
这种针对方法调用者的隐式借用在实践中可以让所有权系统更加友好且易于使用。的类型,在给出调用者和方法名的前提下,可以准确地推导出方法是否是只读的(),是否会获取数据的所有权(),是否需要修改数据(
2024-12-10 08:33:21
515
原创 mongoDb的读session和写session权限报错问题
go在使用mongoDb时用到了全局会话,发现在创建的session的逻辑相同,首先会进行数据的查询,此时获取了全局session执行读操作,查询所有文档,则当前会话为读会话,当再去插入时发现会报错,此时session读会话不能执行写权限,起初不知什么原因就去测试,发现全局session创建后第一次使用的操作会影响它的操作权限,查询会话与写会话不一样,如果建立后使用的是写就为写权限如果执行查就查权限,去查的执行写报错,写的执行查的会话可以完成。
2024-12-09 09:46:42
534
原创 rust中使用actix-session时设置Cookie失败问题
通常无法设置cookie还有其他原因比如跨域问题,显然这里不是,只是在测试环境里使用默认https链接,对于一般开发环境使用http,这里没有使用跨域请求,如果使用了,需要在后端设置,还需要在前端设置允许请求携带cookie,特别是ajax请求。设置成 true 时,只有安全连接存在时才会设置 Cookie。解决:要解决无法设置cookie问题回归cookie的属性上,目前已经携带secure属性,要求是https的方式才能接收,现在要做的是将该属性去除或者设置false。setHeader设置的必要性。
2024-12-08 22:10:26
876
原创 使用docker让项目持续开发和部署
大多人选择开发时在本地,部署时文件都在容器里,如果没有容器,那就本地开发,没有映射文件,如果部署环境到容器了,容器内部启动时设置执行命令,再将映射的文件进行编译,这就直接能实现物理机到容器热更新,热更新是由插件在项目中实现,如java,物理机文件该了,容器内部就自动检测文件变更,然后自己在另外一个环境做事,但事实上本地并没编译,这样做外部环境和内部环境不同,用于随时删除启动新容器,如果是复用容器,直接把容器当开发环境,里面像java一样热部署效果会不会更好,但缺点是不兼容容器到镜像的更新,作者应该指出热更新
2024-12-07 03:50:26
387
原创 部署metric-server遇到的Metrics API not available
删除之前的部署,重新应用发现metrics-server成功起来,kuboard的ui前端也没报错,–kubelet-preferred-address-types优先使用 InternalIP 来访问 kubelet,这样可以避免节点名称没有 DNS 解析记录时,通过节点名称调用节点 kubelet API 失败的情况。这样就完成结点指标的采集和展示,内存的使用情况,可以远程监控内存,提前报警等动态感知,有关服务指标的更多使用内容可以去学习。查看容器日志和和创建过程描述发现。
2024-12-03 23:27:20
611
原创 loki一直处CrashLoopBackOff状态
2 部署loki的配置文件一直处在CrashLoopBackOff状态,查看pod的容器日志以及描述。使用loki+promtail+grafana搭建日志监控环境时报错。得到报错的结果,根据结果修改问题,这里是在创建pvs时权限存在问题。1 首先本地搭建文件服务系统参考地址。
2024-12-02 08:15:43
444
原创 k8s搭建Istio环境,案例pod一直处在Init:CrashLoopBackOff
刚刚执行的modprobe命令为手动加载,当重启操作系统后还需要再次加载,为了永久生效,我们可以在/etc/sysconfig/modules/下创建iptables.modules输入。1 部署calico网络环境,网上去找k8s版本对应的calico的配置文件,k8s2.8.0我用的3.28。设置sh /etc/sysconfig/modules/iptables.modules #临时生效。执行完成之后可以通过命令查看一下模块加载情况。查看日志基本没输出,查看描述如下。查看在创建阶段发生的问题。
2024-12-01 03:57:40
675
原创 k8s网络服务
kubectl expose deployment redis --type=NodePort --port=6379 暴露一个服务,并且它能实现负载均衡根据集群ip访问不同主机下的指定端口,但是这里有个问题,假如我的 k8s 里运行了多个 web 应用服务器,我总不能让用户通过端口号。1 kubectl port-forward service/redis 6379:6379 现在k8s中有一个pod运行在6379,本机访问映射到6379上,它可以针对部署,服务,pod类型,效果相同。
2024-11-24 23:31:44
595
1
原创 minikube单机k8s出现Listen: listen tcp :53: bind: permission denied
minikube start 或minikube start --force或。3 安装minikube需要docker环境,它会使用docker下载核心运行环境,5 常用minikube命令 minikube images ls 查看所有镜像。1.1 添加yum源,每个版本不一样,使用最新源。1.3 安装docker常用组件。1安装dockers。
2024-11-22 19:30:23
791
原创 lua脚本使用redis
3 更多redis-lua包的使用可以去官网找,给一个比较全的地址方便检索。看了一下目前就这个文章内容比较全,完全够使用。2 使用lua语言连接redis。
2024-11-20 15:40:30
566
原创 wsl虚拟机中的dockers容器访问不了物理主机
防火墙,杀毒软件等卸载安装更新的原因都会让之前的设置失效,突然无法访问宿主机,查看宿主机ip地址,可能有多个用 vEthernet (WSL):ok。进入wsl,ping vEthernet (WSL)对应的ip地址通过。以管理员身份运行cmd或Windows PowerShell,输入。设置防火墙允许ip地址访问。
2024-11-19 19:14:42
797
1
原创 vscode使用ssh配置docker容器环境
vscode中点击左下角选择连接到主机(远程)选择connect host remote ssh输入密码。接着修改ssh文件信息,将容器的10008端口暴露出来允许root用户使用ssh登录。docker exec -it /bin/bash。5 下载remote-ssh拓展,配置vscode,1 创建容器,并映射主机和容器的指定ssh服务端口。设置root账号的密码容器执行。4 设置开机自动启动ssh服务。3在容器中安装ssh服务。
2024-11-19 14:35:27
746
原创 etcd集群踢出成员启动不了问题
查看集群成员加入临时新节点,同时要配置好它的配置文件下次启动能正常工作。启动节点当启动好就根据配置文件信息,自动加入集群当中。
2024-11-17 00:15:33
214
原创 docker部署bitnami/etcd:latest
在网上各种各样的构建版本导致来源多样,直接从网上使用报错,以bitnami/etcd:latest为例,镜像的构建执行文件按配置文件可能与其他版本不同,官方推荐从网络构建镜像,但有人构建后挪动位置构建出来的不易使用。重点就是容器启动后的配置文件和数据文件的路径问题和可执行文件的位置,如何不对,容器启动失败。关于配置文件映射:后面的路径就是要确认的。
2024-11-16 16:38:43
850
原创 http.FileServer静态文件服务处理器和模板引擎使用
模板引擎html/template和text/template的使用差不多,前者处理格式文本内容和模板语法内容结合,后者处理模板文本内容,转化显示,工作量要少一些。template.ParseFiles解析多模板,柱模版负责展示,辅助模板负责局部引入渲染,使用ts.ExecuteTemplate(w, "index", nil)时要指定核心模板,如果找不到模板名就会不处理,模板名定义在解析的渲染文件中{{define "index"}}{{end}}
2024-11-16 14:46:42
711
原创 golang操作mysql基础驱动github.com/go-sql-driver/mysql使用
【代码】golang操作mysql基础驱动github.com/go-sql-driver/mysql使用。
2024-11-16 12:16:24
594
原创 golang中rpc
注意的是当服务端使用rpc.HandleHTTP()方式处理时客户但必须使用rpc.DialHTTP方式拨号,用rpc.Dial无法远程访问,`Accept`用来处理一个监听器,一直在监听客户端的连接,客户端断开服务端停止,如下使zh。问题拨号的方式rpc.Dial("tcp","ip")c客户端和服务端处理方式要一致否则客户端访问不了。他们的底层都是net网络包的功能。
2024-11-15 17:49:05
532
原创 负载均衡算法常见实现
遍历所有服务之后,如果当前的实例的curweight最大则就返回该实例,把最后该实例的curWeight-total赋值当前的CurWright意味刚调用过的会进入其他所有节点的权重总和的相反数,即去除权重的优势,每一个节点都会如此,直到下一轮又回到每个节点的curWight为0 0 0进入新循环。2curWeight是服务实例目前的权重,为了统一获取动态的最大值,每个实例权重都要动态变化,计算到都有可能最大值的标识,一开始都为0,之后会动态调整。
2024-11-09 18:06:23
261
原创 kong网关的使用
有关问题,进入kong容器内部,修改的配置文件无效被覆盖:因为kong会生成自己定义的配置文件去启动nginx,所以你在/usr/local/kong中的nginx-kong.conf修改的内容是生成式的,每次启动就没了,使用kong启动一个nginx的server方式很简单,在宿主机新建文件,具体内容参考。注意添加一个服务器指定的端口是在容器内部,如果kong没有暴露该接口对外是访问不了,你可以该8001然后定义一个路由返回内容。这些就能使你的kong像nginx和openresty一样工作和设置了。
2024-11-03 15:51:57
438
原创 垂直分库分表、水平分库分表
分出来的数据库的结构完全不一样,垂直分库,更像单体项目到问服务项目过度,根据业务拆分多个模块,每个模块把数据单独抽离出来作为数据库,垂直分库就是根据不同的表业务放在不同放数据库里,所有的表集合是原来的数据库表的整体。等价拆分多个数据库,每个数据库的功能一致,数据来的时候根据逻辑判断来决定记录所在的分库地址,所以分库的并饥集就是原始数据库。
2024-10-10 19:20:20
338
原创 linux中缓存,在kafka上应用总结
零拷贝:如上kafka读取文件会由操作系统读到页缓存,在读到kafaka的输入缓存,在同步到输出缓存用于写入其他设备,数据写操作会调用系统的块缓存写入,然后再把块缓存数据写到网卡中,这个过程比较耗时,从系统到kafka应用完成多次数据转译,称为多次拷贝,这个过程线程会跨用户态和核心态的代码存在切换额外保存数据的额外消耗。特权指令和非特权指令要求cpu切换状态,内核态和用户态的指令不能跨状体工作 ,切换效率低而且这是一次操作数据量大的时候性能就越低。
2024-10-04 12:01:48
500
原创 kafka
每一个kafka启动节点拥有一个zkClient当启动后像zk发送注册请求就集群id写入到zk中,并创建监听器监听是否有临时节点controller,如果没有就会创建controller并选举成为leader节点,创建新的监听器来监听集群id,并把自己的集群元数据发送到左右从节点中,如果主节点挂了,触发controller监听器会删除临时节点,其他节点在启动后也一直在监控,如果没有谁先创建临时controller节点谁竞选为leader节点,并发送消息给所有集群节点。1 kafka消息发送的方式。
2024-09-29 17:27:14
1267
原创 Etcd权限认证管理
9 使用root持有的读写角色tset权限操作资源key成功 ctl put key "test角色授予root用户为key键只读操作" --user=root:root root具有读写权限同时即便授予的权限不上指定的资源key,ront的用户同样可以操作,其他用户不具有。8 使用用户的权限 操作写入资源key失败(无权限)ctl put key "testR角色授予bowen用户为key键只读操作" --user=bowen:123。1 查看是否开启权限认证 ctl auth status。
2024-09-19 20:09:20
610
原创 golang中string底层数据结构与上层数据结构的关系
golang的字符串类型有string,rune,和[]byte几种表示,string的底层是基于byte数组实现,由操作系统分配基本的byte类型连续地址即字节数组,string使用底层的字符串头来描述字符串的数据在物理层的存储数据的地址类似有切片头拿string举例 reflect.StringHeader结构体描述两部分的内容一是字符串所在的物理地址二是字节能转译字符的长度如字母编码会转为1字节为字符汉字编码值会识别成utf8编码采取三字节编码成一个字符,并计算字符的长度,string的底层结构就是S
2024-09-13 19:29:14
578
1
原创 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
927
原创 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
484
原创 k8s中kubesphere开启devops总是报错解决
自己搭建过k8s集群遇到各种形式的报错,手动去解决,其实这都是由程序自动去解决的问题,由于自己的的失误导致问题不得不去亲自解决是虽然管用但费时费力,在kubersphere开启devops本身没什么问题,但由于虚拟机配置低导致由程序负责安装装的容器会不知名地报错,手动去解决,解决的只是意外的问题,所有新手在安装k8s环境的时候最需要的是冷静,等程序慢慢的跑和适应,这些由程序控制的程序,由网络电脑配置起作用,所以如果总是跑不起来并伴随系统卡慢不用想虚拟机配置太低,内存不够容器分配,容器总是宕机,所以新手在搭建
2024-07-14 02:44:49
657
原创 新版k8s拉取镜像失败问题
新版版从k8s1.23后放弃使用docker容器作为的默认运行时了,而是采用的containerd,使用时不在使用docker拉取镜像,这就带来了一系列的问题。解决镜像拉取问题(原因外网屏蔽拉取不到使用国内加速器)contained的配置文件在/etc/containerd/config.toml解决devops安装失败问题。查看安装器配置文件(devops已经关闭)找到如上registry的配置部分,加上阿里云的镜像加速配置。重启containerd。
2024-07-12 14:16:16
4707
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人