自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(317)
  • 资源 (1)
  • 收藏
  • 关注

原创 nebula-studio-nginx代理配置

【代码】nebula-studio-nginx代理配置。

2024-02-02 11:30:24 397

原创 centos7下编译时提示需要 libclang3.5 or later 解决办法

这样就可以安装最新版本了,记得旧的先删除。

2024-01-16 15:21:45 609

原创 golang 规则引擎gengine

gengine支持的语法,是完整的DSL语法(也可以当作是一门完整的语言),gengine规则执行出错时,gengine会指出具体的出错在哪一行.尽量帮助用户在使用gengine的每一个流程细节上,都有丝滑体验。在规则体中使用@id含义是,如果当前的规则名是可以转化为整数的字符串,则@id就是规则名的整数值,如果规则名字符串不可转化为整数,则@id的值为0.这个是为了方便用户以规则名作为整型参数。规则内定义的变量,只对当前规则可见,对其他规则不可见(局部变量)@name 主要是获取规则的名字的。

2023-12-18 17:17:28 866

原创 腾讯云部署服务问题汇总

但是返回的内容是http的 css js是无法加载的 会被浏览器屏蔽。做了转发的话jss css 是无法加载的 需要设置。腾讯云 放行后依然无法访问443。

2023-12-15 10:56:28 666

原创 rust从0开始写项目-06-如何接受命令行参数clap-01

写web项目或者app等,必不可少的要接受参数和校验参数的准确性,基本也是项目开始的第一步,那么我们今天来看下rust提供了哪些优秀的crates。我们可以使用 Command::action 方法来设置 参数行为。你也可以使用 command!我们可以使用 Command::subcommand 方法添加子命令。我们使用 Command::arg_required_else_help 如果参数不存在,优雅的退出。我们可以使用 Command::arg 方法来添加 Arg 对象来添加命令行参数。

2023-12-01 09:59:22 1539

原创 rust从0开始写项目-04-多样化错误处理

一个优秀的项目,错误处理的优雅性是至关重要的,而rust,anyhow creat是绕不过去的一个,今天我们来研究下,怎么使用它,帮助我们写出更优雅的代码。转换为其包含的具体错误类型的引用。这可以用于检查和处理特定类型的错误。中最重要的结构体,它是动态错误类型的包装器,能从所有实现了。类型的值,它可以接受字符串,格式化字符串作为参数,或者实现。,但是仅仅打印最外层错误或者上下文,而不是内层的错误;是可用的,就是底层的错误类型没有提供;的错误转换而来,也能转换成。要求包裹的错误必须是。打印外层和底层错误;

2023-12-01 09:57:48 933

原创 update传入struct对象,零值字段不更新问题

-

2023-11-30 10:40:10 412

原创 Golang GC导致的文件描述符不可用

https://blog.csdn.net/idwtwt/article/details/102985319

2023-11-30 10:39:05 378

原创 linux 安装mysql

https://www.toutiao.com/article/7305760784947298854/

2023-11-28 11:50:43 385

原创 rust-flexi_logger

flexi_logger

2023-11-28 11:49:42 748

原创 rust从0开始写项目-03-多样话错误处理

一个优秀的项目,错误处理的优雅性是至关重要的,而rust,anyhow creat是绕不过去的一个,今天我们来研究下,怎么使用它,帮助我们写出更优雅的代码。关注 vx golang技术实验室,获取更多golang、rust好文。其他结构也是支持的,例如 tuple、空struct 等等。为结构体或者枚举生成自定义错误消息,这将为它们实现。六、#[error(transparent)]只要在我们的错误结构体里面放个类型为。将它添加到自己的项目中,或者在。的字段,例如:这里是。,可为自定义错误实现。

2023-11-08 16:17:10 385

原创 rust从0开始写项目-读取配置文件

一个项目初始化,总是有几个元素是必不可少的、框架、日志、配置文件等等基本元素。专注分享 golang、rust等多语言、中间件及大数据相关内容。方法时进行初始化,并且后续的调用将重复使用已初始化的值。今天我们主要介绍下怎么获取配置并在全局使用。实例,而无需将其作为全局变量直接暴露出来。vx. golang技术实验室。一、读取cargo.toml文件内容。宏正常工作,您需要在代码的顶部添加。这使得宏在编译时能够正确展开。使用这种方式,您可以通过调用。三、读取自定义toml文件。二、读取.env文件。

