锋盈数科-知识库 Logo
首页
软件开发
计算机基础
Hello Halo
新手必读
关于本知识库
登录 →
锋盈数科-知识库 Logo
首页 软件开发 计算机基础 Hello Halo 新手必读 关于本知识库
登录
  1. 首页
  2. 默认分类
  3. 架构师三大难-领域划分问题

架构师三大难-领域划分问题

0
  • 默认分类
  • 发布于 2024-09-23
  • 0 次阅读
黄健
黄健

引子

在《架构师之路-redis集群解析》提到:提出有水平的问题、做出有水平的总结和建议、做出有水平的回答 是架构师面临的三大难。

天天开会,最怕开会。开会十分钟,准备半天功。

下面是围绕这三大难展开的故事。

情景-领域划分问题

几年前的一天,在一个会上,完全不相关的团队人员在进行我们系统的架构评审。由于他们对我的系统不了解,提的问题多是针对架构师个人能力上的。

我在介绍的时候提到:“根据系统的特点,按照角色划分领域的同时结合现有人员情况划分了下面几个应用……”,然后我被打断了,有人提问说:“应用是按领域划分还是按照人员划分?”

针对这种埋坑的问题,选项有A和B,那更合理的答案一般是C。

翻译提问者的问题其实是在问:“不是都是用领域划分领域吗?按照人员划分的方法不对吧?”

先来分析一下,我顺着提问者的话说会怎样:“模块需要按照领域划分,模块是分层级的。人员划分决定的是独立部署单位的粒度,在实际项目中应该综合考虑。”

这样虽然回答了提问者的问题,但是提问者很显然有知识上的盲区,需要我给他解惑的地方:“究竟要怎样划分应用?”而我的回答没有给出他完整的答案,他会继续找一些回答的漏洞来细化问题,比如:“资源预算不算做考虑粒度的因素吗?” 假定我每次顺着他的思路来,整个回答过程就没有清晰的结构了。

所以我需要直接针对他本质的问题展开回答,以下是回答内容:

在这次介绍的系统中,最主要的依据是按照领域来划分模块,同时根据资源和人员等情况来决定独立部署的应用模块的粒度。

但是在其他的系统中,根据不同的系统特点,模块或者应用的划分上,考虑侧重点会有所不同。我举几个例子。

示例一(管道过滤器模式)

比如工作流类的系统,从总体架构上采用的是管道过滤器模式

如上图,在这种系统中主要有两种角色,一种是管理者角色,负责把其他模块组织串联起来,整体对外提供服务。记得之前做个这样的项目,管理者角色的模块系统名叫captain(当时大家都以漫威英雄人物命名,captain对应美国队长)。其他模块都是一个个过滤器。是否要将每个过滤器独立应用部署,还是主要根据人力和资源来定。只要设计清晰,将来人力和资源有调整,或者随着业务的发展,对稳定性有个更好的要求,可能会需要根据可用性做一个隔离。高SLA和低SLA的单独部署,高SLA的多地区多机房部署。

示例二(三平面分离模式)

比如三平面分离架构系统,详情可参考我之前的文章《三平面分离架构》。简单来说分成最核心的流程控制平面、次核心的组件支撑平面和SLA只要求两个9的管理运维平面。如下图:

所以领域划分时这三个平面要边界分明,三个平面可用性级别不同,资源分配也不同。比如最核心的流程控制平台日志存储要90天,其他可能需要30天;流程控制平面可能需每笔请求开始和结束打日志,而其他服务只需要异常时打日志;流程控制平面和组件支撑平面需要四地八中心高可用部署,而管理运维平台只需要两机房容灾。所以核心是要将三个平面分开以分配不同的资源。

示例三(异步处理模式)

有些应用整体是实现一个大职责,但是被中间件分成了两个部分。比如有个服务是异步处理模式。所谓异步处理模式是将一个执行耗时长的流程分成两个阶段。比如退款操作。用户提交一个退款请求,先会收到一个实时通知:“您的退款请求已经收到,退款会于1~2个工作日内到账。”之后系统会将这个退款请求扔到MQ中,慢慢来消费处理。

这种模式的服务,根据实际资源等情况可以分成两个独立部署的系统,或者合在一个应用里既作为MQ的生产者又作为MQ的消费者。

总结

如果观察到别人总是就细节进行追问,这时候可以先把思路跳出来弄清楚他的本质问题是什么。

标签: #知识库 257
相关文章
最全的办公楼智能化解决方案

最全的办公楼智能化解决方案 2024-10-16 08:40

办公楼综合体智能化如何建设?有哪些系统?近几年,办公楼智能化的项目越来越多,不少项目经理都参与其它,同事办公楼综合体也是弱电系统涉及的最多的项目之一,本期我们一起来看下,最全的办公楼项目智能化设计方案。

规范标准查询、下载网站 2024-10-12 16:41

我们在工作中经常需要用到各种各样的规范标准,这里给大家介绍一些免费查询和下载规范的网站,个人亲测可用。 标准查找查新网站 工标网: http://www.csres.com/ 中国国家标准化管理委员会:http://openstd.samr.gov.cn/bzgk/gb/index 全国标准信息公共

【计算机网络】网络层协议解析 2024-10-08 11:24

网络层的两种服务 IPv4 * 分类编址 划分子网 无分类地址 IPv4地址应用 IP数据报的发送和转发过程 * 主机发送IP数据报 路由器转发IP数据报 IPv4数据报首部格式 ICMP网际控制报文协议 虚拟专用网VPN与

FFmpeg教程(超级详细版) 2024-10-08 11:24

一、参考资料 通过ffmpeg把图片转换成视频 FFmpeg命令(一)、使用filter_complex命令拼接视频 FFmpeg 视频处理入门教程给新手的 20 多个 FFmpeg 命令示例 FFmpeg命令行转码

计算机网络:物理层 —— 数据的传输方式 2024-10-08 11:24

文章目录 * 传输方式 * 串行传输 * 串行传输方式 特点 应用 并行传输 * 特点 应用 网卡的串/并转换 同步传输 * 同步时钟频率的误差问题 特点 应用<

授权码机制 V2.1 2024-10-07 10:26

大家好,我是机灵鹤。 根据读者朋友们反馈的问题和建议,对 授权码 V2.0 版本做了一些优化。 优化内容主要解决了以下几个问题: 优化了授权机制中的时间校验逻辑,避免用户通过回调本地时间来绕过授权机制的问题。 封装和简化了授权接口,开发者可以更方便地接入到自己的程序中。

目录

IT 外包服务商

  • 意见投递
  • zyf6619

软件开发应用

主菜单

  • 首页
  • 软件开发
  • 计算机基础
  • Hello Halo
  • 新手必读
  • 关于本知识库
Copyright © 2024 your company All Rights Reserved. Powered by Halo.