随笔分类 - GO
摘要:基本流程 连接到LDAP服务器并绑定到LDAP服务器;(一般以管理员用户绑定,权限更大) 在LDAP服务器上执行所需的任何操作; 释放LDAP服务器的连接; 安装库 // 安装go操作ldap库 go get "github.com/go-ldap/ldap/v3" 准备工作 准备配置结构体 pac
        阅读全文
                
摘要:Hertz 中定义的供用户使用的常量。 在 Hertz 中定义了一系列的常量以供用户使用,它们都位于 github.com/cloudwego/hertz/pkg/protocol/consts HTTP 请求方法 // HTTP methods were copied from net/http.
        阅读全文
                
摘要:Hertz 提供的钩子函数功能。 钩子函数(Hooks)是一个通用的概念,表示某事件触发时所伴随的操作。 Hertz 提供了全局的 Hook 注入能力,用于在服务触发启动后和退出前注入自己的处理逻辑。 阶段 执行方式 存储 签名 StartHook 端口监听器前执行 顺序依次执行 OnRun 属性存
        阅读全文
                
摘要:重试 Hertz 为用户提供的自定义重试逻辑。 Hertz 为用户提供了自定义的重试逻辑,下面来看一下 Client 的 Retry 使用方法。注意:Hertz 版本 >= v0.4.0 Retry 次数及延迟策略配置 首先创建 Client,使用配置项 WithRetryConfig() 来配置 
        阅读全文
                
摘要:正向代理 正向代理是一种特殊的网络服务,允许一个网络终端(一般为客户端)通过这个服务与另一个网络终端(一般为服务器)进行非直接的连接。 一些网关、路由器等网络设备具备网络代理功能。 一般认为代理服务有利于保障网络终端的隐私或安全,防止攻击。 一个完整的代理请求过程为:客户端(Client)首先与代理
        阅读全文
                
摘要:Hertz 停止服务时提供的优雅退出功能。 Hertz 支持优雅退出,优雅退出过程如下: 设置 engine 状态为 closed 顺序非阻塞触发回调函数 []OnShutDown(与标准包 net/http 一致),Select 等待回调函数执行完成或者超时返回 注册中心注销对应服务 关闭网络库的
        阅读全文
                
摘要:Hertz中间件的种类是多种多样的,简单分为两大类: 服务端中间件 客户端中间件 服务端中间件 Hertz 服务端中间件是 HTTP 请求-响应周期中的一个函数,提供了一种方便的机制来检查和过滤进入应用程序的 HTTP 请求 例如记录每个请求或者启用CORS。 中间件可以在请求更深入地传递到业务逻辑
        阅读全文
                
摘要:快速开始 package main import ( "context" "fmt" "github.com/cloudwego/hertz/pkg/app/client" "github.com/cloudwego/hertz/pkg/common/hlog" "github.com/cloudw
        阅读全文
                
摘要:Header // 设置响应的 Content-Type 头,告诉客户端返回的数据类型(如 "application/json")。 func (ctx *RequestContext) SetContentType(contentType string) // 设置响应的 Content-Type
        阅读全文
                
摘要:URI func (ctx *RequestContext) Host() []byte func (ctx *RequestContext) FullPath() string func (ctx *RequestContext) SetFullPath(p string) func (ctx *
        阅读全文
                
摘要:底层网络库 Hertz 默认集成了 Netpoll 和 Golang 原生网络库两个网络库,用户可以根据自己的场景选择合适的网络库以达到最佳性能。 Netpoll简介 Netpoll 是由 字节跳动 开发的高性能 NIO(Non-blocking I/O)网络库,专注于 RPC 场景。 RPC 通常
        阅读全文
                
摘要:路由注册 Hertz 提供了 GET、POST、PUT、DELETE、ANY 等方法用于注册路由。 方法 介绍 Hertz.GET 用于注册 HTTP Method 为 GET 的方法 Hertz.POST 用于注册 HTTP Method 为 POST 的方法 Hertz.DELETE 用于注册 
        阅读全文
                
摘要:server.Hertz 是 Hertz 的核心类型,它由 route.Engine 以及 signalWaiter 组成,Hertz 服务器的启动、路由注册、中间件注册以及退出等重要方法均包含在 server.Hertz 中。 以下是 server.Hertz 的定义: // Hertz is t
        阅读全文
                
摘要:简介 Hertz[həːts] 是一个 Golang 微服务 HTTP 框架,在设计之初参考了其他开源框架 fasthttp、gin、echo 的优势, 并结合字节跳动内部的需求,使其具有高易用性、高性能、高扩展性等特点,目前在字节跳动内部已广泛使用。 如今越来越多的微服务选择使用 Golang,如
        阅读全文
                
摘要:背景 在go中,模块或者库的拉取通常是使用的git,所以,有时候会出现拉取失败的请况 通常我们自己的代码可能是在自己的私有代码仓库,当我们需要拉取自己私有仓库中的模块的时候,会发现无法拉取 在公共代码仓库中的模块或者库是私有的,拉取时,会报无法找到 解决 这里需要依赖三个go中的环境变量 GOPRI
        阅读全文
                
摘要:背景 就突发奇想,Go的效率相对来说高一些,那我们可不可以用Go来给python写关键处理库呢 查了下,还真可以实现,只是障碍比较多,而且使用起来也比较麻烦,但是也还是能实现的 解决 用 Go 编写 Python 库可以通过 Cgo 或 C共享库 的方式实现。 Go 代码可以被编译为 C 兼容的共享
        阅读全文
                
摘要:NoSQL泛指非关系型数据库,如mongo,redis,HBase。 mongo使用高效的二进制数据存储,文件存储格式为 BSON ( 一种json的扩展,比json性能更好,功能更强大)。 MySQL中表的概念在mongo里叫集合(collection), MySQL中行的概念在mongo中叫文档
        阅读全文
                
摘要:简介 Zerolog 是一个高性能、零内存分配的 Go 日志库。 它为不需要垃圾回收的延迟敏感型应用程序提供结构化日志记录功能。 您可以以完全零分配的方式使用,这样在初始化记录器对象后,堆上不会再分配其他对象,从而防止触发垃圾回收。 Zerolog 包提供了一个专用于 JSON 输出的快速而简单的记
        阅读全文
                
摘要:简介 msgpack是一个基于二进制高效的对象序列化类库,可用于跨语言通信。 它可以像JSON那样,在许多种语言之间交换结构对象。 但是它比JSON更快速也更轻巧。 支持Python、Ruby、Java、C/C++、Go等众多语言。 宣称比Google Protocol Buffers还要快4倍。 
        阅读全文
                
摘要:官方库 https://github.com/elastic/go-elasticsearch 文档地址 Elasticsearch的文档 https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html 所有客户端
        阅读全文
                

 浙公网安备 33010602011771号
浙公网安备 33010602011771号