ToB产品的架构版本维护

640?wx_fmt=jpeg

这两年工作中比较大的一个感受就是随着产品的B端用户增多,产品的架构版本开始变得难以维护,这和我之前做C端产品是完全不一样的。本文就来分享一下ToB产品的架构版本维护中的坑,希望能让大家对架构版本有更多的了解。

我们开发了一套系统,从无到有写过来,这个时候我们还没有具体的客户,只是形成了一套初始的代码,这套系统具备第一个架构版本,我用A来表示。 

现在商务找到了我们第一名客户,我们需要交付给客户了,我们把这套系统做成版本B1,这个版本就是我们的客户版本。我们把B1的代码称为B。看起来,在这个时间,A和B的代码是完全一样的,不过由于B,我们还实际交付了B1的个性化信息(配置项,编译选项等)。

640?wx_fmt=jpeg

毫无疑问的,我们还是需要继续开发的,新开发的功能合入什么地方?显然是A。而对于B而言,我们就要不断基于它对应的场合进行优化,而且不能轻易加入新功能。A和B被不同的逻辑左右着,决定了我们对B分支的升级,是不会轻易做很大改动。

随着市场的扩展,我们除了B之外,就会发生C,D,E这样的客户版本。我当然希望用一个版本打所有的市场,但这个其实受市场本身的限制,在现实中需要很高的成本。

当我们有多个版本需要维护,那么就有挑战来了。

首先,我们平时的精力主要投在B,C,D上,我们对它们有更充足的质量保证措施,A反而被“冷落”了,由于我们的新特性做在A上的,B,C,D都缺某个特性,客户又急着要,临时把A做一个版本出来,拿去顶一下好不好?结果发现A的质量又跟不上,部署上去就无法给客户一个交代。。。

其实,这个问题的本质是:开发要不断补充特性,质量保证和性能调优要有稳固的特性,这两者都需要分支来支持,而质量保证和性能调优有很高的工作量要求,我们要控制这个工作量,就要正视这个工作量。

所以,到最后,我制定了一套统一做法:

  1. 主干版本开发新特性并保证质量,交付局点时使用对应分支,维护不同的分支。

  2. 分支上一般少新特性开发,仅问题修改。

  3. 不同分支版本多了以后,就考虑版本收编,使用主干的版本升级。

由于制定了这套策略,我们会花更多的时间在A上,确保A一直处于“战备”状态,及时响应不同客户的更新诉求。

本篇是抛开了技术架构本身来谈版本的维护,接下来我会重点谈谈从架构的角度来做好ToB产品的版本维护。


描二维码或手动搜索微信公众号【架构栈】: ForestNotes

欢迎转载,带上以下二维码即可

              640?wx_fmt=jpeg


点击阅读原文”,所有【架构栈】近期的架构文章汇总

↓↓↓

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
**计算机专业毕设:基于ASP与ACCESS的BtoC电子商务网站设计与实现** 本资源提供了一个全面的计算机专业毕业设计项目,主题为基于ASP(Active Server Pages)和ACCESS数据库的BtoC(企业对消费者)电子商务网站的设计与实现。该项目旨在帮助学生在实际环境中应用所学知识,掌握电子商务网站开发的基本流程和关键技术。 **主要特点**: 1. **技术栈**:项目采用ASP作为服务器端脚本语言,ACCESS作为数据库管理系统,这两种技术的结合使得网站的开发、维护和部署变得简单高效。 2. **BtoC模式**:网站设计符合BtoC电子商务的特点,支持用户在线购物、支付、订单管理等功能,为用户提供了良好的购物体验。 3. **模块化设计**:项目采用模块化设计思想,包括用户模块、商品模块、订单模块、支付模块等,便于二次开发和功能扩展。 4. **安全性考虑**:项目在设计之初就充分考虑了安全问题,采用了多种安全措施,如防止SQL注入、XSS攻击等,确保网站的数据安全和用户隐私。 5. **完整的文档**:项目提供了详细的论文、开题报告、文献综述和外文翻译资料,帮助学生更好地理解项目的背景、意义和技术实现。 6. **可二次开发**:项目源码完全开源,学生可以根据自己的需求和兴趣进行二次开发,定制个性化的电子商务网站。 通过本项目的学习和实践,学生不仅可以掌握ASP和ACCESS的基本用法,还能深入了解电子商务网站的架构设计和开发流程,为未来的职业生涯打下坚实的基础。
B/S架构、C/S架构和P2P架构是常见的三种系统架构,它们的主要特点如下: 1. B/S架构(Browser/Server架构):B/S架构是一种基于Web浏览器和Web服务器的分布式系统架构,其主要特点包括: - 前端通过Web浏览器向后端Web服务器发送请求,后端Web服务器处理请求并响应给前端,前端解析响应数据并呈现给用户; - 系统部署简单,只需要安装Web服务器和浏览器即可,无需在客户端安装专门的客户端软件; - 前后端分离,前端负责呈现数据,后端负责处理业务逻辑和数据存储。 2. C/S架构(Client/Server架构):C/S架构是一种基于客户端和服务器的分布式系统架构,其主要特点包括: - 客户端通过专门的客户端软件向服务器发送请求,服务器处理请求并响应给客户端,客户端解析响应数据并呈现给用户; - 系统部署和维护相对复杂,需要在客户端和服务器端都安装专门的软件; - 客户端负责呈现数据和处理用户输入,服务器负责处理业务逻辑和数据存储。 3. P2P架构(Peer-to-Peer架构):P2P架构是一种分布式系统架构,其主要特点包括: - 系统中的所有节点对等,可以互相通信和交换数据; - 每个节点既是客户端,也是服务器,可以向其他节点请求数据,也可以提供数据给其他节点; - 系统具有高度的容错性和可扩展性,节点之间可以自由加入和离开。 综上所述,B/S架构、C/S架构和P2P架构都有各自的优势和适用场景,需要根据实际情况选择合适的架构

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值