美文网首页
golang 进阶知识点

golang 进阶知识点

作者: 追梦人在路上不断追寻 | 来源:发表于2022-11-07 15:14 被阅读0次
    R-C (1).png

    Go 架构实践 - 微服务(微服务概览与治理)

    1. 微服务的原理、概念,以及微服务的实现细节

    2. API Gateway、BFF、Service 等概念精讲

    3. 微服务通讯 RPC 框架的细节和选型

    4. 多集群、多租户解决全链路压测、多测试环境等

    Go 语言实践 - 异常处理

    1. Go 语言中的 error 处理实践:检查错误、定义错误、追加上下文

    2. Go 项目中的业务错误码如何结合 error 的最佳实践

    Go 语言实践 - 并行编程

    1. 内存模型:Happens Before、同步语义、channel 通讯、锁

    2. 利用 channel 完成并行开发的设计模式,包含超时控制、管道、扇出、errgroup 并发

    3. 使用 Go 标准库 Context 的原理和最佳实践,包含超时控制、元数据传递、生命周期控制

    Go 工程化实践

    1. 良好的 Go 项目中的分层目录结构组织和代码规范

    2. Go 项目中 API 的设计原则和方法:定义、状态和业务错误码处理

    3. Go 项目中包的设计和最佳实践、go mod 的使用

    4. go test 工具链的使用方法、单元测试的最佳实践以及 Mock 技术

    Go 架构实践 - 微服务(可用性设计)

    1. 微服务的隔离实现,以及架构设计中的隔离实现

    2. 进程内超时控制和跨进程超时控制

    3. 程序自保护避免过载,抛弃一定的流量完成自适应限流

    4. 单机限流、多租户场景的分布式限流

    5. 节点故障的容错逻辑、重试容错的策略和设计

    评论系统架构设计

    1. 缓存的单飞加载,缓存的流控,缓存的优化技巧

    2. 缓存和存储的数据一致性设计,多级缓存的设计,热点缓存的应对

    3. 异步消息队列消峰设计

    播放历史架构设计

    1. 历史记录系统如何做架构设计和技术选型

    2. 历史记录系统设计中缓存、存储设计的方案

    3. 如何结合消息队列做数据持久化的优化

    4. 提升系统可用性的核心思想和技巧

    Go 架构实践 - 中间件(缓存、数据库)

    1. Redis、Memcache 的应用场景、最佳实践,以及缓存的一致性设计

    2. MySQL 的表设计、常用优化手段,以及如何解决分布式事务

    R-C.png

    Go 语言实践 - 网络编程

    1. epoll 和 select

    2. RPC 网络通信协议的设计思路

    3. 如何设计一个简单的通信协议

    Go 架构实践 - 中间件(日志、指标、链路追踪)

    1. 实现一个可以集中收集所有微服务实例的日志,并能统一查看和检索的日志采集架构

    2. 指标监控、使用 Prometheus 解决监控可视化、指标采集

    3. 微服务中的跨服务性能问题诊断,结合 Jaeger 实现分布式链路追踪

    Go 架构实践 - 分布式架构(前端负载均衡)

    1. DNS 的原理、防劫持的方法、HTTPDNS + IP 长连接

    2. CDN 的系统架构、应用领域以及保证数据一致性的方法

    3. LVS、Nginx 4/7 层负载均衡的原理和实践

    Go 架构实践 - 中间件(消息队列、服务发现)

    1. Kafka 的实现原理、异步消息系统的架构设计

    2. RPC 服务发现、动态地址的选型和实现原理,以及基于服务发现的平滑重启和多租户架构

    Go 语言实践 - Runtime

    1. Goroutine 的实现、GPM 调度模型、调度状态及流转、调度原理、协作式抢占以及和网络库的协作

    2. Go 内存分配的内部结构和分配机制

    3. Go GC 介绍、三色标记的实现原理、GC 的流程以及 GC 的一些优化方案

    4. Go channel 的通讯机制、环形队列的结构、调度和唤醒的原理

    相关文章

      网友评论

          本文标题:golang 进阶知识点

          本文链接:https://www.haomeiwen.com/subject/upnbtdtx.html