关于业务系统的架构思考

简介: 最近参与了很多的业务系统架构的讨论,有很多收获,也发现了很多不同领域的问题或解决方案抽象起来是一致的,这里做下简单的总结。 **一、不能将团队边界、领域边界混为一谈** 我们的人员是高效利用的,领域与团队间是不能一一对应的。绝大多数时候领域的边界是不变的,而团队的职责在不断调整,一个团队也很有可能是因为项目而设置,这个时候不能因为团队边界就去改变领域边界。 ![DomainBou

最近参与了很多的业务系统架构的讨论,有很多收获,也发现了很多不同领域的问题或解决方案抽象起来是一致的,这里做下简单的总结。

一、不能将团队边界、领域边界混为一谈

我们的人员是高效利用的,领域与团队间是不能一一对应的。绝大多数时候领域的边界是不变的,而团队的职责在不断调整,一个团队也很有可能是因为项目而设置,这个时候不能因为团队边界就去改变领域边界。

DomainBoundary2.png

当我们遇到"冲突"时,应该先聚焦在领域边界,忽略团队边界,应该从如果大家是一个团队,大家一起想架构方案会是什么样的方案。确定了方案后,再思考团队分工。

大家试试,真的可以解决很多问题哦!

二、架构的核心问题就是分层和边界问题

分层的本质就是将变化分离,让每一层独立变化,不用影响全局。分层可以缩小讨论范围,有利于更聚焦于问题本身。软件分层还是一种最佳实践。

这里想强调一下分层和边界定义对我们这样工作环境的意义,业务是在发展变化的,软件一定跟着一起变化,而我们今天的业务形式变化常常会让你无法在教科书中找到"正确"的架构设计,这个时候分层可以让我们把确定性的东西想清楚,封装好。让我们把精力花在不确定性的地方。

如果我们讨论复杂的业务和架构问题时,摸不清头脑,那就先进行分层,是我个人的实践方案,感觉很有用

三、架构的核心问题也是问题定义或领域分析的问题

正确的问题定义和领域定义最接近于问题的本质,当然也是对问题发展方向支撑最好的。面向对象设计思想也解释了这一点,面向对象就是一种能够让我们把问题和领域分析清楚的方法。

我这里想突出一种场景,当问题定义错误,领域划分错误,这个时候如果有另外的领域依赖了本领域,那就是个灾难,这个雷埋给了所有直接或间接信任你的人。

四、架构是一种平衡,不能一刀切

问题的解决方案往往是Hybrid模式的,这个不能理解为妥协。这里面主要想讲的跟第一条的核心思路相依,也与第二条相关。就是我们往往不是将软件分层去讨论,而是拿着两个完整的域或系统去讨论,而很多的冲突是不同层之间的。我们应该针对不同层提出不同的解决方案,形成一种Hybrid的方案。最终达到一种非妥协的平衡。

五、大数据时代,架构多了一种选择,很多可以变成一个优化问题。问题从定性变成了定量。

软件世界常常存在矛盾,比如CAP的矛盾。但今天在大数据时代,结合实时技术,我们可以将矛盾的某一个方面拿出来,从定性改为定量,经如一致性,假设我们的一致性能做到99.9999%,也能让一致性影响的用户范围永远小于个位数,可能就够了,而这个对于一致性的"放弃",很可能节省了巨大的人力和基础设施成本。这方面AE的区域化部署技术在一致性解决上面就采用了这样的思路。

相关文章
|
24天前
|
监控 安全 API
使用PaliGemma2构建多模态目标检测系统:从架构设计到性能优化的技术实践指南
本文详细介绍了PaliGemma2模型的微调流程及其在目标检测任务中的应用。PaliGemma2通过整合SigLIP-So400m视觉编码器与Gemma 2系列语言模型,实现了多模态数据的高效处理。文章涵盖了开发环境构建、数据集预处理、模型初始化与配置、数据加载系统实现、模型微调、推理与评估系统以及性能分析与优化策略等内容。特别强调了计算资源优化、训练过程监控和自动化优化流程的重要性,为机器学习工程师和研究人员提供了系统化的技术方案。
146 77
使用PaliGemma2构建多模态目标检测系统:从架构设计到性能优化的技术实践指南
|
17天前
|
机器学习/深度学习 算法 数据可视化
基于深度混合架构的智能量化交易系统研究: 融合SSDA与LSTM自编码器的特征提取与决策优化方法
本文探讨了在量化交易中结合时序特征和静态特征的混合建模方法。通过整合堆叠稀疏降噪自编码器(SSDA)和基于LSTM的自编码器(LSTM-AE),构建了一个能够全面捕捉市场动态特性的交易系统。SSDA通过降噪技术提取股票数据的鲁棒表示,LSTM-AE则专注于捕捉市场的时序依赖关系。系统采用A2C算法进行强化学习,通过多维度的奖励计算机制,实现了在可接受的风险水平下最大化收益的目标。实验结果显示,该系统在不同波动特征的股票上表现出差异化的适应能力,特别是在存在明确市场趋势的情况下,决策准确性较高。
55 5
基于深度混合架构的智能量化交易系统研究: 融合SSDA与LSTM自编码器的特征提取与决策优化方法
|
28天前
|
机器学习/深度学习 人工智能 并行计算
【AI系统】Kernel 层架构
推理引擎的Kernel层负责执行底层数学运算,如矩阵乘法、卷积等,直接影响推理速度与效率。它与Runtime层紧密配合,通过算法优化、内存布局调整、汇编优化及调度优化等手段,实现高性能计算。Kernel层针对不同硬件(如CPU、GPU)进行特定优化,支持NEON、AVX、CUDA等技术,确保在多种平台上高效运行。
81 32
|
28天前
|
存储 机器学习/深度学习 人工智能
【AI系统】计算图优化架构
本文介绍了推理引擎转换中的图优化模块,涵盖算子融合、布局转换、算子替换及内存优化等技术,旨在提升模型推理效率。计算图优化技术通过减少计算冗余、提高计算效率和减少内存占用,显著改善模型在资源受限设备上的运行表现。文中详细探讨了离线优化模块面临的挑战及解决方案,包括结构冗余、精度冗余、算法冗余和读写冗余的处理方法。此外,文章还介绍了ONNX Runtime的图优化机制及其在实际应用中的实现,展示了如何通过图优化提高模型推理性能的具体示例。
55 4
【AI系统】计算图优化架构
|
13天前
|
机器学习/深度学习 存储 人工智能
基于AI的实时监控系统:技术架构与挑战分析
AI视频监控系统利用计算机视觉和深度学习技术,实现实时分析与智能识别,显著提升高风险场所如监狱的安全性。系统架构包括数据采集、预处理、行为分析、实时决策及数据存储层,涵盖高分辨率视频传输、图像增强、目标检测、异常行为识别等关键技术。面对算法优化、实时性和系统集成等挑战,通过数据增强、边缘计算和模块化设计等方法解决。未来,AI技术的进步将进一步提高监控系统的智能化水平和应对复杂安全挑战的能力。
|
18天前
|
机器学习/深度学习 前端开发 算法
婚恋交友系统平台 相亲交友平台系统 婚恋交友系统APP 婚恋系统源码 婚恋交友平台开发流程 婚恋交友系统架构设计 婚恋交友系统前端/后端开发 婚恋交友系统匹配推荐算法优化
婚恋交友系统平台通过线上互动帮助单身男女找到合适伴侣,提供用户注册、个人资料填写、匹配推荐、实时聊天、社区互动等功能。开发流程包括需求分析、技术选型、系统架构设计、功能实现、测试优化和上线运维。匹配推荐算法优化是核心,通过用户行为数据分析和机器学习提高匹配准确性。
58 3
|
16天前
|
前端开发 搜索推荐 安全
陪玩系统架构设计陪玩系统前后端开发,陪玩前端设计是如何让人眼前一亮的?
陪玩系统的架构设计、前后端开发及前端设计是构建吸引用户、功能完善的平台关键。架构需考虑用户需求、技术选型、安全性等,确保稳定性和扩展性。前端可选用React、Vue或Uniapp,后端用Spring Boot或Django,数据库结合MySQL和MongoDB。功能涵盖用户管理、陪玩者管理、订单处理、智能匹配与通讯。安全性方面采用SSL加密和定期漏洞扫描。前端设计注重美观、易用及个性化推荐,提升用户体验和平台粘性。
48 0
存储 人工智能 自然语言处理
68 6
|
16天前
|
监控 Java 数据中心
微服务架构系统稳定性的神器-Hystrix
Hystrix是由Netflix开源的库,主要用于微服务架构中的熔断器模式,防止服务调用失败引发级联故障。它通过监控服务调用的成功和失败率,在失败率达到阈值时触发熔断,阻止后续调用,保护系统稳定。Hystrix具备熔断器、资源隔离、降级机制和实时监控等功能,提升系统的容错性和稳定性。然而,Hystrix也存在性能开销、配置复杂等局限,并已于2018年进入维护模式。
26 0
|
30天前
|
机器学习/深度学习 人工智能 调度
【AI系统】推理引擎架构
本文详细介绍了推理引擎的基本概念、特点、技术挑战及架构设计。推理引擎作为 AI 系统中的关键组件,负责将训练好的模型部署到实际应用中,实现智能决策和自动化处理。文章首先概述了推理引擎的四大特点:轻量、通用、易用和高效,接着探讨了其面临的三大技术挑战:需求复杂性与程序大小的权衡、算力需求与资源碎片化的矛盾、执行效率与模型精度的双重要求。随后,文章深入分析了推理引擎的整体架构,包括优化阶段的模型转换工具、模型压缩、端侧学习等关键技术,以及运行阶段的调度层、执行层等核心组件。最后,通过具体的开发流程示例,展示了如何使用推理引擎进行模型的加载、配置、数据预处理、推理执行及结果后处理。
79 0

热门文章

最新文章