2023-11-07 16:29:18 673 1

原创 docker-compose 安装kafka集群

Kafka是一种高性能的分布式流处理平台,它的集群工作原理如下:假设你是一个快递员,Kafka集群就是一个快递中转站。在这个中转站中,有很多个小窗口(Broker),每个窗口有一个工作人员(Broker)负责接收和分发快递。发送快递(Producer):你的工作是将快递从不同的地方收集起来,然后送到中转站的一个窗口。你可以一次送多个快递,每个快递都有一个编号(消息的键),内容(消息的值)和地址(主题)。你将这些快递递给窗口工作人员。

2023-08-09 14:27:47 922

原创 Ansible Playbook快速部署一主多从MySQL集群

原理很简单,但是其中涉及的关于操作MySQL的模块需要着重研究,还有关于template模板的用法也非常重要,在通过Ansible playbook部署一些更复杂的系统时,经常会用到使用template模板语法渲染不同的配置,实现更为复杂系统的部署。交互式配置,不输入即保持默认配置,如默认端口为3306,我自定义为33306,部署路径我自定义为/opt/software,其他的保持默认直接按回车。MySQL配置文件中的系统参数可以根据实际按需修改,以下配置只供参考,着重看一下文件中有标注的地方。

2023-08-09 14:21:47 1384

原创 go-resty

这里我们看一个三方库go-resty,一个优秀的 HTTP 客户端库,支持链式调用,超时控制,TLS,Cookie 管理,链接池,代理,支持多种认证方式包括基本认证和 OAuth 2.0,支持发送 JSON、XML 和 URL 编码的数据,文件上传和下载,支持发送大量请求并批量处理响应结果,同时提供简单易用的 API 接口。注意在使用某些认证方式时,需要提供相应的附加参数。需要额外依赖库:使用 go-resty 需要引入第三方库,而 net/http 则是 Go 标准库自带的,不需要额外引用。

2023-08-01 20:19:51 1371

原创 redis-cluster 创建及监控

在prometheus.yml添加两个job,redis_exporter和redis_exporter_targets,redis_exporter_targets才是真正监控redis集群的。:上面的命令只能在新创健集群的时候执行一次,目的是为了建立内部各个节点的对应关系,比如主从关系,这些关系仅且只能在一个集群中初始化时对应一次;REDIS_ADDR为你redis集群的其中一个节点即可,默认redis_exporter 使用9121端口!,连接7002服务,关闭redis,等待15秒。

2023-07-27 14:40:08 650

原创 自动化工具ansible部署和实践

ansible的功能ansible是一个基于Python开发的自动化运维工具,基于ssh协议实现远程管理,可以实现多种批量管理操作.批量系统配置批量软件部署批量文件拷贝批量运行命令批量管理服务特征管理端:不需要启动任何服务,默认服务端不需要任何的配置受控端:基于ssh免秘钥,没有客户端软件需要安装。

2023-07-05 10:14:08 365

原创 viper读取etcd热更新

项目启动肯定少不了配置文件,一般我们会放在单独的目录,例如config中,有yaml、ini、json等等格式,一般用开源的读取相应问的文件映射到结构体中。但是当一个项目秒杀频繁控制库存和限流策略等、或者其他需要频繁的变更配置文件的时候,就需要频繁的更改代码,打包,上线。时间成本高,实效性也低。所以一般都做配置热更新。做配置热更新的有很多consul、Firestore、etcd、也有redis等等KV存储,今天我们要讲的是viper和etcd的热更新操作。

2023-06-26 17:10:58 983

原创 supervisor-eventlistener

本文主要介绍 supervisor Event 的功能。supervisor 作为一个进程管理工具,在 3.0 版本之后,新增了 Event 的高级特性, 主要用于做(进程启动、退出、失败等)事件告警服务。Event 特性是将监听的服务(listener)注册到supervisord中,当supervisord监听到相应事件时,将事件信息推送给监听对应事件的listener。

