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

你别说,效果还真挺好。

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

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

概述

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

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

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

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

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

合作与沟通

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

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

架构设计中的原则和规律

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

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

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

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

结论

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

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

不想做架构师的Gopher不是好程序员的更多相关文章

  1. 阿里P8架构师讲述:3—5年程序员的发展和出路在哪里?

    工作3—5年后,程序员们的成长将迈入一个全新阶段.这既是程序员们的黄金时期同时又是最迷茫的时期,因为大家必须要要思考一下今后的职业方向. 3—5年程序员的发展和出路在哪里? 是继续做技术人,还是向管理 ...

  2. 关于一致性hash,这可能是全网最形象生动最容易理解的文档,想做架构师的你来了解一下

    问题提出 一致性hash是什么?假设有4台缓存服务器N0,N1,N2,N3,现在需要存储数据OBJECT1,OBJECT2,OBJECT3,OBJECT4,OBJECT5,OBJECT5,OBJECT ...

  3. 和Java相关的书籍,想成为架构师的请收藏一下啊

    1.<<Effective Java 中文第二版>> 2.<<Java并发编程实践>> 3.<<Java核心技术(原书第8版)卷I_基础知识 ...

  4. 菜鸟要做架构师(二)——java性能优化之for循环

    完成同样的功能,用不同的代码来实现,性能上可能会有比较大的差别,所以对于一些性能敏感的模块来说,对代码进行一定的优化还是很有必要的.今天就来说一下java代码优化的事情,今天主要聊一下对于for(wh ...

  5. 看完这篇微服务架构设计思想,90%的Java程序员都收藏了

    本博客强烈推荐: Java电子书高清PDF集合免费下载 https://www.cnblogs.com/yuxiang1/p/12099324.html 微服务 软件架构是一个包含各种组织的系统组织, ...

  6. 【转载】java架构师进阶之路

    Java架构师,应该算是一些Java程序员们的一个职业目标了吧.很多码农码了五六年的代码也没能成为架构师.那成为Java架构师要掌握哪些技术呢,总体来说呢,有两方面,一个是基础技术,另一个就是组织能力 ...

  7. 成为JAVA架构师必看书籍推荐

    原创文章 “学习的最好途径就是看书“,这是我自己学习并且小有了一定的积累之后的第一体会.个人认为看书有两点好处: 1.能出版出来的书一定是经过反复的思考.雕琢和审核的,因此从专业性的角度来说,一本好书 ...

  8. Java 架构师

    “学习的最好途径就是看书“,这是我自己学习并且小有了一定的积累之后的第一体会.个人认为看书有两点好处: 1.能出版出来的书一定是经过反复的思考.雕琢和审核的,因此从专业性的角度来说,一本好书的价值远超 ...

  9. 要成为一个 Java 架构师得学习哪些知识?

    作者:zhuqz链接:https://www.zhihu.com/question/29031276/answer/54631312来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请 ...

  10. Java程序员如何从码农晋升为架构师,你跟架构师的差别在哪里?

    一.如何定义架构师 Java架构师,首先要是一个Java程序员,熟练使用各种框架,并知道它们实现的原理.jvm虚拟机原理.调优,懂得jvm能让你写出性能更好的代码;池技术,什么对象池,怎么解决并发量. ...

随机推荐

  1. 实践案例丨GaussDB网络重传/丢包问题定位总结

    摘要:本文将介绍几种常用手段,用于梳理数据库网络故障可能存在的问题,从而快速定位恢复. 1 问题背景 在GaussDB各类问题场景中,网络故障是最难定位及恢复的问题之一,其不仅可能影响着数据库的性能, ...

  2. 昇腾携手OpenMMLab,支持海量算法仓库的昇腾AI推理部署

    摘要:近日,昇腾AI联合上海人工智能实验室,正式实现OpenMMLab算法仓库在昇腾的异构计算架构CANN上的推理部署,目前相关代码已推入MMDeploy 0.10.0版本,并在GitHub正式发布. ...

  3. 百万奖池角逐,华为云IoT边缘带你看懂“边缘计算开发者大赛”

    摘要:2022年9月1日,第二届边缘计算开发者大赛正式启动. 2022年9月1日,第二届边缘计算开发者大赛正式启动! 本届大赛由华为云参与承办,中国信息通信研究院.工业互联网产业联盟.边缘计算产业联盟 ...

  4. Windows 资源管理器 CPU100%

    Windows 资源管理器 CPU100% win + R打开运行框并输出:services.msc 点击确定打开服务:将服务中的Problem Reports Control Panel Suppo ...

  5. 【django-vue】课程表数据录入 课程分类接口 所有课程接口 课程详情接口 所有章节接口 课程列表前端 课程详情前端

    目录 上节回顾 APSchudler 双写一致性 今日内容 1 课程表数据录入 2 课程分类接口 2.1 路由 2.2 序列化类 2.3 视图类 3 所有课程接口(过滤,排序) 3.1 表模型 3.2 ...

  6. NBA赛事直播超清画质背后:阿里云视频云「窄带高清2.0」技术深度解读

    在半月前结束的NBA总决赛中,百视TV作为全网唯一采用"主播陪你看NBA"模式的直播平台,以"陪看型"赛事解说来面对内容差异化竞争.与此同时,百视TV还运用了& ...

  7. AtCoder Beginner Contest 180 个人题解(快乐DP场)

    补题链接:Here A - box 输出 \(N - A + B\) B - Various distances 按题意输出 3 种距离即可 #include <bits/stdc++.h> ...

  8. AtCoder Beginner Contest 197(Sponsored by Panasonic) Person Editorial

    A - Rotate 先输出第二和第三个字符,然后再输出第一个字符即可 B - Visibility 以 \((x,y)\) 作为起点向4个方向探索不是 # 的点,注意一下会在\((x,y)\)重复计 ...

  9. 传统能源转型:数字孪生智慧火电厂 3D 可视化

    前言 火力发电厂满足了全世界将近五成的电力需求,在我国超过半数以上的电力来源于火力发电.随着双碳政策的推行,在国家清洁能源消纳和环保的需求下,对火电厂在深度调峰.超低排放.灵活运行等方面提出了更高要求 ...

  10. 八、java操作swift对象存储(静态大对象)

    系列导航 一.swift对象存储环境搭建 二.swift添加存储策略 三.swift大对象--动态大对象 四.swift大对象--静态态大对象 五.java操作swift对象存储(官网样例) 六.ja ...