27

Dubbo监控中心

 4 years ago
source link: http://www.cnblogs.com/yangyuanhu/p/12495119.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Dubbo-admin管理控制台目前还没有正式发布,但是源码已托管在github上,我们可以自行下载使用;

目前的管理控制台已经发布0.1版本,结构上采取了前后端分离的方式,前端使用Vue和Vuetify分别作为Javascript框架和UI框架,后端采用Spring Boot框架。既可以按照标准的Maven方式进行打包,部署,也可以采用前后端分离的部署方式,方便开发,功能上,目前具备了服务查询,服务治理(包括Dubbo2.7中新增的治理规则)以及服务测试三部分内容。

因为是源码,所以我们如果是开发过程的话可以直接使用ide运行,部署则需要先进行打包

打包过程

下载源码

使用git命令,或是其他任何git工具从仓库克隆获取源码

地址: https://github.com/apache/dubbo-admin.git

克隆:

git clone https://github.com/apache/dubbo-admin.git

根据部署需求修改配置文件

文件位置: dubbo-admin-server/src/main/resources/application.properties

#配置中心  统一管理公共配置
admin.config-center=zookeeper://127.0.0.1:2181
#注册中心  
admin.registry.address=zookeeper://127.0.0.1:2181
#元数据中心  将元数据信息保存到独立的key-value的存储中,降低注册中心网络开销
#包括 provide和consumer中独有的信息不需要被共享
#(元数据)provider的接口信息,方法信息等   可以放在zookeeper或是redis
admin.metadata-report.address=zookeeper://127.0.0.1:2181
# 默认端口8080 如需修改则添加配置
server.port=8080

打包项目

#进入源码根目录下
cd dubbo-admin
#打包
mvn clean package
#若无法通过测试 如注册中心未启动啥的 可用下面的命令跳过测试
mvn install -DskipTests

如果是第一次打包需要下载大量的依赖包,

问题解决

1.默认会下载node9.1.1到maven仓库,下载速度非常慢,如果下载不超过也会导致无法继续打包,我们可以手动从镜像下载后放入maven仓库

镜像地址: https://mirrors.sjtug.sjtu.edu.cn/nodejs-release/v9.11.1/node-v9.11.1-darwin-x64.tar.gz

6Jfy22M.png!web

下载完成后将压缩包放置上图中的本地仓库路径下,然后重新执行打包

2.根据每台机器配置不同某些路径可能没有执行权限,根据错误信息授权即可

jiIRfiy.png!web

添加执行权限:

chmod + x /Users/jerry/git/dubbo-admin/dubbo-admin-ui/node/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin/*

若打包成功则会看见maven标志性的build success

AFnmUjY.png!web

部署

部署分为两种方式

前后端不分离:

#jar文件位置: dubbo-admin/dubbo-admin-distribution/target/dubbo-admin-0.1.jar
java -jar dubbo-admin-0.1.jar

由于zookeeper使用了netty来实现网络服务,netty会占用8080端口,导致dubbo-admin中的tomcat无法启动,有两种方式指定端口

1.修改配置文件,需要重新打包部署

2.启动时添加参数指定端口

java -jar dubbo-admin-0.1.jar --server.port=8081

前后端分离:

前后端分离可以更方便的修改前端页面,使用nodejs作为前端服务器

安装nodejs:

wget https://npm.taobao.org/mirrors/node/v9.9.0/node-v9.9.0-linux-x64.tar.gz
ln -s ~/node-v9.9.0-linux-x64/bin/node /usr/bin/node
ln -s ~/node-v9.9.0-linux-x64/bin/npm /usr/bin/npx
ln -s ~/node-v9.9.0-linux-x64/bin/npm /usr/bin/npm

修改node配置文件:

vim ~/dubbo-admin/dubbo-admin-ui/config/index.js

Uf2Afmn.png!web

部署成功后可以通过配置文件中dubbo-admin配置文件中指定的用户名和密码登录到监控中心

我们启动测试工程发布一个服务就可以在监控中心看见服务信息;

MvAFRnE.png!web

特别注意:在监控中心添加的配置会覆盖provide以及consumer中的配置,优先级是最高的;

Dubbo实战案例:

使用Dubbo将前期练习项目CRM重构为分布式

uA7Rnyn.png!web

重构后构架:

ZNvmYfY.png!web

工程结构:

FNfEZfV.png!web

最后必须要强调的一点,若某个非内置类型的对象需要在dubbo协议中传递时(例如User,Customer)则必须保证该类型实现了Serializable接口

错误:

7Rrea2f.png!web curator-framework版本太低

若需源码请私信


Recommend

  • 96
    • blog.51cto.com 6 years ago
    • Cache

    dubbo线程监控-deven的博客

    一直以来,dubbo线程监控都是一个痛点,目前很多业务都是只监控jvm线程使用情况,对于dubbo没有好的解决方案,今天有一个业务抢购,其中一个组件线程爆满了,通过日志查看线程满时有会打出如下日志:10:42:57 WARN [] support.AbortPolicyWithReport.rejectedExecu...

  • 79
    • zjutkz.net 6 years ago
    • Cache

    dubbo源码学习

    dubbo源码学习

  • 72
    • zjutkz.net 6 years ago
    • Cache

    dubbo中的请求与编/解码

    dubbo中的请求与编/解码

  • 54
    • ilovey.live 4 years ago
    • Cache

    Dubbo(二):zookeeper 注册中心

    zookeeper 注册中心 Zookeeper 是 Apacahe Hadoop 的子项目,是一个树型的目录服务,支持变更推送,适合作为 Dubbo 服务的注册中心,工业强度较高,可用于生产环境,并推荐使用 [1]。 流程说明: 服务提...

  • 25

    12306监控中心首次亮相:余票实时显示 刷票秒速识别

  • 24

    上篇我们讲了Dubbo中有一个非常本质和重要的功能,那就是服务的自动注册与发现,而这个功能是通过注册中心来实现的。上篇中使用zookeeper实现了注册中心的功能,同时了提了dubbo中有其他许多的注册中心的实现。 今天我们就来看看另...

  • 2

    系统监控中心:一个理想的 Linux 任务管理器和资源监视器 | Linux 中国“系统监控中心”是一个多合一的开源应用,不用使用多种工具就可以监控基本的系统资源情况。来源:

  • 5

    安装ZooKeeper 我这里使用zookeeper作为服务注册中心,版本3.4.9,下载地址: http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.12/ 下载后,...

  • 5

    当服务提供者启动时,服务提供者将自己提供的服务信息注册到注册中心,注册中心将这些信息记录下来。服务消费...

  • 4

    任务中心:一款流畅的 Linux 系统监控应用 作者:Sourav Rudra 2023-10-06 14:27:10 这是一款为 Linux 打造的用户友好的系统监控应用。让我们一起来了解! ...

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK