• pdf 文档 云原生go-zero微服务框架设计思考

    0 码力 | 29 页 | 5.70 MB | 9 月前
    3
    本文详细介绍了云原生微服务框架go-zero的设计原则、功能特性及其应用场景。go-zero旨在保持简单、弹性设计、工具大于约定和文档、约束做一件事只有一种方式、封装复杂度以对业务开发友好。其核心功能包括Web & RPC微服务框架、微服务代码生成工具goctl以及通用API定义规范。go-zero的由来源于单体服务的困局、架构选型及无痛切换的需求。其设计涵盖了客户端、API端、Service端、缓存层等多个层面,支持HTTP、gRPC协议,具备日志记录、加解密、鉴权、异常捕获、并发控制、数据统计、监控报警、链路跟踪、自动降载、自动熔断、超时控制等功能。go-zero通过Redis集群、MySQL集群、MongoDB集群、ClickHouse集群等实现数据存储,并通过ETCD集群实现服务发现。
  • pdf 文档 go-zero开源项目的成长史

    0 码力 | 31 页 | 4.83 MB | 9 月前
    3
    文档详细介绍了go-zero开源项目的发展历程,包括其从2013年起源到当前的发展阶段。go-zero在开源伊始便明确了发展路线和推广思路,通过找渠道、建社区、分析用户等方式逐步壮大。社区发展过程中,核心成员和热心成员的贡献至关重要,同时也要应对极个别极端成员。未来,go-zero将继续进行功能规划,并思考开源与商业化的平衡。文档还提到了go-zero的star增长趋势、contributors、用户群体以及质量标准等内容。
  • pdf 文档 Hello 算法 1.2.0 简体中文 Go 版 推荐

    0 码力 | 384 页 | 18.49 MB | 10 月前
    3
    《Hello 算法 1.2.0 简体中文 Go 版》是一本面向算法初学者的开源、免费教程,旨在通过动画图解和可运行的代码示例,帮助读者理解算法和数据结构的核心概念。书中内容涵盖复杂度分析、数据结构和算法三大部分,包括数组、链表、栈、队列、哈希表、树、堆、图等数据结构,以及搜索、排序、分治、回溯、动态规划、贪心等算法。本书强调实践的重要性,建议读者通过运行源代码和亲自编写代码来加深理解。此外,书中提供了丰富的动画图解和评论区,鼓励读者互助学习,共同进步。
  • pdf 文档 GoFrame框架介绍及设计

    0 码力 | 37 页 | 8.84 MB | 1 年前
    3
    文档介绍了GoFrame框架,一款模块化、高性能、企业级的Go开发框架。框架强调模块化设计,采用松耦合结构,提供丰富的模块和开箱即用的功能,注重简洁易用和快速接入。框架特点包括统一的开发规范、体系化设计、强大的开发工具链以及完善的本地化支持。文档详细阐述了框架的架构设计、模块管理方式、开发规范化以及组件统一化等核心内容,并讨论了框架在提升开发效率、降低维护成本和提高代码一致性方面的优势。
  • pdf 文档 Golang 入门笔记

    0 码力 | 2 页 | 511.29 KB | 1 年前
    3
    文档系统阐述了Golang的基础知识,包括数据类型、变量、运算符以及基本的数据结构如数组。详细介绍了Golang的语法基础,如关系运算符、逻辑运算符的使用,各类运算符的优先级,以及数值的进制表示和位运算。还涉及了指针、数组、切片、结构体等高级主题,以及程序流程控制的相关内容,包括循环语句、条件语句和函数的使用。
  • pdf 文档 如何消除程序中的数据竞争-周光远

    0 码力 | 30 页 | 1.92 MB | 1 年前
    3
    本文主要讲解了如何在Go语言中消除数据竞争的方法与实践。数据竞争的消除原理通过利用Go语言提供的'Happens Before'关系并结合传递性来实现。文中详细介绍了几种消除数据竞争的方法,包括使用互斥锁、原子操作、通道以及Sync包中的功能(如sync.Map、sync.Cond等)。此外,文中还分析了数据竞争的常见误区,例如标志变量的使用可能导致的问题,以及基础数据类型的数据竞争问题。通过硬件对数据竞争的行为限制,特别是针对int、float、bool等基础数据类型,指出即使大小匹配寄存器宽度,也无法保证修改后的数据立即被其他协程观察到。最后,结合sync.Map的示例展示了如何通过'Happens Before'关系消除数据竞争。
  • pdf 文档 如何向Go官方提交代码-蒙卓

    0 码力 | 38 页 | 5.95 MB | 1 年前
    3
    文档详细介绍了如何向Go官方提交代码的完整流程和相关要求,包括申请Google账号并签署CLA、注册Gerrit账号、安装go-codereview工具、克隆Go官方源代码、切换开发分支、提交修改等步骤。此外,还说明了不同类型的CL(如typo、新特性、bug、release-blocker)的处理方法及提交后的审核流程,包括TryBot测试、核心成员的CodeReview以及ChangeID的使用。
  • pdf 文档 Go性能优化概览-曹春晖

    0 码力 | 40 页 | 8.69 MB | 1 年前
    3
    本文概述了Go语言在生产环境中的性能优化方法,重点分析了CPU使用过高、内存占用过高和GC优化等问题,并提供了相应的优化策略。针对CPU使用高的问题,建议优化JSON序列化、减少MD5哈希使用以及优化调度函数;对于内存问题,提供了堆内存优化、sync.Pool对象复用和offheap内存管理等方法。此外,文档还提到了优化网络通信、减少goroutine数量以及监控和分析工具的使用。
  • pdf 文档 基于gRPC go实现消息发布订阅

    0 码力 | 31 页 | 2.42 MB | 1 年前
    3
    文档详细介绍了如何使用gRPC在Go语言中实现基于Topic的高效消息订阅发布模型。内容包括gRPC的四种通信模式及其应用场景、根据Proto文件生成Go桩代码的方法、订阅者动态注册机制、发布者消息推送流程以及现场案例演示。文档还阐述了gRPC的基本概念及其工作原理,包括服务定义、消息结构以及代码生成工具的使用。
  • pdf 文档 Go在工程实践的错误处理

    0 码力 | 30 页 | 3.11 MB | 1 年前
    3
    文档讨论了Golang在工程实践中的错误处理问题,包括错误信息不完善、错误码管理混乱、调试效率低下等。文档提到了优雅处理错误信息的方法,如日志高亮、错误信息封装、组件化处理框架等,并强调了错误信息手册的必要性,以便快速定位和解决问题。文档还指出了分布式错误处理中的挑战和解决策略。
共 94 条
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 10
前往