为什么很多看起来不是很复杂的网站需要大量顶尖高手来开发

简介: 这篇文章很不错。特意转载过来,给一些外行人做科普!就拿淘宝来说说,当作给新人一些科普。先说你看到的页面上,最重要的几个:【搜索商品】——这个功能,如果你有几千条商品,完全可以用select * from tableXX where title like %XX%这样的操作来搞定。

这篇文章很不错。特意转载过来,给一些外行人做科普!

就拿淘宝来说说,当作给新人一些科普。

先说你看到的页面上,最重要的几个:
【搜索商品】——这个功能,如果你有几千条商品,完全可以用select * from tableXX where title like %XX%这样的操作来搞定。但是——当你有10000000000(一百亿)条商品的时候,任何一个数据库都无法存放了,请问你怎么搜索?这里需要用到分布式的数据存储方案,另外这个搜索也不可能直接从数据库里来取数据,必然要用到搜索引擎(简单来说搜索引擎更快)。好,能搜出商品了,是否大功告成可以啵一个了呢?早着呢,谁家的商品出现在第一页?这里需要用到巨复杂的排序算法。要是再根据你的购买行为做一些个性化的推荐——这够一帮牛叉的算法工程师奋斗终生了。

【商品详情】——就是搜索完毕,看到你感兴趣的,点击查看商品的页面,这个页面有商品的属性、详细描述、评价、卖家信息等等,这个页面的每天展示次数在30亿以上,同样的道理,如果你做一个网站每天有10个人访问,你丝毫感觉不到服务器的压力,但是30亿,要解决的问题就多了去了。首先,这些请求不能直接压到数据库上,任何单机或分布式的数据库,承受30亿每天的压力,都将崩溃到完全没有幸福感,这种情况下要用到的技术就是大规模的分布式缓存,所有的卖家信息、评价信息、商品描述都是从缓存里面来取到的,甚至更加极致的一点商品的浏览量这个信息,每打开页面一次都要刷新,你猜能够从缓存里面来取吗?淘宝做到了,整个商品的详情都在缓存里面。

【商品图片】——一个商品有5个图片,商品描述里面有更多图片,你猜淘宝有多少张图片要存储?100亿以上。这么多图片要是在你的硬盘里面,你怎么去查找其中的一张?要是你的同学想拷贝你的图片,你需要他准备多少块硬盘?你需要配置多少大的带宽?你们的网卡是否能够承受?你需要多长时间拷贝给他?这样的规模,很不幸市面上已经没有任何商业的解决方案,最终我们必须自己来开发一套存储系统,如果你听说过googleGFS,我们跟他类似,叫TFS。顺便说一下,腾讯也有这样的一套,也叫TFS

【广告系统】——淘宝上有很多广告,什么,你不知道?那说明我们的广告做的还不错,居然很多人不认为它是广告,卖家怎么出价去买淘宝的广告位?广告怎么展示?怎么查看广告效果?这又是一套算法精奇的系统。

BOSS系统】——淘宝的工作人员怎么去管理这么庞大的一个系统,例如某时刻突然宣布某位作家的作品全部从淘宝消失,从数据库到搜索引擎到广告系统,里面的相关数据在几分钟内全部消失,这又需要一个牛叉的后台支撑系统。

【运维体系】——支持这么庞大的一个网站,你猜需要多少台服务器?几千台?那是零头。这么多服务器,上面部署什么操作系统,操作系统的内核能否优化?Java虚拟机能否优化?通信模块有没有榨取性能的空间?软件怎么部署上去?出了问题怎么回滚?你装过操作系统吧,优化过吧,被360坑过没,崩溃过没?这里面又有很多门道。

不再多写了,除了上面提到的这些,还有很多很多需要做的技术,当然并不是这些东西有多么高不可攀,任何复杂的庞大的东西都是从小到大做起来的,里面需要牛叉到不行的大犇,也需要充满好奇心的菜鸟,最后这一句,你当我是别有用心好了。

目录
相关文章
|
3月前
|
移动开发 安全 SEO
如何自己搭建一个网站
今天的文章总结适合0基础,网站搭建的技巧和流程,哪怕你是小白,不会编程,也可以制作非常漂亮且实用的企业网站、政务网站、学校网站等,如果想做个人博客更是不在话下。希望我的经验能帮助更多没有过多的经费、没有建站基础的朋友。用户跟着我的文章流程基本上一周就可以快速搭建出一个高端、大气、具有营销型、自动SEO、H5的网站。
|
25天前
|
监控 前端开发 安全
如何开发一个网站:全面解析与实战指南
在数字化时代,网站是企业和个人展示形象、传播信息的关键平台。本文提供从规划、设计、开发、上线到后期维护的全方位网站开发指南,涵盖明确目标、分析用户、设定功能需求、设计风格、技术选型、测试部署及优化升级等内容,帮助你打造既美观又实用的网站。
39 4
|
2月前
|
搜索推荐 数据库 数据安全/隐私保护
为什么越来越多的人选择网站定制开发?
在后互联网时代,企业网站和定制开发的重要性愈发突出。模板选择虽有信任度和成熟度的优势,但难以满足个性化需求,且可能缺乏独特性。相比之下,定制开发能更好地契合企业业务和文化,提升用户体验,实现自动化处理,确保数据安全,并使成本透明化。因此,越来越多的企业倾向于选择定制开发,以增强竞争力。行动建议包括评估需求、选择合适外包公司、制定详细项目计划及注重后期维护。
|
7月前
|
SQL 监控 安全
网站管理以及开发人员如何使网址的访问更加安全可靠呢?
确保网站安全的12个步骤:启用HTTPS加密,使用可信SSL/TLS证书,保持浏览器更新,实行强密码策略和多因素认证,定期更新软件,控制访问权限,安全编码,应用内容安全策略,监控日志,防DDoS攻击,备份数据并制定恢复计划,以及定期进行渗透测试和安全审计。这些措施能有效保护网站和用户数据的安全。
61 1
|
JavaScript Java 数据库
【平台开发】如何快速搭建一个网站
【平台开发】如何快速搭建一个网站
146 1
|
7月前
|
前端开发 JavaScript PHP
在线扒站工具网站源码-一键扒取网站源代码
在线扒站工具网站源码-一键扒取网站源代码
544 6
|
XML JSON 编解码
2023最新常用开发网站汇总
2023最新常用开发网站汇总
129 0
|
前端开发 JavaScript 小程序
值得收藏的 开发网站
值得收藏的 开发网站
142 0
值得收藏的 开发网站
|
关系型数据库 MySQL Java
使用学生体验服务器部署若依管理系统
主要内容是使用服务器部署若依前后端,springboot+vue的功能,方便自己做一个增删改查数据的功能
|
数据库
Discuz如何开发移动端访客功能(2)
Discuz如何开发移动端访客功能
137 0
Discuz如何开发移动端访客功能(2)