解析:eBay的网站架构以及技术特点
2021-01-04 14:56:31 阅读(423) 评论(0)
ebay的技术架构变化ebay的系统架构变化主要经历了四个阶段。下图显示了ebayV1版ebay的ebay系统架构变化时间表。ebay使用FREEBSD APACHE PERL DGBM,这是一个相对原始的模型,相对简单,操作系统,应用服务器,web服务器和数据库服务器都在同一台机器中,网络结构在物理上只有一层。整个网站有四个域名,每个域名对应不同的应用程序,每组应用程序对应一个服务器。随着业务量和访问量的不断增加,ebayV1系统架构在1999年开始升级,技术架构发生了很大变化。在此期间,主要从1999年到2004年,架构的版本号从V2.0到V2.5。让我们来看看ebayV2.0技术架构V2.0开始使用ORACLE服务器。数据库服务器和web服务器分开,数据库独立部署到新机器上的程序逻辑已经开始分层,即mvc3层结构:显示层、业务逻辑层、数据访问层、物理或两层结构web服务器和数据库服务器编程语言使用c ,当时java刚刚兴起,估计没有其他好的语言选择。V2.1每组应用程序对应于多个服务器,多个服务器形成servlerpol(服务池),通过负载平衡服务器转发到不同的服务器数据库部署到性能更好的服务器V2.2添加数据库服务器作为备份服务器,防止失败V2.3版本只为每个应用程序添加更多的服务器,ServerpolV2.4版本最大、最重要的变化是垂直拆分数据库,即根据不同的功能模块划分数据库,如交易库、会员库、会计数据库V2.5版本在2.4版本中,读写和分离部分数据库,并水平拆分Item(项目项目)数据库,根据不同的Categoty将Items分配到不同的Categoty商品库中,从而大大扩展了Items数据库的访问性能。图表2ebayV2系统架构 从以上可以看出,ebayV2的架构变化主要是通过添加服务器、垂直数据库和水平数据库来提高整个网站的性能。图表2ebayV2系统架构 从以上可以看出,ebayV2的架构变化主要是通过添加服务器、垂直数据库和水平数据库的分离来提高整个网站的性能。在web层中,通过添加服务器进行水平扩展,并垂直分割应用服务功能,并根据不同的业务功能划分为不同的系统。在数据库层面,尝试阅读和写作分离,垂直分割数据库,同时根据category水平分割Items库,分散产品库items的集中访问,但需要在DAL层提供透明的访问机制,ebays似乎没有这个成熟的框架,同时不知道分布式事务ebay在这个阶段是如何实现的。 V3的整个应用程序开发平台都被j2ee平台取代,整个网站都被java改写。这似乎是一项相对较大的工作。目的是解耦模块和复用模块。从这里,我们可以看到java在开发复杂企业应用方面的优势。 V3版本在数据库层面进行了更优化的设计。ebay继续优化数据库上的垂直分割数据库,并根据功能模块将其分为更多的子库水平分割数据库。对于同一类数据,根据key值的不同数据分配到不同的数据库(具体的水平分割方法有很多,这里不再介绍。)ebay还必须建立一套透明的DAL访问模式,并提供透明的数据库访问机制和透明的数据库路由功能。数据库的物理结构变化不会影响代码的逻辑变化。 在这里,ebay也给出了数据库层的最佳实践:尽量减少数据库CPU的消耗,如不使用存储过程,只使用少量触发器来减少数据库层的逻辑功能,如数据转换、组合,这些在逻辑层减少动态SQL,主要是SQL参数的动态生成功能,公司DBA也强调尽可能缩短数据库的交易时间,尽早结束事情,尽可能采用异步更新数据库的方式,分散数据库的压力,如夜间处理消耗数据库时间的操作。不使用分布式事务,分布式事务似乎不使用高并发性系统在应用逻辑层面,ebay根据功能将系统划分为许多不同的模块,每个模块作为子系统,并通过水平扩展子系统服务器的数量来提高整个系统的可伸缩性。让我们来看看ebay在应用层面给出的最佳实践,以保持应用层子系统完全无状态。它可以在水平上无限扩展,以提高可伸缩性,并通过负载平衡服务器均匀分配到各子系统的实例池中。让我们来看看ebay在应用层面给出的最佳实践,以保持应用层子系统完全无状态。它可以在水平上无限扩展,以提高可伸缩性,并通过负载平衡服务器均匀分配到每个子系统的实例池中。缓存可以尽可能减少数据库的压力。使用空间可以改变时间,严格划分系统、性能层、业务逻辑层、服务集成层、DAO层和基础设施层的各个层次。在应用层的设计上,ebay通过不同的功能划分了很多domain,每个domain只负责自己功能的业务逻辑,domain和domain不依赖,还提供comondomain提供各个domain之间的互动和依赖,见下图:因为ebay的数据库按逻辑划分了很多不同的字库。然后ebay必须提供访问数据库的透明能力。例如,ebay根据categoray将Items划分为许多subitems库。如果需要查询用户购买的所有Items,则必须查询所有subitems库并组合数据库,然后DAL层必须屏蔽数据库的物理结构,一次性查询所有Subitems库中对应的数据。而且这个访问,对于应用程序来说是透明的。这种访问对应用程序来说是透明的。应用程序不需要注意items有多少个子库。ebay的结构特点:当一个网站开始时,可能每天只有几十个人访问或数百个,也许一个普通的服务器就足够了,db和应用程序可以放在一起,但随着用户的增加,业务的增加,服务器远远不够,自然想要添加服务器,系统应该跟随变化。多一台服务器可以减轻压力。这样就出现了业务分割和数据分割。其实要做到恰到好处并不容易。ebay根据业务功能水平划分应用程序和数据库。这在国内很多网站上都是这样做的,并不奇怪,但在水平划分功能后,单个功能应用程序的划分也有很多文章要做。如何划分,ebay的架构文档很久以前就谈到了这件事。根据业务水平划分数据库后,可以根据一定的规则划分表数,包括许多规则,可以根据主要业务生产者进行划分,所有数据都跟随生产者,至于什么规则可以表达自己的观点。Asynchronyeverywhere同步应用程序会带来强耦合,可用性保证差,尤其是用户体验极度失败。想象一下,如果一个网站的主页同步获取这么多业务信息,很大一部分用户都会流失。如果加上网络慢,蚊子睡觉的时候,人们还有时间看。其实分布式系统应该尽量使用异步处理。EBay的应对策略是:事件驱动和pipeline、多播新闻涉及的技术有:消息中间件(无序,至少一次到达)、基于SRM技术的可靠多播。Automateeeverything配置信息的动态化涉及技术:配置发布/订阅机制的实现和机器学习。不知道国内有多少网站做到了这个超级牛,听说淘宝做到了(呵呵)。现在很多网站都在做RemembereverythingFails故障检测和回滚,但是ebay做得很好,ebay几乎每天都有2TB日志,淘宝也通过监控事件做出了有效的判断和预警。eBay的应对策略是:异常后发送消息,接收者获取消息报警,根据功能降级,以确保核心功能的可用性。涉及的技术包括:消息中间件以及如何根据功能降级。事实上,EmbraceInconsistency有点像我们整天所说的“拥抱变化”。如果系统中的事务太多,会对性能产生很大的影响,尤其是分布式事务。如果盲目追求一致性,性能会很严重。ebay的做法是过程不一致,最终一致。涉及的技术包括:新闻中间件,CAP(Consistency的一致性;Availability的可用性;ToleranceofnetworkPartition分区的容忍度(可以理解为系统在某些节点故障或节点之间的连接故障下仍能正常工作)等。) Expect(R)ebay在evolution这里主要讲的是如何更好地应对变化,EBay的应对策略包括功能演变和架构演变:灵活的schema、可插拔处理流程和增量系统发布的技术相当复杂。EBay采用配置处理流程和系统发布流程,支持多版本共存。随着分布式应用、异步应用和功能的不断增加,DependenciesMatter会变得更加明显,EBay也是如此。随着分布式应用、异步应用和功能的不断增加,dependenciesmatter变得更加明显,ebay也是如此。他们的应对策略:服务拓扑管理和设计控制(只允许依赖……)、客户端负责。说到这一点,我不得不说,客户端承担责任真的很重要。现在很多架构都喜欢在服务端解决N个以上的问题,但在很多情况下,客户端确实需要这样做。当然,这也会带来一些问题,比如升级。结论:在大规模、高并发系统的设计中,最常用的技术是分层和缓存,将业务流程垂直分解为多个系统,每个系统提供不同类型的服务,通过不同的服务组装业务流程,这就是SOA设计的理念。各系统可进行水平集群、无状态服务、水平无线扩展、数据库层面,主要采用垂直库、水平库、读写分离、热备份等技术,提高数据库的读写能力。在应用层中,可以考虑使用集中缓存或分布式缓存来降低数据库的访问压力。
推荐阅读
- 发明专利公开到授权需要多长时间?
第三十五条发明专利申请自申请日起三年内,国务院专利行政部门可以根据申请人随时提出的请求,对其申请进行实质审查;申请人无正当理由逾期不请求实质审查的,该申请即被视为撤回。下面小编就带大家来看看详细的内容。 一、发明专利公开到授权需要多…查看详情
- 专利权中三类的含义是什么
专利权是由国务院专利行政部门依照法律规定,根据法定程序赋予专利权人的一种专有权利。下面万商云集小编给大家详细解释下专利权中三类的含义的相关内容。 一、专利权中三类的含义是什么 (1)专利权是国家依法授予专利人对其专利产品在一定期限…查看详情
- 运营网店的方法
当代越来越多的无业游民都选择开网店,网店确实是一个不错的途径,那么如何开网店,相信大家都已经了如指掌了,但是如何运营好网店,小编还没有系统的整理过。那么小编今天也来追赶一下潮流,整理一篇运营网店的方法。 一、提升商品权重 商品主图引流对于任…查看详情
- 建网站不花钱免费建站
一般大企业都会打造不一样的网站建设效果,这样才能够得到很好的推广,但是也有些小企业在建设网站的时候不想要花钱。这个时候就应该要找到免费的建站平台,其实建网站不花钱可以找到很多的平台,只要选择对了平台,也能够制作出比较好的网站。那么建网站不花…查看详情
- 专利证书号有没有用 专利证书号的作用
专利证书号是大家在申请专利权的时候获得的一个编号,很多人对这个编号不是很了解,下面万商云集小编就带大家看一下专利证书号的相关作用。 一、专利证书号的作用 专利证书号是已经发出多少专利的意思了,这和警号有些类似的,但警号是一个…查看详情
- 免费的视频聊天工具 2022好用的视频聊天工具
现在很多的人都用视频聊天工具和朋友沟通,下面小编就给大家推荐下几款免费的好用的视频聊天工具。希望能帮助到你。多亏Skype等视频通话工具,人们在新冠疫情期间仍可与家人和朋友保持“面谈”。为了帮助人们更好地“见面”,德国专业测试机构对11…查看详情
- 十大汽车保险公司排行榜
近年来,汽车行业的发展日趋迅速,伴随而来的是汽车保险公司的蓬勃发展。随着汽车数量的增加和消费者的意识提高,汽车保险公司的市场竞争越来越激烈。在这个背景下,人们需要了解哪些是十大汽车保险公司排行榜,以帮助他们做出正确的选择。 1.中国太…查看详情
- windows10忘记密码怎么解决
如果你忘记了你的Windows 10帐户密码,你将无法登录到Windows系统中。然而,你不必担心,因为你有几个选项可以重置或恢复密码。以下是一些可行的解决方案: 方法一:使用Microsoft帐户密码重置 如果你使用Micros…查看详情
- 代驾app排行榜 十大代驾app排行榜
代驾app的出现给大家的生活带来了不少便利,让大家出门在外有了安全的保障,不用再担心喝酒后不能驾车的问题,可以和朋友放心喝大胆玩了,今天就带大家一起盘点一下有哪些好用的代驾app。 1.滴滴代驾 滴滴代驾是滴滴旗下的一款…查看详情
- 免费的ps软件有哪些 免费的ps软件排行榜
相信很多的小伙伴在平时都会使用到ps软件,其实市面上也有很多这类型的PS软件,下面小编就给大家来详细介绍一下免费的ps软件有哪些 免费的ps软件排行榜这一块的内容,希望能帮助到大家,下面的这些ps软件都是很不错的。 免费的ps软…查看详情
- 集成电路设计能不能获得专利权?
根据相关法律规定,集成电路布图设计不能取得专利权,下面万商云集小编给大家来介绍下这方面的详细内容。 一、集成电路设计能不能获得专利权 根据相关法律规定,集成电路布图设计不能取得专利权,应由集成电路布图设计专有权进行保护。集成电路实际…查看详情
- 分频器的作用是什么
分频器上有个灯泡是干什么用的?分频器的小灯泡是用来保护高频喇叭的。在高频喇叭上接一个灯泡在高电压(峰值功率或大功率输入)时点亮能有效保护高音喇叭。分频器和接线板对喇叭有什么作用?音箱分频器的作用,是把设计好频率分频点(工作频段)分配给音箱内…查看详情
- 2021年EHR人力资源管理系统怎么选,有哪些注意事项?
目前EHR人力资源管理系统受到越来越多的企业青睐,但是应对市场上各种知名品牌,公司在选择全过程中存在哪些常见问题,如何极端防坑,选择符合公司要求的系统?小万梳理了市场上各类ehr系统在选择时应该注意的要点,供各位参考学习!1.功能模块单一的…查看详情
- php代码是什么
如何运行php代码?需要在计算机上安装PHP解释器,并且要在支持PHP的Web服务器或本地开发环境中打开PHP文件。具体步骤如下: 1.下载和安装PHP解释器,例如从https://www.php.net/下载最新的PHP版本。 2.安装支…查看详情
- 华为浏览器纯净模式怎么关闭
华为浏览器是华为手机自带的浏览器应用程序,它具有纯净模式(也称为无痕浏览模式)以提供更私密和安全的浏览体验。关闭纯净模式很简单,以下是一般情况下关闭华为浏览器纯净模式的方法:1. 打开华为浏览器:在您的华为手机上找到并打开预装的华为浏览器应…查看详情
猜你喜欢
最新文章
扫码二维码
立即领取《千元实战营销秘籍》
还可免费试用营销管理系统
*如有疑问,请随时拨打免费咨询热线:400-0033-166
服务时间:8:30-18:00
软件企业
认定号:川RQ-2018-0216
高新技术企业
认定号:GR201951001121
关注微信公众号
和10万中小企业共同成长
扫码下载APP
享全方位服务一触即达
Copyright © 2004-2022 万商云集(成都)科技股份有限公司 版权所有 蜀ICP备12001963号-2 川公网安备 51010402000322号
快速找产品
找一找哪款产品适合您?
咨询热线:400-0033-166
免费查找信息保护中请放心填写-
-
电话沟通
在线咨询
获取方案
下载APP
官方微信
扫码下载APP
全方位服务一触即达
关注万商云集
和10万中小企共成长
TOP
企业首选的数字选用平台