消息golang kafka

Golang(Go语言) 对windows进行注销、关机、重启、闪电关机、闪电重启的操作

有个小项目需要对windows系统进行远程电源操作,于是封装了以下代码方便使用。 目录结构如下: main.go package main import ( "fastshutdown/utils/power" "fmt" ) func main() { err := power.Shutdown( ......
windows 语言 Golang

kafka入门(三):kafka多线程消费

kafka消费积压 如果生产者发送消息的速度过快,或者是消费者处理消息的速度太慢,那么就会有越来越多的消息无法及时消费,也就是消费积压。 消费积压时,可以使用多线程消费,提高消费速度。 kafka多线程消费的代码: public class ThirdMultiConsumerThreadDemo ......
kafka 线程

5.Websocket实现消息推送

项目需要一个在线协同办公功能来进行消息实时推送,我采用SpringBoot结合Websocket来实现该功能。Websocket采用全双工通信方式,可以在客户端和服务端之间建立持久的连接,实现实时的双向通信。 相对于传统的HTTP请求,WebSocket具有以下优势: 实时性:Websocket提供 ......
Websocket 消息

Kafka集群调优+能力探底

一、前言 我们需要对4个规格的kafka能力进行探底,即其可以承载的最大吞吐;4个规格对应的单节点的配置如下: 标准版: 2C4G 铂金版: 4C8G 专业版: 8C16G 企业版: 16C32G 另外,一般来讲,在同配置下,kafka的读性能是要优于写性能的,写操作时,数据要从网卡拷贝至堆内存,然 ......
集群 能力 Kafka

golang的蓝牙通信库

github.com/tinygo-org/bluetooth: TinyGo是一个Go语言编译器,它专注于微控制器和小型计算机系统。这个库是TinyGo项目的一部分,用于支持蓝牙低功耗(BLE)设备。 github.com/go-ble/ble: 这是一个轻量级的Golang库,旨在简化与蓝牙低功 ......
golang

golang之媒体处理

[视频] 获取视频封面图: 1) 如果是使用oss的话, 可以添加指定的后缀生成指定图片 获取视频长度: 1)若是oss上的视频,则可以使用阿里云的IMM中的提取视频信息的服务 注意这里获取需要使用到签名之后获取对应的数据 这里使用基于阿里云oss包: github.com/aliyun/aliyu ......
媒体 golang

处理golang gin框架下载文件时中文文件名乱码问题

