随笔分类 - 后端 golang 开发
摘要:[xxx客户公司名称] 购物电商平台概要设计说明书 一、引言 1.1、编写目的 本概要设计说明书旨在基于需求规格说明书,对 `[xxx客户公司名称]购物电商平台` 进行总体架构设计、数据结构及数据库设计,为后续的详细设计和开发工作提供清晰的指导框架,确保系统开发符合客户需求并具备良好的可扩展性和可维
阅读全文
摘要:[xxx客户公司名称] 购物电商平台需求规格说明书 一、引言 1.1、编写目的 本需求规格说明书旨在详细阐述客户对于开发自家购物电商平台的需求,为后续的设计、开发、测试等工作提供明确的指导依据,确保最终交付的电商平台能够满足客户的业务需求和期望。 1.2、项目背景 客户拥有实体门店,主要转售母婴产品
阅读全文
摘要:打造属于自己的工具集:深入探索 Go 语言中的 Cobra 库 在编程的世界里,处理命令行参数是一项非常基础且重要的任务。无论你是编写一个简单的脚本还是开发一个复杂的应用程序,都可能需要从命令行接收用户输入。在Go语言中,虽然标准库中的flag包为我们提供了一种简洁的方式来解析命令行参数,但在构建更
阅读全文
摘要:打造属于自己的工具集:深入探索 Go 语言中的 flag 库 在编程的世界里,处理命令行参数是一项非常基础且重要的任务。无论你是编写一个简单的脚本还是开发一个复杂的应用程序,都可能需要从命令行接收用户输入。在Go语言中,标准库中的flag包为我们提供了一种简洁而强大的方式来解析命令行参数。本文将带你
阅读全文
摘要:远程过程调用 RPC——高性能的 gRPC(实践案例) gRPC,这一由Google推出的高性能、开源、通用RPC框架,凭借其众多引人注目的特性,已成为业界瞩目的焦点。它基于HTTP/2协议标准设计开发,并采用Protocol Buffers作为默认的数据序列化协议,广泛支持多种编程语言。gRPC不
阅读全文
摘要:远程过程调用RPC——优化RPC调用, 缓解频繁请求导致的GC压力 在Go语言的高并发和微服务架构中, 远程过程调用(RPC)是一种常用的通信机制。然而, 当频繁发送RPC请求时, 不断创建Request和Response结构体可能会带来额外的垃圾收集(GC)压力, 进而影响应用的性能和响应时间。为
阅读全文
摘要:远程过程调用 RPC——客户端处理RPC请求的原理及源代码分析 客户端无论是同步调用还是异步调用, 每次RPC请求都会生成一个Call对象, 并使用seq作为key保存在map中, 服务端返回响应值时再根据响应值中的seq从map中取出Call, 进行相应处理。 客户端发起RPC调用的过程大致如下所
阅读全文
摘要:远程过程调用 RPC——服务端处理RPC请求的原理及源代码分析 RPC网络调用会使用到Request和Response两个结构体,分别是请求参数和返回参数,通过编解码器(gob/json)实现二进制和结构体的互相转换,它们的定义如下所示: 在Go语言的RPC服务端,一个持续运行的循环不断地监听并接收
阅读全文
摘要:远程过程调用 RPC——服务端注册源代码实现原理分析 rpc server demo代码参考我前一篇博文:https://www.cnblogs.com/zuoyang/p/18146870 RPC Server端的RPC代码架构主要由两大部分构成: 第一部分是服务方法的注册过程。在这个过程中, 我
阅读全文
摘要:远程过程调用 RPC —— 实践案例:Go语言RPC过程调用实践 Go语言的官方RPC库net/rpc为开发者提供了实现远程过程调用的强大功能,使得通过网络访问对象的方法成为可能。这种机制极大地促进了分布式系统的构建,让不同的服务能够轻松地进行相互通信和协作。 在使用Go的RPC库时,服务器需要注册
阅读全文
摘要:远程过程调用 RPC——RPC相关的基础知识和原理 在微服务架构中,各个服务实例专注于处理特定业务领域的逻辑。为了实现整体业务流程,这些服务实例之间必须进行频繁的交互。它们之间的通信依赖于轻量级的远程调用方式,如RPC(远程过程调用)和HTTP。尽管HTTP是应用层协议,但RPC在网络协议方面具有更
阅读全文
摘要:Go Redis专题精讲 一、介绍 https://github.com/redis/go-redis 1.1、客户端列表 go-redis提供各种类型的客户端: Redis 单节点客户端 Redis 集群客户端 Redis 哨兵客户端 Redis 分片客户端 Redis 通用客户端 go-redi
阅读全文
摘要:使用包实现代码重用 本章介绍如下内容。 导入包。 使用第三方包。 安装第三方包。 管理第三方依赖。 创建包。 在 Go 语言中,包用于将代码编组,以便在 Go 程序中导入并使用它们。 1.1 导入包 为方便理解如何导入并使用包,先来个简单的程序。 package main import { "fmt
阅读全文
摘要:esm(An Elasticsearch Migration Tool)—— v7.go https://github.com/medcl/esm release: v0.6.1 通过阅读好的源代码,细致思考,理性分析并借鉴优秀实践经验,提高 zuoyang 的编程水平,所谓 "他山之石,可以攻玉"
阅读全文
摘要:esm(An Elasticsearch Migration Tool)—— v6.go https://github.com/medcl/esm release: v0.6.1 通过阅读好的源代码,细致思考,理性分析并借鉴优秀实践经验,提高 zuoyang 的编程水平,所谓 "他山之石,可以攻玉"
阅读全文
摘要:esm(An Elasticsearch Migration Tool)—— v5.go https://github.com/medcl/esm release: v0.6.1 通过阅读好的源代码,细致思考,理性分析并借鉴优秀实践经验,提高 zuoyang 的编程水平,所谓 "他山之石,可以攻玉"
阅读全文
摘要:esm(An Elasticsearch Migration Tool)—— v0.go https://github.com/medcl/esm release: v0.6.1 通过阅读好的源代码,细致思考,理性分析并借鉴优秀实践经验,提高 zuoyang 的编程水平,所谓 "他山之石,可以攻玉"
阅读全文
摘要:esm(An Elasticsearch Migration Tool)—— scroll.go https://github.com/medcl/esm release: v0.6.1 通过阅读好的源代码,细致思考,理性分析并借鉴优秀实践经验,提高 zuoyang 的编程水平,所谓 "他山之石,可
阅读全文
摘要:esm(An Elasticsearch Migration Tool)—— log.go https://github.com/medcl/esm release: v0.6.1 通过阅读好的源代码,细致思考,理性分析并借鉴优秀实践经验,提高 zuoyang 的编程水平,所谓 "他山之石,可以攻玉
阅读全文
摘要:esm(An Elasticsearch Migration Tool)—— http.go https://github.com/medcl/esm release: v0.6.1 通过阅读好的源代码,细致思考,理性分析并借鉴优秀实践经验,提高 zuoyang 的编程水平,所谓 "他山之石,可以攻
阅读全文

浙公网安备 33010602011771号