18、进化式架构:挑战、实践与组织考量

进化式架构:挑战、实践与组织考量

1. 增量变更与架构选择

在软件开发中,增量变更面临诸多挑战。过去几十年,软件开发的目标多围绕成本降低、资源共享等外部约束,而非敏捷性,这导致许多组织缺乏支持进化式架构的基础。

1.1 不恰当的治理模式

软件架构受设计环境影响。过去,操作系统、数据库服务器等基础设施昂贵,架构师为最大化共享资源设计架构,如SOA模式盛行,形成了以资源共享为目的的治理模式。然而,这种模式会导致组件间的意外耦合,即使隔离措施有效,资源争用问题仍会出现。

如今,开发人员可构建高隔离性的架构,如微服务架构,避免共享环境带来的耦合。但许多公司仍坚持旧的治理模式,强调共享资源和统一环境,这在DevOps等改进措施下已不合时宜。

统一采用单一技术栈是不恰当的治理方式,会导致过度复杂化问题。例如,大型企业常统一使用单一供应商的关系型数据库,虽有一致性和人员可替代性等优点,但多数项目会因过度工程化而受影响。小项目可能只需简单的持久化功能,却要承担企业级数据库的全部复杂性。

微服务架构中,各服务无技术或数据架构耦合,不同团队可根据需求选择合适的复杂度和技术栈,以实现简化目标,使服务栈复杂度与技术需求相匹配。

1.2 强制解耦

微服务架构的目标之一是实现技术架构的高度解耦,使服务可无副作用替换。若开发人员共享代码库或平台,需一定的开发纪律和保障措施来避免耦合。使用不同技术栈构建服务是实现解耦的一种方式,虽有公司担心影响员工跨项目调动,但也有像Chad Fowler这样的架构师坚持采用不同技术栈以避免意外耦合。

大型组织可采用“适度”治理模式,选择简单、中级和复

学生社团系统-学生社团“一站”运营管理平台-学生社团管理系统-基于SSM的学生社团管理系统-springboot学生社团管理系统.zip-Java学生社团管理系统开发实战-源码 更多学生社团系统: SpringBoot+Vue学生社团“一站”运营管理平台源码(活动管理+成员考核+经费审批) Java学生社团管理系统开发实战:SSM升级SpringBoot(招新报名+场地预约+数据看板) 基于SpringSecurity的社团管理APP(移动端签到+权限分级+消息推送) 企业级社团数字化平台解决方案(SpringBoot+Redis缓存+Elasticsearch活动搜索) 微信小程序社团服务系统开发(活动直播+社团文化墙+成员互动社区) SpringBoot社团核心源码(多角色支持+工作流引擎+API接口开放) AI赋能社团管理:智能匹配兴趣标签+活动热度预测+成员贡献度分析(附代码) 响应社团管理平台开发(PC/移动端适配+暗黑模式+无障碍访问) 完整学生社团系统源码下载(SpringBoot3+Vue3+MySQL8+Docker部署) 高校垂直领域社团平台:百团大战系统+社团星级评定+跨校活动联盟 适用对象:本代码学习资料适用于计算机、电子信息工程、数学等专业正在做毕设的学生,需要项目实战练习的学习者,也适用于课程设计、期末大作业。 技术栈:前端是vue,后端是springboot,项目代码都经过严格调试,代码没有任何bug! 核心管理:社团注册、成员管理、权限分级 活动运营:活动发布、报名签到、场地预约 资源服务:经费申请、物资管理、文档共享 数据分析:成员活跃度、活动效果评估、社团影响力排名
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值