架构训练营3:架构设计流程和架构师职责

架构师相关职责:

架构师是业务和技术之间的桥梁,架构师不能只顾技术,不懂业务,架构师很容易两头不讨好

三个核心能力:

判断:1业务理解力2.技术能力3.沟通能力

拆解:1技术深度2.技术宽度3.技术广度  

   宽度与广度 不是一会事,你熟悉Redis跟memcache 是宽度,了解前端与运维是广度。

取舍:1设计理念2.说服能力3.决断能力

这块综合能力要求高,得有理有据,有能力有担当。

确定性思维:消除模糊、不确定的说法和信息,例如“大量用户”应该明确为“XX万用户”

创造性思维:通过排列组合创新,得到更多的方案。

系统性思维:系统思考,有逻辑和推导过程,例如“为什么不用Native而要用H5”

影响系统结构的设计是架构设计,方案设计不影响系统的架构设计。

Rank:改变系统分层的设计属于架构设计,例如将支付宝提升到和淘宝同级别

Role:修改(增删改拆合)角色属于架构设计,例如微服务拆分

Relation:修改角色关系属于架构设计,例如用消息队列代替接口访问

Rule:修改角色之间的运作规则属于架构设计,例如MongoDB将选举算法从Bully改为Raft

架构设计流程:

架构设计前期(开会)

 主要任务:

澄清不确定性1.明确利益干系人的诉求;2. 消除冲突的诉求;3. 诉求优先级排序

识别复杂性1.识别核心场景;2.明确或者预估质量需求;3.识别复杂

工作模式:1.与业务方交流2.与利益干系人交流(就是相关人开会)

输出 :1.总体业务架构图2.核心场景流程

架构设计中期:(架构小组开会和写架构设计文档)

  主要任务:

设计备选方案1.头脑风暴;2. 筛选方案;3. 设计备选方案;

选择备选方案1.360度评估;2. 明确选择标准;3. 选择最终方案,并汇报

工作模式:1.架构小组讨论2.架构小组写文档3.向利益干系人汇报

输出:1.备选方案2.方案评估结论3 方案汇报结论

架构设计后期:写文档和开会宣讲!

主要任务:

细化架构:按照4R架构定义来细化架构

完善架构:可维护性、可测试性、可运维性、成本、安全

工作模式:1.写架构设计文档2.给技术团队宣讲架构

输出 :完整的架构设计方案

架构验证阶段(贯穿项目全流程)

主要任务:

收集架构意见1.开发人员意见2.测试人员意见3.运维人员意见

跟进架构落地效果1.性能测试结果2.压力测试结果3.线上运维情况

工作模式:1.总结复盘2.收集吐槽

输出:  架构优化建议、架构迭代计划

架构师工作评价,除了架构项目落地情况,相关人员的架构意见反馈也是老板考量因素。

架构师团队本身是小而美的。多数是虚拟团队项目制,没有职级汇报的。

后面是展开架构设计

架构设计前期如何开展工作?

包含:1理解架构设计常见利益干系人和诉求

2.掌握利益干系人诉求排序技巧

利益干系人分析

这个跟PM的很类似,毕竟有人的地方就有江湖。郭东白老师的顺应人性也是不同侧面来讲。

 换位思考,从对方利益视角去考虑,才能寻求肯能的合作方案。

投资人:出钱的“爸爸”,【利益诉求】1.成本2.时间3.竞争力 例如:1.你的上级2.业务负责人

监管者:通常是法律要求的组织。利益诉求:合规,处理投诉。

构建着、维护者:开发、测试、运维、运营

使用者,评估者:用户、甲方等

诉求优先级排序

分组、排序、沟通

 时间、成本、范围、质量这些也跟项目管理关注的类似。

取舍原则:无法做到面面俱到,需要根据业务目标决定哪个优先 

按照影响力大小排序,监管者>投资者>评估者>使用者>构建者>维护者

差异性、冲突性 就需要做排序。差异性:安装影响力点对点沟通,谁权力大听谁的。

冲突性需要开会,一起讨论PK,老板来拍板。要发挥影响力,引导正确的方案,不是简单的听老板的。自己不管只等最后的结果,这个锅后面就得自己背。