func Download(c *gin.Context) { c.Writer.WriteHeader(http.StatusOK) //设置文件类型 c.Header("Content-Type", "application/vnd.ms-excel;charset=utf8") // Path ......
文件 乱码 文件名 框架 golang

RabbitMQ 延迟消息的实现——延迟消息插件

步骤: 1. 把资料中的 rabbitmq_delayed_message_exchange-3.9.0.ez 复制到docker的mq容器的插件目录 2. 执行命令 docker exec -it mq rabbitmq-plugins enable rabbitmq_delayed_messag ......
消息 插件 RabbitMQ

RabbitMQ 延迟消息的实现——死信交换机(不推荐)

生产者给MQ发送 带过期时间的消息: @GetMapping("/mq07")public void sendTTLMessage(){ //第四个参数:后置消息处理器。用后置消息处理器给消息加过期时间 rabbitTemplate.convertAndSend("simple.direct", " ......
死信 交换机 RabbitMQ 消息

go-carbon v2.2.14 发布,轻量级、语义化、对开发者友好的 Golang 时间处理库

carbon 是一个轻量级、语义化、对开发者友好的 golang 时间处理库,支持链式调用。 目前已被 awesome-go 收录,如果您觉得不错,请给个 star 吧 github.com/golang-module/carbon gitee.com/golang-module/carbon 安装 ......
轻量 轻量级 语义 开发者 go-carbon

Golang使用kcp

安装 go get -u github.com/xtaci/kcp-go import ( "fmt" "github.com/xtaci/kcp-go" "golang.org/x/net/ipv4" "golang.org/x/net/ipv6" "net" ) // KCP 服务器 func ......
Golang kcp

单机ELK接收kafka日志环境搭建

单机ELK接收kafka日志环境搭建 1、安装elk单机环境 参考以下链接: 2、搭建kafka 下载kafka:https://archive.apache.org/dist/kafka/2.6.2/ 解压: tar -zxvf kafka_2.12-2.6.2.tgz mv kafka_2.12 ......
单机 环境 kafka 日志 ELK

消息队列入门 —— 以 Kafka 为例(一)

消息队列入门 —— 以 Kafka 为例(一) 概述 当我们的应用逐步变得庞大,各层应用之间调用关系越来越复杂,对系统的可用性以及可扩展性要求也越来越高。消息队列作为分布式系统架构中的一个关键中间件,提供了“消息传递”和“消息排队模型”,可以应用在系统解耦、异步处理、流量削峰等多个场景,有着举足轻重 ......
队列 消息 Kafka

RabbitMQ 消息转换器

代码示例: 1. 引入依赖 <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId></dependency> 2. 在启动类中创建Bean package ......
转换器 RabbitMQ 消息

消息转换器

Spring会把你发送的消息序列化为字节发送给MQ,接收消息的时候,还会把字节反序列化为Java对象。 只不过,默认情况下Spring采用的序列化方式是JDK序列化。众所周知,JDK序列化存在下列问题: 数据体积过大 有安全漏洞 可读性差c 配置JSON转换器 显然,JDK序列化方式并不合适。我们希 ......
转换器 消息

RabbitMQ 发送消息到交换机

发送消息到交换机的代码: @GetMapping("/mq02")//发送消息给交换机public void mq02(){ String exchangeName = "hmall.fanout"; String msg = "hello, 每个人"; //三个参数:交换机名称、RoutingKe ......
交换机 RabbitMQ 消息

RabbitMQ 接收队列的消息

代码示例: 注:要把这个类加上Component注解 package com.itheima.amqp_listener;import org.springframework.amqp.rabbit.annotation.RabbitListener;import org.springframewo ......
队列 RabbitMQ 消息

RabbitMQ 发送消息到队列(交换机不参与的那种)

1. 导包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId></dependency> 2.在 application.yml 文件里编 ......
队列 交换机 RabbitMQ 消息

了解Kafka

背景介绍 Kafka 是一个消息系统,原本开发自 LinkedIn,用作 LinkedIn 的活动流(Activity Stream)和运营数据处理管道(Pipeline)的基础。现在它已被多家不同类型的公司作为多种类型的数据管道和消息系统使用。LinkIn于2010年贡献给了Apache基金会并成 ......
Kafka

消息传递:管道和FIFO

一、简介 管道是没有名字的,管道创建的资源由内核管理,单个程序中不同进程通过管道描述符fd进行通信,对于程序和程序之间是无法通信的。 FIFO是有名字的(也称为 有名管道),每一个FIFO都有一个文件与之关联,但仅限于同一主机程序与程序之间通信,无法通过在NFS上创建FIFO通信。 二、管道 所有管 ......
管道 消息 FIFO

如何保证RocketMQ消息不丢失

一、概述 一个消息从开始到结束会经历这么三个阶段:生产阶段、消息队列Broker存储阶段和消费阶段。一个消息在三个阶段中的任何一个阶段都有可能丢失,知道这个之后,我们只要保证这三个阶段不出现问题,消息自然就不会出现丢失了。接下来我们来细说一下如何保证这三个阶段不出现问题。 二、生产阶段 生产阶段的使 ......
RocketMQ 消息

Golang中如何自定义时间类型进行xml、json的序列化/反序列化

在日常开发工作中,我们进行会遇到将 struct 序列化 json字符串以及将 json字符串 反序列化为 struct 的场景,大家也对此十分熟悉。 最近工作中,遇到了需要将 struct 序列化 xml字符串以及将 xml字符串 反序列化为 struct 的场景,对于普通类型的字段,比如int、 ......
序列 类型 时间 Golang json

Golang学习笔记-定时任务

指定具体时间执行 package main import ( "fmt" "time" ) func main() { // 指定执行时间为 2023-11-29 00:00:00 executionTime := time.Date(2023, time.November, 29, 0, 0, 0 ......
任务 笔记 Golang

12.kafka单集群安装部署

一.安装jdk ,kafka需要至少jdk8+ 1.安装jdk yum install java-11-openjdk.x86_64 -y 2.查看安装是否正常 [root@localhost bin]# java --version openjdk 11.0.21 2023-10-17 LTS O ......
集群 kafka 12

RabbitMQ:消息丢失 | 消息重复 | 消息积压的原因+解决方案

前言 首先说一点,企业中最常用的实际上既不是RocketMQ,也不是Kafka,而是RabbitMQ。RocketMQ很强大,但主要是阿里推广自己的云产品而开源出来的一款消息队列,其实中小企业用RocketMQ的没有想象中那么多。深层次的原因在于兔宝在中小企业普及更早,经受的考验也更久,很容易产生「 ......
消息 RabbitMQ 解决方案 原因 方案

golang http请求 tcp连接没有关闭

参考链接 https://studygolang.com/articles/3138 func dialTimeout(network, addr string) (net.Conn, error) { return net.DialTimeout(network, addr, time.Secon ......
golang http tcp

Golang-常见数据结构实现原理

chan 1.chan数据结构 src/runtime/chan.go:hchan定义了channel的数据结构: type hchan struct { qcount uint // 当前队列中剩余元素个数 dataqsiz uint // 环形队列长度,即可以存放的元素个数 buf unsafe ......
数据结构 原理 常见 结构 数据

RabbitMQ消息队列

一.什么是消息队列1.简介在介绍消息队列之前,应该先了解什么是 AMQP(Advanced Message Queuing Protocol, 高级消息队列协议,点击查看)消息(Message)是指在应用间 传送的数据,消息可以非常简单,比如只包含文本字符串,也可以更复杂,可能包含嵌入对象;而 消息 ......
队列 RabbitMQ 消息

kafka docker-compose 单节点部署

启动脚本 sed -i -r "s/[0-9]{1,3}(\.[0-9]{1,3}){3}/$(ifconfig $(ip route show default |head -1 |awk '{print $5}') |grep -oP '(?<=inet\s)\d+(\.\d+){3}')/g" ......
节点 docker-compose compose docker kafka

Docker + supervisor在同一容器中部署zookeeper和kafka

使用supervisor进程管理工具,在同一个容器中部署zookeeper和kafka 目录 Dockerfile jdk1.8.0_181.tar.gz kafka_2.12-1.1.0.tgz conf.d docker-compose.yml kafka_conf.d conf.d 中为sup ......
容器 supervisor zookeeper Docker kafka