首页 > 编程语言 >不想做架构师的Gopher不是好程序员

不想做架构师的Gopher不是好程序员

时间:2023-04-10 16:55:25浏览次数:55  
标签:架构设计 架构 原则 系统 业务 Gopher 程序员 架构师

最近我们在组队学习《手把手带你写一个web框架》,强制PUSH,坚持每天学习打卡,不完成惩罚发红包的那种。

你别说,效果还真挺好。

昨天学到了架构部分,很受启发,光学不写假把式。(还是得坚持输出哇)

我站在大佬的肩膀上输出一篇总结文章出来,希望对大家有帮助:

概述

所谓架构,与一线开发最大的不同就在于是否有系统设计工作。架构师的价值已经不再体现在编码实现上,而更多地体现在设计上。

本文将重点介绍业务架构师和基础架构师的工作内容和职责,以及在架构设计中的重要性和作用。

业务架构师和基础架构师的职责

基础架构师主要负责基础服务的架构设计,这些服务是和业务无关的,包括数据库、缓存、队列等几乎所有业务都会使用到的服务。而业务架构师则主要负责让技术更好地服务业务。

在架构设计中,实现一个功能的方法有很多种,但是最符合自身业务的技术选型才是最优的。因此,业务架构师必须了解业务特点和需求,从而做出最优的技术决策。而基础架构师则需要深入了解基础服务的特点和性能,以及如何为业务提供最优的基础架构支持。

合作与沟通

对于技术人员而言,最终的技术能力模型应该是一个大T字形,即在某个领域有足够的深度,在多个领域有足够的广度。因此,虽然基础架构师和业务架构师具有不同的技术背景和专业领域,但两者之间的交流和合作至关重要。只有通过合作,才能确保系统的整体性和稳定性。

不管你的能力有多强,接手新的业务时,前三个月尽量不要做大的架构级别的修改,因为不熟悉业务,没有足够时间了解一线的代码逻辑,是不可能做出好的架构调整的。

架构设计中的原则和规律

基础架构的同学更大可能是往技术专家方向发展。他们对技术的成就感更多来源于为某个软件或某种语言增加特性,比如会追求成为 Apache PMC、微软的 MVP 等。他们的研究有可能改变某个技术行业。如果想走这个方向,必须热衷于某个技术行业。

《系统架构 - 复杂系统的产品设计与开发》这本书告诉读者如何做出一套思考系统架构的方式,即一些思考系统的原则和定律。整理一下对我有启发的原则:

  1. 歧义原则:系统架构的早期阶段充满了歧义。架构师必须解决这种歧义,以便给架构团队定出目标并持续更新该目标。
  2. 架构师角色原则:架构师的角色是解决歧义,专注创新,并简化复杂度。
  3. 架构决策原则:要把架构决策和其他决策分开,并且要提前花一些时间来谨慎地决定这些问题,因为以后如果要想变更会付出很大的代价。
  4. Conway 定律:设计系统的组织,总是会产生出与该组织的沟通结构相同的设计。
  5. 产品进化原则:系统必须进化,否则就会失去竞争力。因此,在架构设计中,必须考虑系统的可扩展性和可维护性,以适应未来业务的变化和发展。
  6. 2下1上原则:要想判断对level1所做的分解是否合适,必须再向下分解一层,以确定level2中的各种关系。

这些原则和规律对于架构师的工作非常有帮助,可以帮助他们更好地理解系统架构,做出更优秀的设计。

结论

总之,业务架构和基础架构在架构设计中扮演着不同的角色和职责,但两者之间的合作是非常必要的。

架构师必须具备足够的技术深度和广度,以及良好的沟通和合作能力,才能为企业构建稳健和可靠的系统架构。

标签:架构设计,架构,原则,系统,业务,Gopher,程序员,架构师
From: https://www.cnblogs.com/wangzhongyang/p/17303466.html