2023-06-26 17:09:41 399

原创 docker安装kafka

Kafka是由Apache基金会开发的分布式流处理平台,采用发布-订阅模式,支持高吞吐量、低延迟的数据传输。主要用于处理实时数据管道、数据存储和数据分析等大数据应用场景。Kafka采用高效的数据压缩算法,可以在集群中存储大量的数据,并通过分区机制来实现数据的高可靠性和可扩展性。数据管道:在数据采集和分发过程中构建可扩展的流式数据管道,用于实时数据处理和分析。例如,数据收集、日志聚合、网络追踪、用户活动跟踪等。数据存储。

2023-06-17 17:39:02 3829

原创 通过 docker-compose 快速部署 Kafka 保姆级教程

Kafka是由Apache基金会开发的分布式流处理平台,采用发布-订阅模式,支持高吞吐量、低延迟的数据传输。主要用于处理实时数据管道、数据存储和数据分析等大数据应用场景。Kafka采用高效的数据压缩算法,可以在集群中存储大量的数据,并通过分区机制来实现数据的高可靠性和可扩展性。数据管道:在数据采集和分发过程中构建可扩展的流式数据管道,用于实时数据处理和分析。例如,数据收集、日志聚合、网络追踪、用户活动跟踪等。数据存储。

2023-06-12 15:23:44 4653

原创 docker 快速搭建elk

Docker搭建ELK步骤详解。

2023-05-30 11:18:58 2205

原创 mysql数据备份-主从同步恢复

备注:壹:xtrabackup备份还原速度极快,备份的是ibd文件。mysql的db文件30GB左右,30分钟以内完成备份还原。贰:备份还原过程,测试环境和正式环境xtrabackup版本、mysql版本需保持一致。

2023-05-30 09:46:06 1498

原创 Grafana + Prometheus监控

文章

2023-05-16 19:48:50 63

原创 mysql-cloudbeaver

配置nginx 然后进行用户和登录者管理配置就好。

2023-04-21 10:19:58 206

原创 docker-compose详讲

项目是docker官方的开源项目, 负责实现对docker容器集群的快速编排,来轻松高效的管理容器,定义运行多个容器。docker-compose将所管理的容器分为三层,分别是工程(project)服务(service)以及容器(containner)docker-compose运行目录下的所有文件(文件、extends文件或环境变量等)组成一个工程,如无特殊指定,工程名即为当前目录名。一个工程当中,可以包含多个服务,每个服务中定义了容器运行的镜像、参数、依赖。一个服务中可以包括多个容器实例,

2023-04-11 11:24:45 2291

原创 systemd 监控

systemd

2023-02-24 18:47:00 331

原创 linux 查看内核日志

journalctl

2023-02-24 18:41:25 157

原创 mac brew安装

mac brew安装

2023-02-21 10:14:52 349

原创 dbeaner安装问题

dbeaver安装问题

2023-01-06 14:46:34 161

原创 Go 语言私有依赖的拉取

go ssh 替换http拉取依赖

2022-12-19 15:27:01 1000

原创 如何排查CPU 100%的应用

