Golang 设置P 逻辑单元的数量

笔记  Go 

Go语言的并发模型是基于GMP模型(Goroutine、Machnie、Processor)的,其中:Goroutine(G):Go中的轻量级线程,由Go运行时调度。Machine(M):操作系统线程,与硬件CPU核心相关联。Processor(P):调度器中的一个逻辑单元,负责调度Goroutin

Protobuf 的基本数据类型

笔记  Go 

proto(Protocol Buffers,简称 Protobuf)是 Google 开发的一种轻量级、高效的数据序列化格式,用于结构化数据的存储和传输。在 Protobuf 中,数据通过 .proto 文件定义,文件中包含消息类型(message types)和字段类型(field types)

Go语言单例模式实现线程安全

笔记  Go 

在 Go 语言中,单例模式的实现与线程安全(Go 中称为 协程安全 或 并发安全)可以通过多种方式实现。以下是几种常见的方法:1. 使用 sync.Once(推荐)sync.Once 是 Go 标准库中专门设计用来确保某个操作只执行一次的机制,非常适合实现单例模式。package singleton

Golang rune类型

笔记  Go 

rune类型是int32类型的别名byte类型是uin8类型的别名Go语言中采用的是统一的UTF-8编码,英文字母在底层占一个字节,特殊字符和中文汉字则占用1~3字节

Golang获取IP归属地

笔记  Go 

数据库下载地址:https://github.com/P3TERX/GeoLite.mmdb?tab=readme-ov-filepackage addrimport ("fmt""net/netip""github.com/oschwald/max

RabbitMQ golang库封装

笔记  Go 

package rabbitmqimport ("context""fmt""log""sync""time"amqp "github.com/rabbitmq/amqp091-go&quo

RabbitMQ 削峰限流


建表:CREATE TABLE users ( id BIGINT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(255) NOT NULL UNIQUE, password_hash VARCHAR(255) NOT NULL,

RabbitMQ 可靠性传递


RabbitMQ 可靠性传递在 RabbitMQ 中,可靠性传递 是指确保消息从生产者发送到消费者过程中不会丢失。为了实现这一点,RabbitMQ 提供了多种机制来保证消息的可靠性传递。以下是实现 RabbitMQ 可靠性传递的关键策略:1. 消息持久化消息持久化是确保消息在 RabbitMQ 服务

RabbitMQ Topic 主题模式


Topic Exchange 是 RabbitMQ 中最灵活的一种交换机类型,它允许通过 通配符 的方式匹配 Routing Key 和 Binding Key,从而实现更复杂的消息路由规则。以下是关于 Topic Exchange 的详细说明:1. Topic Exchange 的核心概念Rout

RabbitMQ 路由模式


介绍什么是 Routing?Routing 是指消息从交换机传递到队列的规则。它决定了哪些队列会接收到消息。路由规则通常由以下两个因素决定:交换机类型:不同的交换机类型支持不同的路由规则。Binding Key:队列绑定到交换机时指定的路由规则。2. Routing 的核心组件交换机(Exchang