BAT解密:互联网技术发展之路(5)- 开发层技术剖析

简介:

BAT解密:互联网技术发展之路(5)- 开发层技术剖析

1. 开发框架

在系列文章的第2篇“BAT解密:互联网技术发展之路(2)- 业务如何驱动技术发展”中我们深入分析了互联网业务发展的一个特点:复杂性越来越高。复杂性增加的典型现象就是系统越来越多,不同的系统由不同的小组开发。如果每个小组用不同的开发框架和技术,将会带来很多问题,典型的问题有:

1)技术人员之间没有共同的技术语言,交流合作少

2)每类技术都需要投入大量的人力和资源和熟练精通

3)不同团队之间人员无法快速流动,人力资源不能高效的利用

所以,互联网公司都会指定一个大的技术方向,然后使用统一的开发框架,例如Java相关的开发框架SSH、SpringMVC、Play,Ruby的Ruby on Rails,PHP的ThinkPHP,Python的Django等等。使用统一的开发框架能够解决上面提到的各种问题,大大提升组织和团队的开发效率。

对于框架的选择,有一个总的原则:优选成熟的框架,避免盲目追逐新技术!为什么呢?

首先,成熟的框架资料文档齐备,各种坑基本上都有人踩过了,遇到问题很容易通过搜索解决

其次,成熟的框架受众更广,招聘时更加容易招聘到合适的人才

第三,成熟的框架更加稳定,不会出现大的变动,适合长期发展

以我亲身经历的一个反例为例:我们使用了Play 1作为Java开发框架,因为它是轻量级的Java开发框架,但没想到Play 2直接改为scala语言开发,Play 1的架构演进停滞,而我们又不能切换为Play 2,结果就导致只能一直用Play 1,有新的需求只能自己开发。




2. 服务器

开发框架只是负责完成业务功能的开发,真正能够运行起来,给用户提供服务,还需要服务器配合。

独立开发一个成熟的web服务器,成本非常高;且业界又有那么多成熟的开源web服务器,所以互联网行业基本上都是拿来主义,挑选一个流行的开源服务器即可。牛逼一点的公司,可能会在开源服务器的基础上,结合自己的业务特点做二次开发,例如淘宝的Tengine,但一般公司基本上只需要将开源服务器摸透,优化一下参数,调整一下配置就差不多了。

选择一个服务器主要和开发语言相关,例如:java的有Tomcat、Jboss、Resin等,php/python的用nginx,当然最保险的就是用apache了,什么语言都支持。

有的人可能担心apache的性能之类的问题,其实不用过早担心这个,等到你的业务真的发展到apache撑不住的时候再考虑切换也可以,那时候你有的是钱,有的是人,有的是时间。




3. 容器

容器是最近2年才开始火起来的,其中以docker为代表,在BAT级别的公司已经有较多的应用,例如腾讯:腾讯万台规模的Docker应用实践;新浪微博:微博红包:大规模Docker集群实践经验分享 等等。

传统的虚拟化技术是虚拟机,解决了跨平台的问题,但由于虚拟机太庞大,启动慢,运行时太占资源,在互联网行业并没有大规模的应用;而docker的容器技术,虽然没有跨平台,但启动快,几乎不占资源,推出后立刻就火起来了,预计docker类的容器技术将是技术发展的主流方向。

千万不要以为docker只是一个虚拟化或者容器技术,它将在很大程度上改变我们目前的技术形势:

1)运维方式会发生革命性的变化:docker启动快,几乎不占资源,随时启动和停止,基于docker打造自动化运维、智能化运维将成为主流方式

2)设计模式会发生本质化的变化:启动一个新的容器实例代价如此低,将鼓励设计思路朝“微服务”的方向发展。

例如一个传统的网站包括登录注册、页面访问、搜索等功能,没有用容器的情况下,除非有特别大的访问量,否则这些功能开始时都是集成在一个系统里面的;有了容器技术后,一开始设计就可以将这些功能按照服务的方式设计,避免后续访问量增大时又要重构系统。






