本周系统设计复习:
- 什么是数据管道?为什么如此流行?
- 从初级到高级开发者的 11 个步骤
- 8 个必知 Docker 概念
- 典型微服务架构是什么样的?
- 10 大最流行开源数据库
从初级到高级的 11 个步骤
1. 协作工具
软件开发是社交活动。学会使用协作工具如 Jira、Confluence、Slack、MS Teams、Zoom 等。
2. 编程语言
选择并精通一到两种编程语言。从选项如 Java、Python、JavaScript、C#、Go 等中选择。
3. API 开发
学习 API 开发方法的来龙去脉,如 REST、GraphQL 和 gRPC。
4. Web 服务器和托管
了解 Web 服务器以及云平台如 AWS、Azure、GCP 和 Kubernetes。
5. 认证和测试
学习如何用认证技术如 JWT、OAuth2 等保护你的应用。此外,掌握测试技术如 TDD、E2E 测试和性能测试。
6. 数据库
学会使用关系型(Postgres、MySQL 和 SQLite)和非关系型数据库(MongoDB、Cassandra 和 Redis)。
7. CI/CD
选择工具如 GitHub Actions、Jenkins 或 CircleCI 学习持续集成和持续交付。
8. 数据结构和算法
掌握 DSA 基础,主题如 Big O 表示法、排序、树和图。
9. 系统设计
学习系统设计概念,如网络、缓存、CDN、微服务、消息、负载均衡、复制、分布式系统等。
10. 设计模式
掌握设计模式的应用,如依赖注入、工厂、代理、观察者和外观。
11. AI 工具
为未来-proof 你的职业生涯,学会利用 AI 工具如 GitHub Copilot、ChatGPT、Langchain 和提示工程。
8 个必知 Docker 概念
下图显示了 Docker 的核心概念。
Dockerfile:包含构建 Docker 镜像的指令,通过指定基础镜像、依赖和运行命令。
Docker 镜像:轻量级、独立包,包括运行你的应用所需的一切(代码、库和依赖)。镜像从 Dockerfile 构建,可以版本化。
Docker 容器:Docker 镜像的运行实例。容器彼此隔离并与主机系统隔离,为运行你的应用提供安全和可重现的环境。
Docker 注册表:存储和分发 Docker 镜像的集中仓库。例如,Docker Hub 是默认公共注册表,但你也可以设置私有注册表。
Docker 卷:一种持久化容器生成数据的方式。卷在容器的文件系统之外,可以在多个容器之间共享。
Docker Compose:用于定义和运行多容器 Docker 应用的工具,使管理整个栈变得容易。
Docker 网络:用于实现容器之间和主机系统的通信。自定义网络可以隔离容器或启用选择性通信。
Docker CLI:与 Docker 交互的主要方式,提供构建镜像、运行容器、管理卷和执行其他操作的命令。
典型微服务架构
下图显示了典型微服务架构。
核心组件
负载均衡器:在多个后端服务之间分发传入流量。
CDN(内容分发网络):CDN 是一组地理分布的服务器,持有静态内容以更快速交付。客户端首先在 CDN 中查找内容,然后进展到后端服务。
API 网关:处理传入请求并将它们路由到相关服务。它与身份提供商和服务发现对话。
身份提供商:处理用户的认证和授权。
服务注册和发现:微服务注册和发现发生在此组件中,API 网关在此组件中查找相关服务以对话。
管理:此组件负责监控服务。
微服务:微服务在不同领域设计和部署。每个领域有自己的数据库。
10 大最流行开源数据库
此列表基于采用率、行业影响力和开发者社区中数据库的普遍意识等因素。
- MySQL
- PostgreSQL
- MariaDB
- Apache Cassandra
- Neo4j
- SQLite
- CockroachDB
- Redis
- MongoDB
- Couchbase
本文为学习目的的个人翻译,译文仅供参考。
原文链接:EP116: 11 steps to go from Junior to Senior Developer。
版权归原作者或原刊登方所有。本文为非官方译本;如有不妥,请联系删除。