1.什么是Dubbo框架
Dubbo(读音[ˈdʌbəʊ])是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成。
Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:
1.面向接口的远程方法调用
2.智能容错和负载均衡
3.以及服务自动注册和发现。
1.2 什么是RPC
RPC是远程过程调用(Remote Procedure Call)的缩写形式 。SAP系统RPC调用的原理其实很简单,有一些类似于三层构架的C/S系统,第三方的客户程序通过接口调用SAP内部的标准或自定义函数,获得函数返回的数据进行处理后显示或打印。
总结:需要调用第三方完成本地的服务.
1.3 什么是SOA思想(架构设计思想)
面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和协议联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构件在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。
2. Dubbo框架工作原理
组件说明:
1.提供者(Provider) 主要负责实现业务接口
2.注册中心(Registry) 注册中心基于心跳检测机制,可以非常灵活的检查服务是否可用,以及服务自动的注册和发现功能
3.消费者(Consumer) 负责接收用户的请求信息的(页面)
4.监控(Monitor) 监控整合Dubbo框架内部的状态信息
2.1 注册中心工作原理
步骤:
- 当服务提供者启动时,将自己的IP地址/端口号/服务数据一起注册到注册中心中.
- 当注册中心接受提供者的数据信息之后,会维护服务列表数据
- 当消费者启动时,会连接注册中心
- 获取服务列表数据,之后在本地保存记录
- 当用户需要业务操作时,消费者会根据服务列表数据,之后找到正确的IP:PORT,直接利用RPC机制进行远程访问
- 注册中心都有心跳检测机制,当发现服务器宕机/或者新增服务时,则会在第一时间更新自己的服务列表数据,并且全网广播通知所有的消费者.
3. Zookeeper
3.1 zookeeper介绍
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
ZooKeeper包含一个简单的原语集,提供Java和C的接口。
ZooKeeper代码版本中,提供了分布式独享锁、选举、队列的接口,代码在$zookeeper_home\src\recipes。其中分布锁和队列有Java和C两个版本,选举只有Java版本。
总结: zookeeper 负责服务的协调调度,当客户端发起请求时,返回正确的服务器地址.
3.2 下载zookeeper
3.3 Zookeeper 按照
- zookeeper必须依赖JDK,安装前应先查看jdk状态.
- 下载安装之后并重命名
3.4 修改配置文件
- 在zk根目录下创建文件夹data/log
命令:mkdir data log
- 进入conf目录中修改配置文件
- 复制配置文件并且修改名称
命令:cp zoo_sample.cfg z