相关文章
|
6月前
|
人工智能 安全 数据安全/隐私保护
一个案例,看懂AI Agent厂商的商业落地路径
随着大语言模型技术的进步,国内科技巨头正加速在AI Agent领域的布局,利用自身技术和应用场景推动AI Agent在各行业的深度融合。百度、飞书、钉钉等已推出相关产品,其中实在智能的Agent智能体结合AI和RPA技术,提供高度自主和交互性的软件实体,已在多个场景实现商用并即将公测。企业选择AI Agent时关注点包括与现有自动化解决方案的融合、易用性、数据安全和新业务自动化能力。实在智能的Agent解决方案因其灵活性、安全性及广泛的应用潜力受到青睐。
368 1
|
3月前
|
存储 机器学习/深度学习 人工智能
AI工业变革问题之EPAI软件平台的主要功能内容如何解决
AI工业变革问题之EPAI软件平台的主要功能内容如何解决
45 0
|
3月前
|
JSON 前端开发 JavaScript
革新Admin.NET框架:前端体验飞跃与代码生成自动化的双重革命,引领高效开发新时代!
【8月更文挑战第3天】Admin.NET是一款专为现代企业应用打造的高效框架,凭借强大的后台管理和灵活的扩展性深受开发者喜爱。本文探讨如何优化其前端体验与开发效率。首先,通过采用Flexbox和CSS Grid等技术实现响应式布局重构,确保了不同设备上的一致体验。其次,引入Vue.js或React实现组件化开发,提高代码复用性和维护性。再者,利用Webpack等工具进行性能优化,提升页面加载速度。此外,开发了代码生成器以自动生成CRUD模块,极大提高了开发效率。这些改进使Admin.NET前端开发更高效、灵活且易于维护。
60 0
|
6月前
|
Oracle 关系型数据库 大数据
助力工业物联网,工业大数据之服务域:Shell调度测试【三十三】
助力工业物联网,工业大数据之服务域:Shell调度测试【三十三】
51 1
|
6月前
|
搜索推荐 开发者
开源打败商业 —— 敲敲云 apaas 平台成为了零代码领域的黑马,开启零代码新时代
随着数字化转型的浪潮席卷全球,企业对于高效、灵活的业务系统需求日益增长。在这个背景下,零代码开发平台应运而生,成为了市场上备受瞩目的产品。而在众多零代码产品中,敲敲云 以其开源的身份和高效的研发速度,彰显了其与众不同的竞争力。
501 0
|
机器学习/深度学习 人工智能 数据可视化
无代码编程时代的到来:新兴工具和平台的前瞻展望
无代码编程时代的到来:新兴工具和平台的前瞻展望
|
云安全 大数据 物联网
大连接时代到来的十大标志之五:云计算无处不在
阿里巴巴集团技术委员会主席王坚在《在线》一书中提到,未来企业比拼的是计算能力。怎么理解?我认为,这句话想要表达的是:企业的计算能力决定企业的发展,决定企业体量的大小。这里的企业计算能力,其实就是云计算的能力。企业有足够的云计算能力,才能具备连接更多IOT设备的能力,更具备连接产业合作伙伴的能力,这种企业的能力自然也就是强的。
177 0
大连接时代到来的十大标志之五:云计算无处不在
|
大数据 人工智能 分布式计算
开放下载!《阿里巴巴大数据及AI实战》深度解析典型场景大数据实践
深度剖析淘宝、高德、友盟+、1688、优酷、阿里妈妈、阿里影业大数据实战场景,2020不容错过的企业大数据实战手册。
66829 0
开放下载!《阿里巴巴大数据及AI实战》深度解析典型场景大数据实践
|
传感器 存储 人工智能
带你读《创新之巅: 未来十年重构商业的六大战略性技术》第一章未来十年重构商业的 六大技术1.AI 启用战略
《创新之巅: 未来十年重构商业的六大战略性技术》第一章未来十年重构商业的 六大技术1.AI 启用战略
|
人工智能 搜索推荐 大数据
开放下载!《阿里巴巴大数据及AI实战》深度解析典型场景大数据实践 | 开发者必读(130期)
深度剖析淘宝、高德、友盟+、1688、优酷、阿里妈妈、阿里影业大数据实战场景,2020不容错过的企业大数据实战手册。
3545 0