相关文章

  • 3.程序员的自我修养 - 完结
    目录第七章动态链接7.1动态链接的实现过程7.2动态链接的步骤和实现第八章Linux共享库的组织第九章Windows下的动态链接9.1DLL简介9.2DLL优化9.3DLLHELL第十章内存10.1程序的内存布局10.2栈的调用惯例10.3堆与内存管理第十一章运行库11.1入口函数和程序初始化11.2C/C++运行库......
  • 2.程序员的自我修养 - 静态链接与程序装载
    目录 第二章静态链接2.1程序编译的过程第三章目标文件的格式3.1目标文件的格式3.2目标文件具体内容3.3ELF文件结构3.4重定位表3.5字符串表3.6链接的接口3.7弱符号与强符号第四章静态链接4.1空间与地址分配4.2符号解析与重定位4.3COMMON块4.4C++相关问题4.5链接控制脚本第五章W......
  • 1.程序员自我修养 - 绪论1
    1.1南北桥      为了协调CPU、内存和高速的图形设备,设计了高速北桥芯片;同时为了协调磁盘、USB、键盘等低速设备,设计了南桥低速芯片。现代计算机北桥已集成到CPU内部,南桥一般指现在的芯片组,新名称为PCH(PlatformControllerHub)。北桥:适配高速设备。北桥芯片则主要是集成了......
  • 程序员面试金典---2
    回文排列思路:回文排列的特征之一就是如果字符串中每个字符的个数都是两个,或者只有只有一个字符个数为奇数个。只有上述两种结果。classSolution:defcanPermutePalindrome(self,s:str)->bool://将字符串转成个数字典s_dic=Counter(s)/......
  • 不要做一个傲慢的程序员
    万事通不会在这个职业中走得太远。昨天,另一位开发人员向我描述了一个问题。看起来应该很简单。所以,我这样告诉他。那是个大错误。问题,而不是陈述我以为我知道答案。但这个问题一直困扰着一位非常聪明的工程师。我应该更明智地考虑我的话。当您遇到新问题时,请在开始陈述之前......
  • 程序员的数学1-1 进制转换
    进制转换人们正常接触的数字为十进制格式,但是电脑读取的格式为0或1即二进制表示。  引用程序员的数学1-p3   引用程序员的数学1-p6 反之,求余求几进制的转换就取几进制的余数  引用程序员的数学1-p7C语言的实现  C语言进制转换代码二进制转换为十......
  • 程序员如何与ChatGPT携手作战
    黄昏将至,还是黎明到来?ChatGPT大火,使得程序员对于”35岁危机“的担忧又加一层:如何在35岁之前避免被AI淘汰?因为ChatGPT擅长语言逻辑类的工作,这不正是程序员擅长的事情么?这不是要先革了程序员的命么?哎,人生真难。实际上,ChatGPT并无意于淘汰任何人,它只是一种更为先进的工具。这......
  • TOTAL:AWS 认证解决方案架构师助理 (SAA-C03)
    TOTAL:AWS认证解决方案架构师助理(SAA-C03)超值:通过AWSCertifiedSolutionsArchitect–AssociateSAA-C03考试+AWSEssentials和2次免费练习考试课程英文名:TOTALAWSCertifiedSolutionsArchitectAssociate(SAA-C03)此视频教程共15.9GB,中英双语字幕,画质清晰无......
  • #yyds干货盘点# LeetCode程序员面试金典:四数之和
    题目:给你一个由n个整数组成的数组 nums,和一个目标值target。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a],nums[b],nums[c],nums[d]] (若两个四元组元素一一对应,则认为两个四元组重复):0<=a,b,c,d <na、b、c和d互不相同nums[a]+nums[b]+nums[c]......
  • 架构师日记-为什么数据一致性那么难
    作者:京东零售 刘慧卿一前言在现代大型分布式软件系统中,有一个绕不过去的课题,那就是如何保证系统的数据一致性。著名的Paxos算法(Megastore、Spanner),Raft协议(ETCD、TiKV、Consul),ZAB协议(ZooKeeper)等分布式一致性解决方案,都是在此背景下而诞生的。数据一致性保障为什么难呢?先来看一......