赞
踩
同一个域名下并发加载的资源数量不同, 将来可能用这个知识点优化系统
https://blog.csdn.net/weixin_34279246/article/details/93157405
https://www.cnblogs.com/chris-oil/p/9822751.html
任何网站的发展都不是一蹴而就的,通常是在什么阶段采用什么技术。在发展的过程中,网站会遇到各种各样的问题,正是这些原因才推动着技术的进步和发展,而技术的发展反过来又会促进业务的更大提升。二者互为因果,相互促进。
微博上有人说“好的架构是进化来的,不是设计来的”。的确如此,其实还可以再加上一句“好的功能也是进化来的,不是设计来的”。
个人观点:工作中技术框架不必要求最新,合适够用即可,未来两三年满足,系统易于维护,出现故障能快速恢复,快速定位问题 即可。
其中最有技术含量的是对数据库进行了一个修改,原来是从一个数据库进行所有的读写操作,现在把它拆分成一个主库、两个从库,并且读写分离。这么做的好处有几点:存储容量增加了,有了备份,使得安全性增加了,读写分离使得读写效率得以提升(写要比读更加消耗资源,分开后互不干扰)
个人观点: 实际工作中用过这种技术,要根据实际系统来使用这个技术,有些模块 可以查 读库, 有的模块 虽然也是 读操作 但是 查读库 就不行,要根据实际情况判断
一段时间之后,商品搜索的功能占用数据库资源太大了(用like搜索的,很慢),2003年7月,多隆又把阿里巴巴中文站的搜索引擎iSearch搬了过来。
研发部对搜索引擎iSearch也进行了一次升级,之前的搜索引擎是把数据分到多台机器上,但是每份数据只有一份,现在是每份数据变成多份,整个系统从一个单行的部署变成了矩阵,能够支撑更大的访问量,并且做到很高的可用性。
个人观点: 表中大的blob字段拆出后,如果搜索依然慢 考虑引入搜索引擎,目前常见的是ES,适用于一些综合性的搜索场景
当时这个网站已经很庞大了,而且新的需求还在源源不断地增加。把一个庞大的网站的开发语言换掉,无异于脱胎换骨,在换的过程中还不能拖慢业务的发展,这无异于边换边跑,对时间和技术能力的要求都非常高。
大致方案是给业务分模块,一个模块一个模块地渐进式替换。如用户模块,老的member.taobao.com继续维护,不添加新功能,新功能在新的模块上开发,跟老的模块共用一个数据库,开发完毕之后放到不同的应用集群上,另开一个域名member1.taobao.com,同时再替换老的功能,替换一个,就把老的模块上的功能关闭一个,逐
渐把用户引导到member1.taobao.com,等所有的功能都替换完之后,关闭member.taobao.com上。从设计上来看,这个member1的二级域名应该是一个过渡状态,但我们把member域名的代码下线以后,发现很难把member1切换回member,因为有些地方把链接写死了,于是后来很长时间里我们都是在用member1.taobao.com这样奇怪的域名。
个人观点: 提供了一直思路 分而治之,逐步实施,推动工作往下开展
我们知道,一台Oracle的处理能力是有上限的,它的连接池有数量限制,查询速度与容量成反比。简单地说,在数据量上亿、查询量上亿的时候,就到它的极限了。要突破这种极限,最简单的方式就是多用几个Oracle数据库。但一个封闭的系统做扩展,不像分布式系统那样直接加机器就可以了。我们的做法是把用户的信息按照ID来存放到两个数据库中(DB1和DB2),把商品的信息和卖家信息放在两个对应的数据库中,把商品类目等通用信息放在第三个库中(DBcommon)。这么做的目的是除了增加了数据库的容量之外,还有一个就是做容灾,即万一一个数据库挂了,整个网站上还有一半的商品可以买。数据库这么分后,应用程序就会出现麻烦,如果我是卖家,查看我的商品没有问题,我们都在一个库里。但如果我是一个买家,买的商品有DB1的,也有DB2的,要查看“我已买到的宝贝”的时候,应用程序怎么办?必须到两个数据库中分别查询对应的商品。要按时间排序怎么办?两个库中“我已买到的宝贝”全部查出来在应用程序中做合并。另外,分页怎么处理?关键字查询怎么处理?专业点的说法就是数据的Join没法做了。这些工作交给程序员来做也许会更麻烦,于是行癫出手了,他写了一个数据库路由的框架DBRoute,统一处理了数据的合并、排序、分页等操作,让程序员像使用一个数据库一样操作多个数据库里的数据,这个框架在淘宝的Oracle时代一直在使用。
个人观点: 根据实际需要 小公司 不到万不得一 不要用这种技术, 能力达不到,成本比较高。 如果用 要仔细考虑好 先分表 行不行,再考虑分库。
有一种方案是 请求过网关后 直接进入缓存存,不经过apache
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。