文档章节

dubbox

抢小孩糖吃
 抢小孩糖吃
发布于 2017/03/23 15:43
字数 1328
阅读 231
收藏 2

编者注

做架构师需要学习微服务,个人认为thrift很好,但是还是需要像dubbo这样的服务治理,在结合zookeeper的服务注册中心。才能够详尽了解整体服务发生的问题所在。学习dubbo,看到N年没有更新。随即发现dubbox,已经各种把版本升级了。扫了下代码,鉴于被大家已经实施过,强壮型是OK的。但是教程总是语焉不详。在自己测试的时候进行详细描述。

Dubbo

Dubbo官网

DUBBO官网

Dubbo简介

DUBBO是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。(编者注:由于和阿里的企业级服务治理项目冲突,虽然开源但无官方支持)

Dubbo文档

dubbo用户手册

Dubbox

Dubbox官网

Dubbox-Git

Dubbox简介

Dubbox是Dubbo的扩展。把旧的库进行了升级,并提供了一些新的特性。详细见dubbox-oschina

基础概念

详细画图见链接 http://note.youdao.com/noteshare?id=3acfb50049e6845622db7f1cac688464

graph TD
    A[Provider]
    B[Registry]
    C[Consumer]
    D[Monitor]
    A -->|1.register| B
    C -->|2.subscribe| B
    B -->|3.notify| C
    C -->|4.invoke| A
    C --> |5.count| D
    A --> |5.count| D

首先我们需要了解这些内容的概念

所有节点和角色

Provider:服务提供者,启动服务后,向注册中心进行注册。
Consumer:服务消费者,启动后向,向注册中心获取服务提供者的列表。
Registry:注册中心。
Monitor:监控中心。
Container:服务运行容器。可以是VM也可以是docker

关系描述

第一步,首先需要的是启动注册中心,dubbo支持zookeeper、redis等注册中心。
第二步,需要启动监控中心,监控中心会向注册中心进行注册,告诉注册中心自己存在的位置。
第三步,需要启动服务提供者,服务提供者首先向注册中心进行服务注册,告诉注册中心自己在哪里。并且通过服务提供者获取监控中心的,每分钟给监控中心返回服务使用次数。
第四步,启动服务消费者,服务消费者首先向注册中心或者服务提供者的列表,并且通过服务注册中心获取的监控中心,每分钟给监控中心返回调用服务的使用时长。

其他过程请看dubbo的文档。

实施

参考:http://doc.okbase.net/congcong68/archive/112508.html

启动注册中心

Dubbo默认推荐的就是ZooKeeper,而Dubbox也同样推荐ZooKeeper作为注册中心。ZooKeeper的安装配置详细见https://my.oschina.net/hava/blog/862955

编译Dubbox

下载Dubbox

前提:需要安装java、git和maven

git clone https://github.com/dangdangdotcom/dubbox

进入dubbox目录编译

mvn install -Dmaven.test.skip=true

或者使用idea,build该项目

dubbo-admin

进入目录获取war包dubbox/dubbo-admin/target/dubbo-admin-2.8.4.war,部署到tomcat中就可以启动。注意在启动前,需要修改webapps/dubbo-admin-2.8.4/WEB-INF/dubbo.properties

[root@localhost WEB-INF]# cat dubbo.properties 
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.admin.root.password=root
dubbo.admin.guest.password=guest

需要修改zookeeper的IP地址,如果不修改zookeeper地址,会导致无法启动应用。
还需要修改第二行的root账户的密码,防止无关用户进入修改

[root@localhost WEB-INF]# cat dubbo.properties 
dubbo.registry.address=zookeeper://192.168.1.156:2181
dubbo.admin.root.password=xxx
dubbo.admin.guest.password=guest

访问时,会询问dubbo-admin的管理用户,默认用户名密码为root,注意修改。 输入图片说明
但是当前的系统里是没有任何信息的,需要进行以下步骤。

运行

注意,在运行时发现dubbo-admin的log非常多,需要进行独立管理。建议使用yum安装的tomcat,直接具有根据日期所划分的日志。

dubbo-monitor

这里有两个监控中心,一个是dubbox自带的监控中心,一个是由韩都衣舍编写的dubbo-monitor。

dubbo-simple-monitor

该内容在dubbox源代码dubbox/dubbo-simple/dubbo-simple-monitor。由于两年没有更新,并且dubbo-monitor的UI更友善,编者选择dubbo-monitor

dubbo-monitor

dubbo-monitor

介绍

