在Windows平台上安装Dubbox框架

在Windows平台上安装Dubbox框架

一、分布式系统概述

分布式处理方式越来越受到业界的青睐——计算机系统正在经历一场前所未有的从集中式向分布式架构的变革。分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统。分布式系统具有几个方面的特征:分布性、对等性、并发性、缺乏全局时钟、故障总会发生。

分布式事务是指事务的参与者、支持的服务器、资源服务器以及事务管理器分别位于分布式系统的不同节点之上。通常一个分布式事务中会涉及对多个数据源或业务系统的操作。一个最典型的分布式事务场景:一个跨银行的转账操作涉及调用两个异地的银行服务,其中一个是本地银行提供的取款服务,另一个则是目标银行提供的存款服务,这两个服务本身是无状态并且是互相独立的,共同构成了一个完整的分布式事务。

分布式系统CAP定理:一个分布式系统不可能同时满足一致性(C:Consistency)、可用性(A:Availability)和分区容错性(P:Partition tolerance)这三个基本需求,最多只能同时满足其中的两项。

分布式系统BASE理论:BASE 是Basically Available(基本可用)、Soft state(软状态)和Eventually consistent(最终一致性)三个短语的简写,是由eBay 的架构师提出的。BASE 是对CAP 中一致性和可用性权衡的结果,其来源于对大规模互联网系统分布式实践的总结,是基于CAP 定理逐步演化而来的,其核心思想是即使无法做到强一致性(Strong consistency),但每个应用
都可以根据自身的业务特点,采用适当的方式来使系统达到最终一致性(Eventual consistency)。

二、分布式架构演进

  • 分布式:一个业务拆分成多个子业务,部署在不同的服务器上。
  • 集群:同一个业务,部署在多个服务器上。

例如:电商系统可以拆分成商品,订单,用户等子系统。这就是分布式,而为了应对
并发,同时部署好几个用户系统,这就是集群。

服务拆分以后,服务之间的通信可以通过RPC 技术,比较典型的有Webservice、Hessian、HTTP、RMI 等。如当前的Dubbo 和Spring Cloud 都是目前比较流行的微服务框架。

三、安装Dubbox框架

Dubbox是一个分布式服务框架,其前身是阿里巴巴开源项目Dubbo,被国内电商及互联网项目中使用,后期阿里巴巴停止了该项目的维护,当当网便在Dubbo基础上进行优化,并继续维护,为了与原有的Dubbo区分,故将其命名为Dubbox。

1、安装JDK

2、安装ZooKeeper

(1)下载

http://zookeeper.apache.org

(2)解压缩

在Linux上面解压缩tar包,利用WinSCP将压缩之后的内容拷贝到Windows的D:\zookeeper目录里:

(3)配置ZooKeeper

将样例配置文件zoo_sample.cfg文件复制生成zoo.cfg:

利用文本编辑配置文件zoo.cfg,添加红色框里的内容,设置数据目录与日志目录:

ticktime:时长单位为毫秒,为 zk 使用的基本时间度量单位。例如,1 * tickTime 是客户端与 zk服务端的心跳时间,2 * tickTime 是客户端会话的超时时间。 tickTime 的默认值为 2000 毫秒,更低的 tickTime 值可以更快地发现超时问题,但也会导致更高的网络流量(心跳消息)和更高的 CPU 使用率(会话的跟踪处理)。
dataDir:用于配置存储快照文件的目录。
dataLogDir:日志路径
clientPort:zk 服务进程监听的 TCP 端口,默认情况下,服务端会监听 2181 端口。

(4)配置环境变量

新建一个环境变量ZOOKEEPER_HOME,值为“D:\zookeeper”。

修改Path变量,添加内容:%ZOOKEEPER_HOME%\bin;%ZOOKEEPER_HOME%/conf;

(5)启动ZooKeeper服务

(6)启动ZooKeeper客户端

3、安装Dubbox

(1)下载

https://github.com/dangdangdotcom/dubbox

(2)解压缩到D:\dubbox