Go 组件设计与实现--掘金小册课程推荐/优惠
版权声明
本站非掘金小册官网,与官方无任何关系。我们不提供课程下载或详细内容,仅作为课程分享和推荐平台。我们鼓励大家支持正版,尊重创作者的劳动成果,这样不仅能帮助创作者持续产出优质内容,也能让自己获得更好的学习体验。请通过官方渠道购买和学习课程,感谢您的理解与支持。
课程详情
课程介绍
作者介绍
你会学到什么?
- 熟悉网络库的相关知识,了解网络库的一般设计,分辨网络库的不同特点以及性能优化
- 了解 RPC 框架高扩展性的设计思路与实践,优雅支持更多横向能力
- 了解 GORM 的设计与实现原理,以及如何扩展及更好的服务业务
- 了解高性能 JSON 库 Sonic 概念、特性、类型以及其实现原理与 RCU 同步机制在编译缓存中的应用
小册介绍
随着互联网的快速发展,几乎所有公司都盛行“小步快跑,快速试错”的开发模式,这要求研发同学能更加快速高效地完成开发任务。因此,一个优秀的组件必不可少,它相当于一个模板代码库
,包含了很多基础性的功能和约定俗成的操作规范。有了它,我们只需要专心实现所需要的业务逻辑就可以,极大地提高了开发效率。
但是,在业务中真正应用各种组件的时候,我们经常遇到各种问题,比如说:
- 业务经常需要我们设计高性能网络库,提高组件的扩展性,不知道怎么操作
- 遇到一些组件的序列化性能差,却不知道该怎么优化
- 想要设计出适合自己业务的组件,不知道怎么入手
- ……
基于此,掘金携手4位字节跳动研发工程师,把 4 个已开源且成熟的组件设计与实现整合成可复制、可借鉴的内容,帮助大家快速掌握组件设计的要点与精髓
。具体来说,小册主要分为四个模块。
-
模块一:Netpoll 网络库设计与实现。 重点讲解 Netpoll 网络库的详细设计与性能优化思路,帮助大家熟悉网路库相关知识,分辨网络库的不同特点,掌握其正确使用方式。学习完本节能根据业务特点,选择最适合的网路库和能够自行设计网路库。
-
模块二:Go 微服务框架 Kitex 扩展性设计和实践。 以案例的形式分析框架演进的痛点及对 Kitex 的改造,包括 Kitex 扩展性的设计、实践与思考,从而优雅支持更多横向能力。
-
模块三:GORM 的设计与实现。 重点讲解 GORM 的设计实现与其思路,帮助大家更好地了解 GORM 的概念和工作原理,能够在做封装实现的时候给大家一定的启发。
-
模块四:高性能 JSON - Sonic JSON 库的使用、设计与实现。 通过讲解 Sonic 库的特性、JSON 的数据结构、基本类型和数据类型,帮助大家重点掌握 Sonic JIT 的实现原理与 RCU 同步机制在编译缓存中的应用。
适宜人群
- 具备 Go 语言开发经验;
- 拥有 RPC 开发或者网络编程经验;
- 使用过 ORM 或者数据库;
- 有一定的背景知识(如汇编语言、x86_64 指令集等内容);
- 对 JSON 有一定的了解。
课程目录
- 开篇词 | 厚积薄发,积累 Go 组件设计经验
- 网络库基础知识
- Netpoll 网络库的详细设计
- 网络库性能优化- poller 调度优化
- 网络库性能优化- Nocopy LinkBuffer 设计优化
- Kitex 可扩展性设计
- Go 微服务框架演进的痛点
- Kitex 扩展实践介绍
- Sonic JSON 与 JSON 的基本知识
- GORM 诞生的背景与工作原理
- GORM 的设计与实现
- 推荐配置与企业级封装与扩展应用
- Sonic 的设计与实现
- Sonic 使用介绍与最佳实践
- 高性能 JSON 的未来规划与展望