自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 golang解析IPv4路由信息,将route print信息结构化输出

【代码】golang解析IPv4路由信息,将route print信息结构化输出。

2024-03-14 16:36:12 125

原创 golang之内存泄漏

内存泄漏(Memory Leak)并不是指物理上的内存消失,而是在写程序的过程中,由于程序的设计不合理导致对之前使用的内存失去控制,无法再利用这块内存区域,程序中已动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。如果发现程序内存泄漏了,解决起来也很简单退出程序,然后重启,不过对于对外提供服务的程序,肯定是不能接受的,那将导致服务中断,这是非常严重的事故。

2023-12-25 16:04:15 1057

原创 互联网不通时,goland中使用gopath

5.以需要"github.com/kardianos/service"包为例,从github下载下来为xxx.zip,解压后需将层次结构设置为src/github.com/kardianos/service。3.在goland的设置中点击Go Modules,关闭Enable Go modules integration。1.关闭Go Modules,在环境变量点击新建,变量名设置为GO111MODULE,变量值设为off。2.在goland编译器中终端输入go env查看GO111MODULE是否关闭。

2023-12-25 15:36:59 454

原创 golang调用dll的接口三种方式

(3)可将调用初始化接口后得到的handle返回,后续调用该dll中其他接口方法时就可直接使用handle.NewProc("接口方法名"),具体如下。(2)将string类型转换为uintptr类型的函数如下。(1)例如:调用callByReference接口函数。(1)例如:调用初始化接口函数进行初始化操作。(2)其中uintptrTostr函数为。(1)例如:调用获取数据接口函数。

2023-11-27 14:50:54 2445

原创 传统IO&page cahe&mmap的原理

mmap就是文件映射内存的系统调用一、传统IO方式基于传统的IO方式,底层实际上通过调用read()和write()来实现。把文件内容读入到内存中。 修改内存中的内容。 把内存的数据写入到文件中。通过read()把数据从硬盘读取到内核缓冲区,再复制到用户缓冲区;然后再通过write()写入到socket缓冲区,最后写入网卡设备,过程如下图。 图1...

2022-05-26 12:07:19 855

原创 k8s&kubesphere部署nacos集群

一、配置在kubesphere中创建名为nacos.conf的配置,将application.properties和内容,cluster.conf和内容分别以key和value填入。1.application.properties## Copyright 1999-2021 Alibaba Group Holding Ltd.## Licensed under the Apache License, Version 2.0 (the "License");# you may not

2022-03-17 19:43:06 1645

原创 K8s-Service

一、Service的ClusterIP模式--pod的服务发现和负载均衡kubectl expose deploy my-dep --port=8000 --target-port=80 --type=ClusterIP1.这次部署产生的这些pod统一暴露成一个统一的service服务地址,以后都来访问这个地址就可以负载均衡访问各个pod。2.上面代码的这种暴露就是--type=ClusterIP,其暴露的这些东西只能在集群内部访问,公网不能访问。二、Service的NodePort模

2022-03-02 16:30:10 384

原创 K8s-Deployment

一、当某些应用某些pod出现问题,就用kubectl describe pod 加上pod名描述下这些应用。二、deployment控制pod,使pod拥有多副本、自愈、扩缩容等能力。--自愈用kubectl delete pod 删除pod时,该pod会自愈。想完整删除该deployment需使用kubectl delete deploy。--扩缩容1.kubectl scale deploy/"需要修改的deploy的名称" --replicas=需要的数量2.ku

2022-03-02 11:28:18 1900

原创 对象存储osd以及存储分类

一、三种存储首先我们来看一看什么是对象存储?目前,独立的存储形态有三种:块存储、文件存储,以及新出现的对象存储。块存储我们简单的理解就是一块一块的硬盘,直接挂载在主机上,在主机上我们能够看到的就是一块块的硬盘以及硬盘分区。从存储架构的角度而言,块存储又分为DAS存储(Direct-Attached Storage,直连式存储)和SAN存储(Storage Area Network,存储区域网络)。文件存储,我们指的是在文件系统上的存储,也就是主机操作系统中的文件系统。我们知道,文件系统中有分区,有文件夹

2022-01-06 15:28:44 2338

原创 windows下GitHub明星k-v数据库项目rosedb的配置及运行

1.打开GitHub - roseduan/rosedb: ????A fast, stable and embedded k-v storage in pure Golang, supports string, list, hash, set, sorted set. 一个 Go 语言实现的快速、稳定、内嵌的 k-v 存储引擎。2.下载代码3.将代码解压后放入src目录下4.阅读README5.安装protoc在https://github.com/protocolbuff

2021-11-29 15:56:30 505

原创 读写互斥锁与互斥锁的使用例子

一、读写互斥锁package mainimport ( "fmt" "sync" "time")//读写互斥锁var ( x = 0 wg sync.WaitGroup lock sync.Mutex rwlock sync.RWMutex)func read() { defer wg.Done() rwlock.RLock() fmt.Println(x) time.Sleep(time.Millisecond) rwlock.RUn

2021-10-12 15:46:27 356

原创 k8s中Helm v3的安装

一、Helm介绍Helm是一个kubernetes的包管理工具,就像Linux下的包管理器,如yum/apt等,可以很方便的将之前打包好的yaml文件部署到kubernetes上。网上看了很多helm的安装教程,都是helm v2老版安装,还需要安装tiller客户端。在helm更新到v3以后,其删除了tiller客户端;release可以在不同命名空间重用;可将chart推送到docker仓库。二、Helm安装1.查看自己的k8s版本kubectl v...

2021-08-26 16:57:58 816 2

原创 (史上最完整)k8s和kubesphere搭建图文教程

搭建前的准备1.安装最小版的centos7.6系统安装过程参考如下:https://blog.csdn.net/qq_54331104/article/details/118944909(ps):在这里我们是在 Kubernetes1.17上安装 KubeSphere v3.0.0,如需详细知道版本兼容问题,参考kubesphere官网:https://kubesphere.com.cn/docs/quick-start/minimal-kubesphere-on-k8s/k8...

2021-07-26 21:50:18 10604 6

空空如也

空空如也

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

TA关注的人

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