文章 2025-02-19 来自:开发者社区

Golang 实现轻量、快速的基于 Reactor 模式的非阻塞 TCP 网络库

在 linux 环境下,gev 底层使用 epoll ,这是 gev 会专注优化的地方。在 mac 下底层使用 kqueue,可能不会过多关注这部分的优化,毕竟很少有用 mac 做服务器的(Windows 环境"暂"不支持)。 特点 基于 epoll 和 kqueue 实现的高性能事件循环 支持多核多线程 动态扩容 Ring Buffer 实现的读...

Golang 实现轻量、快速的基于 Reactor 模式的非阻塞 TCP 网络库
文章 2024-12-30 来自:开发者社区

Golang 里的 AES、DES、3DES 加解密,支持 ECB、CBC 等多种模式组合

Openssl encryption:OpenSSL库的功能包装,用于对称和非对称加密和解密。 AES-ECBAES-CBCDES-ECBDES-CBC3DES-ECB3DES-CBC 安装 go get -u github.com/forgoer/openssl 用法 AES 密钥的长度可以是16/24/32个字符(128/192/256位࿰...

文章 2024-07-28 来自:开发者社区

golang 的重试弹性模式怎么设计?

golang 的可重构弹性模式。 创建重试器需要两个参数: 重试间隔的时间(隐含重试次数) 决定重试哪些错误的分类器 仓库给的例子: go 代码解读 复制代码 r := retrier.New(retrier.ConstantBackoff(3, 100*time.Millisecond), nil) err :=...

golang 的重试弹性模式怎么设计?
文章 2024-07-01 来自:开发者社区

golang 的重试弹性模式

golang 的可重构弹性模式。 创建重试器需要两个参数: 重试间隔的时间(隐含重试次数) 决定重试哪些错误的分类器 仓库给的例子: go 复制代码 r := retrier.New(retrier.ConstantBackoff(3, 100*time.Millisecond), nil) err := r.Run(fu...

golang 的重试弹性模式
文章 2024-05-03 来自:开发者社区

Golang深入浅出之-Go语言中的异步编程与Future/Promise模式

在Go语言中,异步编程是通过goroutines和channels这一独特的并发模型来实现的,它允许程序在等待某些操作(如网络请求、文件读写)完成的同时继续执行其他任务。尽管Go标准库并未直接提供Future或Promise这样的抽象概念,但我们可以借鉴这些模式的思想,结合Go的特性来构建高效的异步处理逻辑。本文将探讨如何在Go中实现类似Future/Promise的异步编程模式,以及在实践中可....

Golang深入浅出之-Go语言中的异步编程与Future/Promise模式
文章 2024-05-01 来自:开发者社区

Golang深入浅出之-Go语言中的并发模式:Pipeline、Worker Pool等

Go语言以其简洁的并发模型而闻名,其中Pipeline和Worker Pool是最常用的两种并发设计模式。本文将深入探讨这两种模式的原理、常见问题、易错点以及如何有效避免这些问题,并通过实战代码示例加以说明。 Pipeline模式 Pipeline模式模拟了流水线的工作方式,数据像流水一样经过多个阶段的处理,每个阶段可能由不同的goroutine负责,从而实现高效的并行处理。 常见问题与避...

Golang深入浅出之-Go语言中的并发模式:Pipeline、Worker Pool等
文章 2024-01-25 来自:开发者社区

使用Go语言(Golang)可以实现MQTT协议的点对点(P2P)消息发送。MQTT协议本身支持多种消息收发模式

是的,使用Go语言(Golang)可以实现MQTT协议的点对点(P2P)消息发送。MQTT协议本身支持多种消息收发模式,其中包括发布/订阅(Pub/Sub)模式和点对点(P2P)模式。在Pub/Sub模式下,消息从一个或多个发布者(...

文章 2024-01-11 来自:开发者社区

Golang设计模式——01工厂方法模式

工厂方法模式优点定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类工厂方法克服了简单工厂违背开放封闭原则的缺点,又保持了封装对象创建过程的优点一个简单工厂的工厂类,变成一个工厂抽象接口和多个具体生产对象的工厂,于是我们要增加一个新的逻辑运算,就不需要更改原来的工厂类了,只需要增加此功能的运算类和对应的工厂类就可以了。缺点每增加一个产品,相应的也要增加一个子....

Golang设计模式——01工厂方法模式
文章 2024-01-11 来自:开发者社区

Golang设计模式——12中介模式

中介模式定义用一个中介者对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使耦合松散,而且可以独立地改变它们之间的交互。优点适当地使用中介者模式可以避免同事类之间的过度耦合,使得各同事类之间可以相对独立地使用。使用中介者模式可以将对象间一对多的关联转变为一对一的关联,使对象间的关系易于理解和维护。使用中介者模式可以将对象的行为和协作进行抽象,能够比较灵活的处理对象间的相互作用。缺....

Golang设计模式——12中介模式
文章 2024-01-11 来自:开发者社区

Golang设计模式——08模板模式

模板模式优点在方法中定义一套处理事务的通用逻辑(TemplateMethod),某些步骤交由子类实现。主要作用还是代码复用。模板方法定义了一个算法的步骤,并允许子类为一个或多个步骤提供具体实现、在一个方法中定义一个算法的骨架,并将一些具体步骤延迟到子类中实现。模板模式使得子类可以在不改变算法结构的基础上,重新具体定义算法中的某些步骤。简而言之,完成一件事情,有固定的数个步骤,但是会有步骤根据对象....

Golang设计模式——08模板模式

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

相关镜像
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等