关于业务系统的架构思考

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

时间: 2024-07-28 22:40:56

关于业务系统的架构思考的相关文章

在线教育业务系统云上高可用部署架构设计

从2010年开始,国内新兴的在线教育公司已经越来越多选用公共云计算做为IT基础设施平台.在线教育公司使用云计算,一方面可以减少在IT基础设施方面设备及人力的投入,另一方面可以轻松获得可扩展的计算能力以及更加可靠的安全防护能力. 通过对多家在线教育公司IT部门的交流,由于在线教育公司大多处于业务发展期,IT部门的精力主要投入到支撑新业务的拓展,在应用的部署架构上考虑的不多,在高可用架构方面更是欠缺. 众所周知,云平台是一个及其复杂的综合系统,内外部的一些偶然因素可能导致其发生局部的故障,如果用户在

eBay:将Hadoop架构延伸到在线业务系统

文章讲的是eBay:将Hadoop架构延伸到在线业务系统,Hadoop in China社区一年一次的技术年度盛会Hadoop中国云计算大会(Hadoop in China 2011,HiC2011)12.2-12.3日在北京召开,Hadoop in China已经成功举办四届,今年大会的主题是"海量数据掘宝",HiC2011由中国科学院计算技术研究所主办,通过技术应用和科学研究双重视角审视云计算以及Hadoop开源生态系统的现状和发展趋势,发扬开源精神,促进Hadoop以及云计算开源

虚拟化数据中心系统总体架构和业务设计

VDC系统共分四层:物理层.虚拟层.管理层.业务层:主要由五部分构成:虚拟资源池.虚拟管理平台.运营管理系统.门户和云终端.物理层主要包括现有物理硬件设备和后续扩容物理硬件设备.虚拟层主要包括服务器虚拟化和存储虚拟化.通过相应的虚拟化技术,形成物理计算资源池和存储资源池,以便上层管理层进行调度和管理.管理层主要包括针对服务器虚拟化进行管理的虚拟计算管理平台.针对存储虚拟化进行管理的虚拟存储管理平台和系统运营管理平台.业务层主要包括针对不同业务的门户平台以及相应的 3G终端.瘦客户端和其它客户端.

垂直行业网站及业务系统的监控预警与态势感知平台搭建

随着信息化的发展,政府以及大型企业的对外宣传及服务.对内办公逐渐向Web上迁移,从而出现了众多的门户网站以及业务系统.随着这些网站及业务系统与政府.企业的形象及业务的不断融合,其重要程度也不断提升,尤其是在垂直行业中更为重要.因此,网站和业务系统也成为黑客的主要攻击目标.本文既是围绕垂直行业的门户网站及业务系统的安全建设展开.为了表达上的简洁,后文所提到的网站无特殊说明均是指广义上的网站--以http/https协议进行通信并使用浏览器进行访问的系统,既包含门户网站及业务系统. 垂直行业的网站有

领域驱动设计(DDD)在美团点评业务系统的实践

前言 至少30年以前,一些软件设计人员就已经意识到领域建模和设计的重要性,并形成一种思潮,Eric Evans将其定义为领域驱动设计(Domain-Driven Design,简称DDD).在互联网开发"小步快跑,迭代试错"的大环境下,DDD似乎是一种比较"古老而缓慢"的思想. 然而,由于互联网公司也逐渐深入实体经济,业务日益复杂,我们在开发中也越来越多地遇到传统行业软件开发中所面临的问题.本文就先来讲一下这些问题,然后再尝试在实践中用DDD的思想来解决这些问题.

甲骨文宣布正式介入存储业务 超融合架构须基于对业务的深刻了解

原文:http://www.dostor.com/article/121038036.html 2015年12月10日,由DOIT传媒.存储在线和易会联合主办的2015中国存储年度峰会在北京盛大开幕.作为中国存储界有影响力的年度行业盛会,峰会以"把握数据经济,重塑商业变革"为主题,吸引了上百位存储界的顶级学者专家.数百位产业精英和企业用户出席.  由DOIT主办的中国存储峰会是中国存储产业界最为隆重的年度大会.十一年来紧贴存储产业发展,丰富地记录了存储产业在各个历史时期的变化发展,已成

提供多业务系统无缝对接实现企业协同办公信息化

企业信息化管理软件正式进入云时代 本报讯 与同事相隔千里却需要进行协同办公和召开会议怎么办?企业和部门间使用的业务软件系统过多,不停地在诸如OA.ERP.CRM.EIM.行政审批.网站订单系统.客户故障处理系统等业务软件间进行频繁的切换不仅效率不高,而且极易出现疏漏和失误怎么办?企业对业务软件系统的管理.升级和维护跟不上怎么办?类似以上的这些问题,一直以来都直接影响着现代企业的发展步伐,也是企业管理人员心中一个长久无法解开的结. 近日,作为"广东省企业综合信息服务平台示范基地"的广东群

IOS应用架构思考二(网络图片库)

移动端架构中图片库是非常重要的一环,其实图片库也可以理解为网络库的一种特殊使用模式,为了满足需要,图片库至少要满足以下特点: 提供一个加载入口,通常以UIImageView的类别方法setImageWithURL:...开始 支持异步网络加载图片 支持内存缓存和文件缓存 确保同一张图片不会被重复下载 主流图片格式的解码 著名的优秀关于图片加载的库有: SDWebImage AFNetworking EGOImageLoading 已经年久失修 1. Load入口 关于Load入口方式,一般有两种

求助!!有大量视频和直播类的系统如何架构,视频文件如何存储?

问题描述 求助!!有大量视频和直播类的系统如何架构,视频文件如何存储? 如题,如果有大量视频在线播放,还有视频直播的系统要如何架构?视频文件如何存储?才能效率比较高,并且支持分段加载! 解决方案 哎哟,不错哟,我也想了解一下.留个板凳一会来看看. 解决方案二: 自己也凑合凑合,跪求大神指导啊! 解决方案三: )低带宽消耗P2P流媒体直播系统的研究与实现 )低带宽消耗P2P流媒体直播系统的研究与实现 解决方案四: 确定分布式服务器部署的机房,根据业务情况选择潜在用户比较多的省份.城市作为节点机房