拆分不同的东西(Y轴原则)

来源:设计经验分享网
添加时间:2024年02月
摘要:有时该原则被称为通过服务或资源进行扩展,重点是扩展数据集合、事务和程序员小组。非常大的数据集合,数据间关系并不重要口大型的复杂系统,需要特别扩展编程资源。 有时该原则被称为通过服务或资源进行扩展,重点是扩展数据集合、事务和程序员小组。非常大的数据集合,数据间关系并不重要口大型的复杂系统,需要特别扩展编程资源。

用动词拆分操作,用名词拆分资源,或者兼而有之口根据动词/名词方法的定义,拆分服务和数据。不仅能有效地扩展事务,还能有效地扩展与事务相关的大型数据集合。Y轴拆分,或者说面向数据服务的拆分,能够有效地扩展事务、大型数据集合,并且有助于故障隔离。

抛开关于面向服务的架构(SOA)和面向资源的架构(ROA)这两个概念的争论,深入了解它们的基本前提就会发现,它们至少有一点是相同的,即都要求架构师和程序员考虑架构中的职责拆分。大体上就是采用动词(服务)和名词(资源)的概念来实现拆分。即扩展立方上的第二个轴,采用的就是这种方法。简而言之,是通过拆分站点中的各种功能和数据,从而实现扩展。采用简单方法就是把产品拆分为名词和动词,或者两者的组合。



首先,我们看看怎么用动词拆分站点。如果我们的站点是相对简单的电子商务站点,那么可以用动词把它拆分为注册、登录、搜索、浏览、查看、加入购物车、购买。在这些事务中,每一个事务所需要执行的数据可能都与其他事务需要的大不相同。例如,可能有人会说,注册和登录需要的数据是相同的,但其实它们都需要一些特有的数据。例如,注册可能需要检查该用户选择的ID是不是已经被别人选用了,而登录时则无需了解其他用户的ID。注册时可能需要把大量的数据写入持久数据存储中,而登录则是一种验证用户身份的只读应用。注册可能需要用户存储许多识别个人身份的信息,包括信用卡号等,而在用户只是想建立登录连接时则无需访问这些信息。

在研究搜索和登录这两种截然不同功能时,依据动词拆分的扩展方法的不同之处以及带来的好处就更加明显了。在登录时,我们关心的通常是验证用户身份,可能会建立某些会话(这里我们采用术语会话,而不是采用状态)。登录功能关心的是用户,因此需要缓存用户数据并与之进行交互操作。另一方面,搜索关心的是查找数据项,而最重要的是用户的意图(通常是用户在搜索框内输入的搜索字符串、查询或搜索项)以及我们存储在目录中的目录项。拆分这些数据集,可以使我们在系统有限的内存中缓存更多的数据,而且,由此产生的高缓存命中率也会加快事务的处理。在后端的持久性系统(如数据库)中标分数据,就能够在这些系统中分配更多的专用内存,加速对客户(应用服务器)请求的响应。由于更好地利用了系统资源,这两个系统都会相应地更快。显然,这是拓展这些系统最容易的方法,受内存限制地更少。此外,通过采用X轴扩展)相同的方法拆分事务,Y轴的事务扩展能力也增加了。

稍等!如果我们想把用户和产品信息合并在一起,例如向客户推荐产品,又该怎么办呢?注意,这里用了新的动词一一推荐。这是另一种需要拆分数据和事务的情况。我们可能会加入一种推荐服务,根据用户过去的购买行为,与具有相似购买行为的用户进行异步评估。这样可能会把数据移植到登录功能或搜索功能(当用户与系统交互时就会向他显示)。或者也可能是用户浏览器发出的一个单独的同步调用,显示在专门分配给这个推荐调用的区域。

现在可以考虑如何用名词来拆分项了。还是拿电子商务的例子来说,我们可以标识一些最终会对其进行操作的资源(而不是表示要执行的操作的动词)。我们可以认为电子商务站点是由产品目录、产品库存清单、用户账户信息、市场营销信息等构成的。采用名词拆分的方法,可以根据这些分类拆分数据,然后定义一套高级的原函数,如创建、读、更新和删除等,对这些原数据进行操作。

Y轴拆分不仅适用于扩展数据集合,还适用于扩展代码库。由于服务和资源都被拆分了,那么执行的操作和执行它们所必需的代码也会被拆分。这就意味着可以把开发复杂系统的大型编程小组拆分成各个子系统的专家组,程序员不用再担心自己必须是网站建设系统每一部分的全能专家了。当然,由于可以拆分服务,所以扩展事务也就相当容易了。

 

平面设计相关资讯推荐阅读:


ERP软件的定制开发包括哪些服务科技分享网页首页的排版与形象制作要点响应式网页设计的核心是遵循三个主要原则Robots.txt是什么网页设计,商城网页设计需要注意哪些问题对照国外网页,深圳网页建设需要做哪些改进网页建设时使用单页面有什么优缺点介绍深圳网页建设需要多少费用 靠谱的网页设计公司哪个品牌好为什么说软件定制化远比你想象的重要企业网页建设时要如何解决网页兼容问题网页制作对企业竞争力如何建立网页都有哪些原因超详细的微信h5页面制作教程企业网页的存在不会被自媒体取代科技-深圳电子商务网页建设基本方案 品牌网页设计公司费用“大”网页的内容进化:价值内容如何展现iPhone手机轻松获取UDID的六种方式深圳网页建设中网页制作思路需要客户清晰有哪些提升单页滚动体验的高级技巧 设计网页公司电话 网页制作之该如何选好域名微信营销常用的推广手段有哪些网页建设:如何让用户体验VIP怎样才能把一个网页做好建设网页的过程中客户需提供哪些相关资料如何解决索引量大幅度下降深圳最好的网页设计,商城网页建设需要从哪些方面来入手如何判断一个网页的好坏如何设计出一个有利于营销的先进的网页举例说明:网页设计中的文字格式要求学院网页建设的几点思考深圳网页制作|响应式网页制作需要留意哪几个方面网页代运营能为企业带来什么互动网页带来的好处在深圳做网页建设备案与不备案有什么区别吗 企业网页设计制作公司哪个品牌好最值得大家关注的五个网页建设问题!手机网页设计必须留意什么难题深圳福田建设网页需要多少钱,企业网页建设分为哪几种类型网页运营时间久了为什么需要改版升级哪些原因会导致您的网页排名停滞不前公司应该如何建立一个可以赚钱的网页 网页设计都需要一个新闻工具包吗软件定制解决方案优质网页制作电商网页设计必须要重视哪些细节在网页建设中要做好哪些方面的工作网页建设公司如何解决后台上传资料的问题深圳网页设计:怎样的网页布局能够吸引人营销网页如何提高工业企业销售额如何让网页建设更吸引客户网页制作中如何避免搜索引擎陷阱网页建设优化怎么做到位如何设计更好的功能页面告诉大家BaiduspiderIP是多少品牌网页建设六大问题移动端网页和pc端网页有何异同网页建设要表示对搜索引擎的友好
网站备案号:豫ICP备2024041165号