Dubbo Monitor是针对Dubbo开发的监控系统,基于dubbo-monitor-simple改进而成,可以理解为其演化版本。该系统用关系型数据库(MySQL)记录日志的方式替代了dubbo-monitor-simple写文件的方式。注:亦可改为其他Relational Database(关系型数据库)。

PS: 项目目前依赖的是dubbox的2.8.4版本,但是dubbox并没有修改过监控相关的代码,因此理论上也可以支持dubbo的最新版本。
编者注:由于dubbo-monitor数据是存放到数据库当中,并且打包成war,部署到tomcat等容器。可以对容器进行管理,大大提高了对monitor本身的管理便捷度。

下载dubbo-monitor

git clone https://git.oschina.net/handu/dubbo-monitor.git

编译

mvn install -Dmaven.test.skip=true

生成后,可以在dubbo-monitor/target/dubbo-monitor.war查看到生成的war

修改配置并运行

详细配置见git,访问url,根据配置文件所配置的用户密码,输入

http://192.168.1.162:8080/dubbo-monitor

我们可以看到下图,dobbo-monitor已经把自己注册成了服务
输入图片说明
可以在dubbo-admin看到monitor被注册
输入图片说明

编写自己的服务进行注册

© 著作权归作者所有

抢小孩糖吃

抢小孩糖吃

粉丝 74
博文 258
码字总数 247185
作品 0
东城
程序员
私信 提问
Dubbo进阶(十一)—— Dubbo与DubboX区别

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sunhuaqiang1/article/details/83097067 Dubbo进阶(十一)—— Dubbo与DubboX区别 前世今生 Dubbo源于阿里的...

孙华强
2018/10/16
0
0
dubbox2.8.4编译发布到私服(nexus)

Maven介绍: Maven的具体介绍及安装说明可以参考: http://wentao365.iteye.com/blog/903396 http://jingyan.baidu.com/article/295430f136e8e00c7e0050b9.html Nexus介绍: Nexus的具体介绍......

凯文加内特
2015/04/29
12.7K
7
dubbox粗记

一直在用dubbo2.5。今天花了一天时间研究了当当网的dubbox项目并在本地运行,粗略记录一下认识。 dubbox的主要升级点: 1、dubbox弥补了dubbo中没有REST框架的不足,但REST性能指标比RPC要差...

Jim_Ai
2016/07/18
1K
4
SpringBoot之Dubbox

上次springboot集成dubbo写过一个简单的demo调用的方式,由于spring版本的问题,这次使用duboox,完全基于注解的方式。 dubbox 地址:https://github.com/dangdangdotcom/dubbox 由于dubbox没...

王念博客
2016/04/24
9.4K
4
分布式服务-DUBBOX(一):编译打包

1、概述 dubbo-阿里巴巴开源的分布式服务框架,现已停止维护。 dubbox-当当根据自身需求,在dubbo新增一些新功能,将其名为dubbox(Dubbo eXtensions)。 2、编译、打包并上传到私库(dubbo-2....

warlockssss
2016/11/28
1K
3

没有更多内容

加载失败,请刷新页面

加载更多

教你玩转Linux—添加批量用户

添加和删除用户对每位Linux系统管理员都是轻而易举的事,比较棘手的是如果要添加几十个、上百个甚至上千个用户时,我们不太可能还使用useradd一个一个地添加,必然要找一种简便的创建大量用户...

xiangyunyan
30分钟前
6
0
返回提示信息,如:xxx创建成功!

【服务端】在输出的方法块中,加入要输出的字段(qcm_batch_id) QCMUserType.cs: public struct QCM_Custom_Create_Batch_Out_Tag { public BASCoreType.Cmn_Out_T......

_Somuns
30分钟前
6
0
Aliyun Serverless VSCode Extension v1.12.0 发布

Aliyun Serverless VSCode Extension 是阿里云 Serverless 产品 函数计算 Function Compute 的 VSCode 插件,该插件结合了函数计算 Fun 工具以及函数计算 SDK ,是一款 VSCode 图形化开发调试...

阿里云官方博客
31分钟前
6
0
程序员如何培养解决复杂问题的能力?

今天在上网时候,突然看到了这篇文章,感觉非常的适合现在的自己去思考下,可能也适用在座的读者。程序员不仅仅是敲代码,更是一个复合能力的结合体,也不仅仅停留在技术和代码阶段。你想要成...

哥本哈根的小哥
34分钟前
8
0
市场变化驱动产品思维升级

宜信科技中心财富管理产品部负责人Bob,与大家一起聊聊个性化推荐产品功能的设计和B端产品的功能策划方式。 拓展阅读:回归架构本质,重新理解微服务 智慧金融时代,大数据和AI如何为业务赋能...

宜信技术学院
35分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部