Ruby on rails 针对高规模站点的单技术堆栈与多技术
由于旧设计中存在大量的维护问题,我最近来征求意见,提出了重写现有网站的想法 基本上,该公司正在考虑完全重写aprox。90%的网站目前使用内部框架用PHP编写 该公司希望重建后端和前端,以最大限度地减少维护问题,并更容易引入新的tallent,而无需花费数月时间学习架构,他们就可以成为有情感的开发人员 我们已经提出了几种可能的架构,其中一些涉及到使用现有的脚本web框架(如Cake、Django或RoR)重写整个站点,以及一些Java甚至.Net中的编译语言框架。 此外,我们还提出了一些跨技术的解决方案,例如在Django中构建的带有Scala后端的web应用程序 我想知道使用单个技术堆栈(如RoR)与使用两个技术堆栈(如RoR与Scala的交叉,如Twitter现在所做的)和vise与vise的交叉相比有什么好处 考虑到这家公司的网站是一个高流量网站,每天有超过100万独立访问者,这将在很长一段时间(几个月到一年)内缓慢过渡到新的架构上Ruby on rails 针对高规模站点的单技术堆栈与多技术,ruby-on-rails,django,architecture,frameworks,Ruby On Rails,Django,Architecture,Frameworks,由于旧设计中存在大量的维护问题,我最近来征求意见,提出了重写现有网站的想法 基本上,该公司正在考虑完全重写aprox。90%的网站目前使用内部框架用PHP编写 该公司希望重建后端和前端,以最大限度地减少维护问题,并更容易引入新的tallent,而无需花费数月时间学习架构,他们就可以成为有情感的开发人员 我们已经提出了几种可能的架构,其中一些涉及到使用现有的脚本web框架(如Cake、Django或RoR)重写整个站点,以及一些Java甚至.Net中的编译语言框架。 此外,我们还提出了一些跨技术的
谢谢重写整个代码库需要付出巨大的努力和巨大的压力,首先,您最好将初始估计时间翻倍或可能翻倍。 您可以从两个角度思考您的问题:
重写整个代码库需要付出巨大的努力和巨大的压力,一开始,您最好将初始时间估计值翻倍或可能翻倍。 您可以从两个角度思考您的问题:
一般来说,我不认为任何特定的技术堆栈在性能方面优于任何其他技术堆栈;Facebook在PHP上运行,我直接知道Java和.Net也可以很好地扩展。根据您所说的,我现在更担心的是与可维护性相关的问题,而不是性能和可伸缩性 一般来说,如果可能的话,我会保留在一个众所周知的技术堆栈中:
- 对于一个知名的平台/技术堆栈,更容易找到(好的)员工;市场上会有更多,而且价格不会像技能太少那样昂贵
- 拆分您的技术意味着您需要更广泛的知识;通过坚持使用单个技术堆栈,您可以专注于它,从而获得更好/更快的结果
- 人们倾向于关注一个平台/技术堆栈,因此更容易找到技术X的开发人员,而不是技术X、Y和Z
- 团队成员更容易处理系统的不同部分,因为它们都是用相同的技术编写的——大概是以类似的方式编写的
- 就整合而言,同一技术堆栈中的项目在一起发挥得更好,跨到不同的堆栈可能会很快变得更难支持
- 如果您确实希望使用不同的技术,请确保边界是干净的——基于标准或与技术无关的东西,如web服务/JSON调用
- 对于一个知名的平台/技术堆栈,更容易找到(好的)员工;市场上会有更多,而且价格不会像技能太少那样昂贵
- 拆分您的技术意味着您需要更广泛的知识;通过坚持使用单个技术堆栈,您可以专注于它,从而获得更好/更快的结果
- 人们倾向于关注一个平台/技术堆栈,因此更容易找到技术X的开发人员,而不是技术X、Y和Z
- 团队成员更容易处理系统的不同部分,因为它们都是用相同的技术编写的——大概是以类似的方式编写的
- 就整合而言,同一技术堆栈中的项目在一起发挥得更好,跨到不同的堆栈可能会很快变得更难支持
- 如果你想使用不同的技术,ensur