天天看点

Dubbo+zookeeper的搭建开始

Dubbo环境搭建

  • 开始
    • 分布式应用架构
    • 流动计算架构
    • Dobbo针对的系统结构演进线路图
    • Dubbo的架构:
    • 上图Dubbo服务调用流程
    • Dubbo优缺点
        • 优点:
        • 缺点:
    • Dubbo提供的注册中心有如下几种类型可供选择:
    • 安装

开始

分布式应用架构

当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求

用于提高业务复用及整合的 分布式服务框架(RPC) 是关键

流动计算架构

随着服务化的进一步发展,服务越来越多,服务之间的调用和依赖关系也越来越复杂,诞生了面向服务的架构体系(SOA Service-Oriented Arthitecture),也因此衍生出了一系列相应的技术,如对服务提供、服务调用、连接处理、通信协议、序列化方式、服务发现、服务路由、日志输出等行为进行封装的服务框架

此时,用于提高机器利用率的资源调度和治理中心(SOA) 是关键

微服务就是SOA架构的演进

Dobbo针对的系统结构演进线路图

RPC讲Dobbo,SOA讲SpringCloud

Dubbo+zookeeper的搭建开始

Dubbo的架构:

Dubbo+zookeeper的搭建开始

上图Dubbo服务调用流程

  1. 服务容器负责启动,加载,运行服务提供者。
  2. 服务提供者在启动时,向注册中心注册自己提供的服务。
  3. 服务消费者在启动时,向注册中心订阅自己所需的服务。
  4. 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
  5. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
  6. 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心

Dubbo优缺点

优点:

透明化的远程方法调用

像调用本地方法一样调用远程方法;只需简单配置,没有任何API侵入

软负载均衡及容错机制

可在内网替代nginx lvs等硬件负载均衡器

服务注册中心自动注册 & 配置管理

不需要写死服务提供者地址,注册中心基于接口名自动查询提供者ip

使用类似zookeeper等分布式协调服务作为服务注册中心,可以将绝大部分项目配置移入zookeeper集群

服务接口监控与治理

Dubbo-admin与Dubbo-monitor提供了完善的服务接口管理与监控功能,针对不同应用的不同接口,可以进行 多版本,多协议,多注册中心管理

缺点:

只支持JAVA语言

Dubbo提供的注册中心有如下几种类型可供选择:

Multicast注册中心

Zookeeper注册中心

Redis注册中心

Simple注册中心

安装

前提:

  1. 安装了docker的centos7虚拟机或者云主机。
  2. 已经了解了分布式相关概念

操作步骤:

打开docker官网 https://hub.docker.com/_/docker/

Dubbo+zookeeper的搭建开始

输入

docker pull zookeeper
           

但速度可能比较慢,这里可以切换为国内镜像站下载:

"http://ovfftd6p.mirror.aliyuncs.com",
 "http://registry.docker-cn.com",
"http://docker.mirrors.ustc.edu.cn",
"http://hub-mirror.c.163.com"
           

在XShell上输入

docker pull ovfftd6p.mirror.aliyuncs.com/library/zookeeper
           
Dubbo+zookeeper的搭建开始

下载完毕,查看镜像文件

docker images
           
Dubbo+zookeeper的搭建开始

输入开启docker镜像(a7dfca5868是镜像ID,zkcpp是镜像名字随便起都行,映射地址最好是2181不要改动)

docker run --name zkcpp  --restart always -d -p 2181:2181 a7dfca5868
           
Dubbo+zookeeper的搭建开始

查看镜像运行情况

Dubbo+zookeeper的搭建开始
Dubbo+zookeeper的搭建开始
Dubbo+zookeeper的搭建开始