一台机器,CPU100%,如何找到相关服务,如何定位问题代码,今天简单分享下思路。简要步骤如下:找到最耗CPU的进程;找到最耗CPU的线程;查看堆栈,定位线程在干嘛,定位对应代码;步骤一、找到最耗CPU的进程 工具:top方法:执行top -c ,显示进程运行信息列表键入P (大写p),进程按照CPU使用率排序图示:如上图,最耗CPU的进程PID为10765。步骤二:找到最耗CPU的线程 工具:top方法:top -Hp 10765 ,显示一个进程的线程运行信息列表键入P (

2022-12-12 14:59:05 6464

原创 viper读取etcd做配置热更新

概述 项目启动肯定少不了配置文件,一般我们会放在单独的目录,例如config中,有yaml、ini、json等等格式,一般用开源的读取相应问的文件映射到结构体中。但是当一个项目秒杀频繁控制库存和限流策略等、或者其他需要频繁的变更配置文件的时候,就需要频繁的更改代码,打包,上线。时间成本高,实效性也低。所以一般都做配置热更新。做配置热更新的有很多consul、Firestore、etcd、也有redis等等KV存储,今天我们要讲的是viper和etcd的热更新操作准备工作 我用的是mac m1安装

2022-10-19 17:28:56 849

原创 go操作文件大全

Go文件操作大全1 介绍 万物皆文件UNIX 的一个基础设计就是"万物皆文件"(everything is a file)。我们不必知道一个文件到底映射成什么,操作系统的设备驱动抽象成文件。操作系统为设备提供了文件格式的接口。Go语言中的reader和writer接口也类似。我们只需简单的读写字节,不必知道reader的数据来自哪里,也不必知道writer将数据发送到哪里。你可以在/dev下查看可用的设备,有些可能需要较高的权限才能访问。2 基本操作 2.1 创建空文件//创建新文件&nbs

2022-10-08 15:58:14 560

原创 Go 语言为什么建议 append 追加新元素使用原切片变量接收返回值?

介绍 在 Go 语言中,切片类型比较常用,将新元素追加到切片也比较常见,因此 Go 语言提供一个内置函数 append,该函数可以非常方便实现此功能。虽然 Go 语言内置函数 append 使用非常方便,但是使用不当会不小心掉入一些“坑”。本文我们介绍一下 Go 语言为什么建议 append 追加新元素使用原切片变量接收返回值?append 的“坑” 我们先看一段示例代码:func main() { a := make([]int, 0

2022-09-26 15:20:58 650

原创 benchstat让你的benchmark更精准

benchmark 测试是实际项目中经常使用的性能测试方法,我们可以针对某个函数或者某个功能点增加 benchmark 测试, 以便在 CI 测试中监测其性能变化,当该函数或功能性能下降时能够及时发现。此外,在日常开发活动中或者参与开源贡献时也有可能针对某个函数或功能点做一些性能优化,此时,如何把 benchmark 测试数据呈现出来便非常重要了,因为你很可能在优化前后执行多次 benchmark 测试,手工分析这些测试结果无疑是低效的。本节结合笔者在 Golang 社区参与开源贡献时的经历,介绍一下由

2022-09-23 10:54:47 611

原创 docker 容器健康检查

如何优雅的对 Docker 容器进行健康检查自 1.12 版本之后,Docker 引入了原生的健康检查实现。对于容器而言,最简单的健康检查是进程级的健康检查,即检验进程是否存活。Docker Daemon 会自动监控容器中的 PID1 进程,如果 docker run 命令中指明了 restart policy,可以根据策略自动重启已结束的容器。在很多实际场景下,仅使用进程级健康检查机制还远远不够。比如,容器进程虽然依旧运行却由于应用死锁无法继续响应用户请求,这样的问题是无法通过进程监

2022-09-09 10:25:30 1510

原创 保姆级k8s集群安装教程

作者:liugp出处:https://www.cnblogs.com/liugp/p/16357445.html一、前言二、基础环境部署1)前期准备(所有节点)2)安装容器 docker(所有节点)3)配置 k8s yum 源(所有节点)4)将 sandbox_image 镜像源设置为阿里云 google_containers 镜像源(所有节点)5)配置 containerd cgroup 驱动程序 systemd(所有节点)6)开始安装 kubeadm,kubelet 和 kubectl

2022-09-02 14:22:24 1503 1

原创 检测代码中泄漏的goroutine

goroutine 作为 golang 并发实现的核心组成部分,非常容易上手使用,但却很难驾驭得好。我们经常会遭遇各种形式的 goroutine 泄漏,这些泄漏的 goroutine 会一直存活直到进程终结。它们的占用的栈内存一直无法释放、关联的堆内存也不能被GC清理,系统的可用内存会随泄漏 goroutine 的增多越来越少,直至崩溃!Uber开源了goleak库可以帮助我们检测代码中可能存在的goroutine泄露问题;源代码: https://github.com/JasonkayZK/Go_

2022-09-01 16:17:21 781

原创 Es修改索引别名

es修改索引别名

2022-09-01 14:51:22 3188

mysql-实用-索引失效和优化原则

mysql-实用-索引失效和优化原则

2021-07-23

空空如也

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

TA关注的人

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