{重庆校区}淘淘项目技术总结.docx

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
{重庆校区}淘淘项目技术总结

项目架构分布式soa按照功能把系统拆分,拆分成独立的功能,单独为某一个节点添加服务器,需要之间的配合才能完成整个业务逻辑,叫做分布式系统之间需要进行通信(采用dubbo服务中间件实现系统间的通信)分布式优点:把模块拆分,使用接口通信,降低模块间的耦合度拆成多个子项目,方便任务的分配和分发,这样可以将各个项目交由不同的团队进行开发。对项目的延续开发有很大好处,如:当项目需要添加一个子项目时,只需要调用其他系统的接口即可。可以灵活的进行分布式部署缺点:采用soa增加了项目的工程量,因为soa系统之间需要进行通信,故而也要使用到远程通信,接口的开发工作量的到了巨大的增加。各个模块有一些通用的业务逻辑无法公用使用Maven管理工程方便架包管理方便工程之间的依赖管理Maven自带自动打包服务端使用Svn(版本控制系统)一般一个项目组只有一个svn,并不是每个开发者都需要安装服务端。Svn是把数据放在一个中央资料档案库(repository)中,这个档案库就像一个文件服务器,它会记住每一次的数据变更,这样可以很方便的恢复数据。Svn的优缺点:svn对中文支持很好,操作简单,没有难度,使用界面统一,功能完善,操作方便。Git(分布式版本控制系统)作用:用于有效、高速的处理从很小到非常大的项目版本管理。分布式相对于集中式的最大区别在于开发者可以提交到本地,每个开发者通过clone,,在本地机器上拷贝一个完整git仓库。Git的功能特性:从服务器上克隆完整的git仓库到单机上,包括代码和版本信息。在自己的机器上根据不同的开发目的,创建分支和修改代码在单机上自己创建的分支上提交代码在单机上合并分支解决冲突:一般是编码者之间协商处理Git的优缺点:对程序源代码进行差异化的版本管理,代码库占极少的空间,易于代码的分支管理,不支持中文,图形界面支持差,使用难度大,不易推广。Dubbo(服务中间件)阿里巴巴产品Dubbo有五个节点provider—服务提供方Consumer—服务消费方Register—服务注册中心Monitor—统计服务的调用次数和调用时间的监控中心Container—服务运行容器五个节点间的调用关系服务器负责启动,加载,运行服务提供者,服务提供者启动时向注册中心注册自己提供的服务,消费者启动时去注册中心订阅自己所需要的服务,注册中心返回服务提供者地址给消费者,如果有变更注册中心将基于长连接推送变更数据给消费者。消费者从提供者地址列表中,基于负载均衡算法,选一台提供者进行调用,如果失败,再选择另一台调用;提供者与消费者之间,在内存中累积调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。Spring中dubbo的配置提供方:<dubbo:service>,里面需要给出接口的全限定名消费方:<dubbo:reference>同上Zookeeper(注册中心)相当于目录服务器,服务的提供者和消费者只在启动时与注册中心交互,注册中心不转发请求,压力较小。它是一个树形的目录服务,支持变更推送适合作为dubbo的注册中心使用dubbo的好处:使用rpc协议进行远程调用,直接使用socket通信,传输效率高,并且可以统计出系统间的调用关系和调用次数。(soa项目中推荐使用)与webservice相比:webservice基于soap协议,效率不高,项目中不推荐使用。使用restful形式的服务:http+json。很多项目中应用,如果服务太多,服务之间的调用关系混乱,需要治疗服务涉及概念:soap:SOAP 最初代表“简单对象访问协议” SOAP 利用 XML 技术定义一种可扩展的消息处理框架,它提供了一种可通过多种底层协议进行交换的消息结构。使用http协议传输xml文本的技术restful:一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。rpc:(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。图片服务器FastDFS是c语言编写的分布式文件系统架构:tracker和storage,客户端请求tracker进行文件上传下载,通过tracker调度,最终由storage完成文件的上传下载。Tracker:作用:负载均衡和调度操作:通过tracker在文件上传时可以根据一些策略找到storage提供文件上传服务,可以将t

文档评论(0)

138****7331 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档