首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >软件架构师知识图&如何发布生产

软件架构师知识图&如何发布生产

作者头像
BUG弄潮儿
发布2025-06-29 10:55:58
发布2025-06-29 10:55:58
1940
举报
文章被收录于专栏:JAVA乐园JAVA乐园

软件架构师知识图

图片
图片
  • 掌握一门

编程语言 寻求掌握 1-2 种编程语言,例如 Java、Python、Golang、JavaScript 等。

  • 工具

熟练使用 GitHub、Jenkins、Jira、ELK、Sonar 等关键工具。

  • 设计原则

了解重要的设计原则,如 OOPS、Clean Code、TDD、DDD、CAP 定理、MVC 模式、ACID 和 GOF。

  • 架构原则

精通多种架构模式,如微服务、发布-订阅、分层、事件驱动、客户端-服务器、六边形等。

  • 平台知识

了解多个平台,例如容器、编排、云、无服务器、CDN、API 网关、分布式系统和 CI/CD

  • 数据分析

建立数据和分析组件的扎实知识,例如 SQL 和 NoSQL 数据库、Kafka 数据流解决方案、对象存储、数据迁移、OLAP 等。

  • 网络和安全

了解网络和安全概念,例如 DNS、TCP、TLS、HTTPS、加密、JWT、OAuth 和凭证管理。

  • 支持技能

除了技术,软件架构师还需要一些支持技能,例如决策、技术知识、利益相关者管理、沟通、估计、领导力等。

公司如何将代码运送到生产环境?

图片
图片

以下是从规划到生产的 11 个步骤:

  • 产品负责人通过在 Jira 等工具中创建用户故事来启动整个过程。
  • 开发团队执行 Sprint Planning 活动,并将用户情景添加到 Sprint。
  • 开发人员处理分配的故事。故事完成后,他们将代码提交到 Git 并将其推送到 GitHub。
  • Jenkins 通过测试和质量检查工具(如 JUnit、Jacoco 和 SonarQube)构建和运行代码。
  • 如果构建成功,则会将其存储在 artifactory 中,例如 JFrog。Jenkins 还通过 Docker 将构建部署到开发环境。
  • 接下来,该功能将部署到 QA 环境中。由于多个团队可能正在使用同一个代码库,因此将创建多个 QA 环境
  • QA 团队使用特定的 QA 环境并运行多种测试类型,例如 QA、回归和性能。
  • QA 验证完成后,功能将部署到 UAT(用户验收测试)环境。
  • UAT 测试验证功能是否满足用户的要求。
  • UAT 测试成功后,构建将成为候选版本。它们根据特定计划部署到生产环境。
  • SRE 团队使用 ELK 和 Prometheus 等工具来监控生产环境并在出现问题时处理警报。

提高 API 性能的 5 大常用方法

图片
图片
  • 结果分页

该方法用于优化大型结果集,将大型结果集推流回客户端,增强服务响应能力和用户体验。

  • 异步日志记录

此方法涉及将日志发送到无锁缓冲区并立即返回,而不是在每次调用时都处理磁盘。日志会定期刷新到磁盘,从而显著降低 I/O 开销。

  • 数据缓存

经常访问的数据可以存储在缓存中以加快检索速度。客户端在查询数据库之前检查缓存,Redis 等数据存储解决方案由于内存中存储而提供更快的访问。

  • 有效负载压缩

为了减少数据传输时间,可以压缩请求和响应(例如,使用 gzip),从而加快上传和下载过程。

  • 连接池

该技术涉及使用打开的连接池来管理数据库交互,从而减少每次需要加载数据时与打开和关闭连接相关的开销。该池管理连接的生命周期以实现高效的资源使用。

简化的 Git 工作流程

学习 Git 是每个开发人员的基本技能之一。以下是简单而基本的 Git 工作流程中的步骤。

图片
图片
  • 开发人员的工作目录 (未跟踪) 到暂存区 (索引)

相同的命令是git add。文件从未跟踪变为暂存。

  • 暂存区到本地存储库(头)

此移动的命令是 git commit -m message。它将更改保存到本地存储库 (HEAD),并标记版本历史记录。

  • 本地存储库到远程存储库 (Remote)

此移动的命令是 git push。它将提交的更改上传到远程存储库(例如 GitHub 上)以进行协作。

  • 远程仓库到本地仓库

命令 git pull 和 git fetch 有助于解决这个问题。git pull 使用远程更改更新本地文件。另一方面,git fetch 检索远程更改,但不合并它们。命令 git merge 组合来自不同分支的更改。

  • 检查差异

命令 git diff HEAD 显示开发人员的工作目录和最新提交之间的差异。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-06-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 BUG弄潮儿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 软件架构师知识图
  • 公司如何将代码运送到生产环境?
  • 提高 API 性能的 5 大常用方法
  • 简化的 Git 工作流程
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档