服务热线:400-0033-166
万商云集 - 企业数字化选用平台

企业首选的

数字选用平台

解析:eBay的网站架构以及技术特点

2021-01-04 14:56:31 阅读(441 评论(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设计的理念。各系统可进行水平集群、无状态服务、水平无线扩展、数据库层面,主要采用垂直库、水平库、读写分离、热备份等技术,提高数据库的读写能力。在应用层中,可以考虑使用集中缓存或分布式缓存来降低数据库的访问压力。

内容来源:网络,以上内容来源于网络,不代表本站观点,如有侵权,请联系删除。

推荐阅读

好用的卫浴品牌有哪些 卫浴品牌排行榜前十名

  目前国内来讲,主要以广东佛山、福建南安、河北唐山、河南长葛、四川简阳等几大卫浴生产基地。就产品配套措施完整度而言,还是以广东佛山的品牌为优,毕竟中国陶瓷城就坐落于佛山嘛。下面万商云集小编就给大家来详细介绍一下好用的卫浴品牌有哪些 卫浴品…查看详情

哪家的CRM能够算是好用的CRM

随着我国经济水平的不断上升,各行各业竞争激烈。许多的企业为有效的进行客户管理,都实施引进CRM系统,可是在面对众多的CRM产品,却不知道如何选择一款好用的CRM。如果选择错了,反而会成为企业的负担,因此选择一款好用的CRM真的尤为重要。接下…查看详情

域名重定向是什么意思

  域名重定向(Domain Redirect)指的是将一直域名的访问请求自动重定向到另一个指定的域名或网址上。在互联网上,域名重定向是一个很常见的操作,对于网站的维护和运营非常重要,在实际应用中,域名重定向具有以下几个方面的作用:  1…查看详情

为什么ERP系统实施难?应该怎样规避风险

中小企业在信息数字化的道路上徘徊不前,并不是看不到先进的技术和理念,其核心原因是ERP系统实施困难的问题没有得到良好的解决。目前通过实施ERP来提高企业自身的成本、速度、管理、质量、科技等方面的竞争优势,已成为中小企业的当务之急。谁能先一步…查看详情

建设网站的步骤,手把手教你搭建优质网站

很多的企业为了能够带来更好的推广,都特别注重网站的建设,几乎现在大大小小的企业都有属于自己的网站。建立网站之后也能够得到很好的推广,能够将自己的产品更好的推销出去,吸引更多的客户。但是在建立网站的时候,也应该要了解相关的建站步骤…查看详情

拼图软件哪个好用 十大拼图软件排名

现在很多人拍照都离不开拼图这个点,市面上其实有很多的拼图软件,下面万商云集小编就给大家来详细介绍一下拼图软件哪个好用 十大拼图软件排名这方面的内容,希望能帮助到大家。  1.美图秀秀  美图秀秀是一款很受欢迎的图片处理软件,使用者不仅可以…查看详情

豆瓣排名前50电影

  优质答案(1)  1、人生:《美国往事》  2、痛苦:《现代启示录》  3、信念:《肖申克的救赎》  4、哲思《第七封印》  5、执着《阿甘正传》  6、才华《东方不败》  7、爱情《罗马假日》  优质答案(2)  《最初的梦想》  影…查看详情

十大财务软件分享,总有一款适合你

随着时代的变迁,如今的财务早已经不同于以往的“账房先生”,仅凭算盘和纸笔就能指导“天下”。现在的企业拥有庞大的数据需要分析处理,以及各项数据申报,而这些都是离不开财务软件的辅助。但是对于选购财务软件,我们不仅要擦亮双眼,还要了解相关财务软件…查看详情

公司网站建设需要多少钱?包含4个部分费用

随着我国经济的不断进步,创业环境有了很大的改善。很多创业人士在创投初期就会开始着手打造公司网站,这是一个公司对外树立形象的重要途径,甚至有人说公司网站平台的成功打造就是创业成功的一半。那么就一定会有人问了,公司网站建设到底需要多少钱呢。下面…查看详情

解压文件的软件哪个好?好用的解压文件软件推荐

当我们接收一些文件的时候,很有可能是属于压缩的文件,那么这个时候想要查看文件,就应该对文件进行压缩,需要用到比较好的软件,能够压缩文件的软件很多。那么解压文件的软件哪个好?接下来就给大家详细的介绍几款比较好的解压文件的软件,希望…查看详情

会员卡管理系统价格影响因素有哪些?

会员卡管理系统价格影响因素有哪些?会员卡管理系统价格影响因素还是比较多的,比如说软件的开发成本等等,大家应该都知道,在软件开始上线之前需要经过很多环节,包括了软件需求方面的调研工作以及功能流程的原型确定,再就是到后期的编码开发、软件反复测试…查看详情

erp有哪些品牌,可供企业选择

在如今,企业已难仅依靠自己内部资源在市场竞争中获得优势,还需将供应商、制造商、客户等集中利用,产生高效生产和经营、收获低成本、高效率的竞争优势,所以erp系统纷纷被企业所使用。那么现今市场上erp有哪些品牌可供企业选择呢?不妨接着往下看。图…查看详情

外贸独立站的建站技巧有哪些?

外贸独立建站,可能很多人并没有听说过这个名词,其实简单来说就是建立一个属于自己能够掌控的平台,而且是属于电商平台将商品传上去之后需要自己去进行推广去营销。因此在进行外贸独立站的建设时,也应该有掌握一些相关的技巧,这样在推广营销的…查看详情

matlab下载哪个版本好

MATLAB2018a怎么下载安装与激活?答:mathworksmatlabr2018a中文版,64位版本,附带了相应的序列号和许可文件,可以完美成功激活软件,其详细的安装教程可参考下文,希望对你有帮助 matlab2018a 教程: …查看详情

人气火爆的言情小说排行榜,哪本是你的最爱?

每个人所选择的小说不相同,对于看完小说的感受也不一样,那么,想要快速的选出一部好的小说去看,就要提前了解一下言情现代小说排行榜都有哪些,这样才可以选出一部好的小说去看。1《何以笙箫默》顾漫(著)一段年轻时候的爱情,牵扯出一辈子的纠缠不清。学…查看详情

最新文章