什么是分布式?为什么使用分布式? 个人有一些浅薄的理解希望可以批评指正,从概念和应用 两个方面概述:      一.概念:分布式也叫分布式服务,也就是说 他是 一种面向服务思想的程序设计和架构风格,典型的特点是模块化的开发方式.对业务拆分,程序解耦,以应对我们网站或者平台 日渐复杂和庞大的实际业务场景.这样有几个个非常实际的好处是: 第1,服务之间解耦,相对独立,提高了程序的 伸缩性 利于我们 针对业务扩展 的实际场景的开发需求. 2. 通过分布式的独立部署 大大缓解维护工作 与 数据库访问的…
  [Spark]弹性分布式数据集RDD概述 弹性分布数据集RDD RDD(Resilient Distributed Dataset)是Spark的最基本抽象,是对分布式内存的抽象使用,实现了以操作本地集合的方式来操作分布式数据集的抽象实现.RDD是Spark最核心的东西,它表示已被分区,不可变的并能够被并行操作的数据集合,不同的数据集格式对应不同的RDD实现.RDD必须是可序列化的.RDD可以cache到内存中,每次对RDD数据集的操作之后的结果,都可以存放到内存中,下一个操作可以直接从内存…
概述 Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目 在大数据技术生态圈中,zookeeper(动物管理员),Hadoop(大象),Hive(蜜蜂),Pig(猪) 工作机制 zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架 负责存储和管理数据 接受观察者的注册 通知已经注册的观察者做出反应 实现集群中类似Master/Slave管理模式 zookeeper = 文件系统 + 通知机制 服务上线 获取当前服务列表 服务器节点下…
什么是Celery呢? Celery是一个用Python开发的异步的分布式任务调度模块. Celery本身不包含消息服务,使用第三方消息服务,也就是Broker,来传递任务,目前支持的有Rebbimq,Redis,数据库以及其他的一些比如Amazon SQS,Monogdb和IronMQ . Celery支持同步和异步执行两种模式.同步模式为任务调用方等待任务执行完成,这种方式等同于RPC(Remote Procedure Call), 异步方式为任务在后台执行,调用方调用后就去做其他工作,之后…
Dubbo 是阿里巴巴公司开源的一个Java高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成.不过,略有遗憾的是,据说在淘宝内部,dubbo由于跟淘宝另一个类似的框架HSF(非开源)有竞争关系,导致dubbo团队已经解散(参见http://www.oschina.net/news/55059/druid-1-0-9 中的评论),反到是当当网的扩展版本仍在持续发展,墙内开花墙外香.其它的一些知名电商如当当.京东.国美维护了自己的分支或…
谈到SpringCloud最新接触到的可能就是那五大"神兽",之前最先接触分布式开发是通过dubbo的RPC远程过程调用,而dubbo给我得感觉就是:虽然所有的主机物理上分布了,但是对于用户而言就仿佛是一个整体.而对我们的java开发人员而言,分布式开发的意义又是什么呢?也就是说哪里需要去使用分布式开发呢,其实在任何一个项目里面(MVC设计模式),业务操作是最为核心的部分,而所有项目之中你的业务操作是否完成直接决定了你的项目本身是否健壮.之前太年轻...一直感觉业务对一个追求技术培养得…
分布式环境特点 分布性 地域,区域,机房,服务器不同导致分布性 并发性 程序运行中,并发性操作很常见,比如同一个分布式系统中的多个节点,同时访问一个共享资源(数据库,分布式存储) 无序性 进程之间的消息通信,会出现顺序不一致的问题. 分布式环境面临问题 各个服务节点通信 网络本身的不可靠,因此涉及到一些的网络通信问题(每一个分布式项目都必须面临问题). 网络分区(脑裂) 当网络发生异常情况的时候,导致分布式系统中部分节点之间网络延时不断变大,最终导致组成分布式系统所有节点中,只有部分节点能够正常…
来源:http://985.so/aXe2 Dubbo 是阿里巴巴公司开源的一个Java高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成. 不过,略有遗憾的是,据说在淘宝内部,dubbo由于跟淘宝另一个类似的框架HSF(非开源)有竞争关系,导致dubbo团队已经解散,反到是当当网的扩展版本仍在持续发展,墙内开花墙外香. 参见: http://www.oschina.net/news/55059/druid-1-0-9 中的评论 其它…
Git是分布式的,并没有服务端跟客户端之分,所谓的服务端安装的其实也是git.Git支持四种协议,file,ssh,git,http.ssh是使用较多的,下面使用ssh搭建一个免密码登录的服务端. 1.提前安装git跟sshserver: 2. 创建一个用户,用来运行git服务: 新建一个用户,叫gituser,然后切换到gituser的默认目录,创建一个叫.ssh的文件夹,并在其中创建一个叫authorized_keys的文件,这个文件将用于存储git开发者的ssh公钥. 3.建立一个git仓…