复杂度分析

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/26215.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在 .NET Core 中使用 Azure Key Vaul

Azure Key Vault是一个安全可靠的存储库,用于存储在.NET Core应用程序中使用的令牌、密钥、密码、证书和其他敏感数据。接下来我们讲讲如何在C#中使用它。 在构建.NET Core应用程序时,我们经常使用各种“秘密”,如客户端ID、访问令牌、密码、…

概率论的学习和整理--番外12:2个概率选择比较的题目

目录 1 题目 2 结论 3 算法 3.1 错误算法 3.2 算法1,用期望的方式解方式 3.3 算法2,直接解方程 3.4 算法3,用递归--等比数列求和来算 4 上述比较的意义-回到问题本身 1 题目 题目 3个A合成1个B 方案1:1/4 几率返还一个A…

linux内核调试工具记录

Linux性能测试使用的工具在github网站可见,网址如下: slides: http://www.slideshare.net/brendangregg/linux-performance-analysis-new-tools-and-old-secrets video: https://www.usenix.org/conference/lisa14/conference-program/presentation/greg…

RabbitMQ的使用详解

一、什么是MQ 1、什么是MQ MQ(message queue),本质是个队列,FIFO先入先出。只不过队列中放的是message,是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ是一种非常常见的上下游…

Node+MySQL+Vue2.0+elementUI实现的博客管理系统(一)

前端部分: Vue项目的入口文件main.js: //引入Vue import Vue from vue //引入App import App from ./App.vue //引入VueRouter import VueRouter from vue-router import router from ./router/index import Vuex from vuex import store from ./store //完整引入…

网络--练习错题笔记

1、SNMP是简单网络管理协议,与邮件发送无关 发送邮件:SMTP协议,简单邮件管理协议 用户发送邮件是利用SMTP协议将编辑好的邮件送往发送端的邮件服务器 2、mac地址前24位是厂商编号 来自IEEE,后24位来自厂商,区别每一个…

JavaSwing+MySQL的购物系统项目

点击以下链接获取源码: https://download.csdn.net/download/qq_64505944/88052733?spm1001.2014.3001.5503 JDK1.8 MySQL5.7 功能:管理员与用户两个角色,管理员可以对商品进行增删改查处理,用户可以浏览查找商品,注…

Flink AggregateFunction窗口函数,merge何时执行

1.前言 在我们使用Flink DataStream API编写业务代码时,aggregate()算子和AggregateFunction无疑是非常常用的。编写一个AggregateFunction需要实现4个方法: /** Licensed to the Apache Software Foundation (ASF) under one* or more contributor li…

2.5 线性表的建表

1. 顺序表建表 #include <iostream>/// <summary> /// 数组最大长度 /// </summary> const int MAX_SIZE 10;/// <summary> /// 顺序表建表 /// </summary> /// <param name"arr">数组</param> /// <param name"…

网络排查工具:MTR 命令使用详解

MTR 是一款强大的网络诊断工具&#xff0c; 全称 my traceroute&#xff0c;是一个把 ping 和 traceroute 合并到一个程序的网络诊断工具。默认发送ICMP数据包进行链路探测。 MTR的安装&#xff1a;yum -y install mtr 查看本机到 www.baidu.com 的路由以及连接情况直接运行如…

Flutter系列文章-Flutter基础

Flutter是Google推出的一种新的移动应用开发框架&#xff0c;允许开发者使用一套代码库同时开发Android和iOS应用。它的设计理念、框架结构、以及对Widget的使用&#xff0c;都让开发者能更有效率地创建高质量的应用。 一、Flutter设计理念 Flutter的设计理念是“一切皆为Wid…

c++——多态(补充)

优先查看&#xff1a;c——多态_Hiland.的博客-CSDN博客 目录 菱形虚拟继承子类的重写问题 菱形虚拟继承中的偏移量补充 逆向思维——汇编查看多态中被重写的虚函数 菱形虚拟继承子类的重写问题 继承环节时&#xff0c;菱形虚拟继承解决了菱形继承的数据冗余和二义性问题。…