springCloud的使用07-----消息总线(spring cloud bus)
spring cloud bus 将分布式的节点用轻量的消息代理连接起来。可用于广播配置文件的更改或服务之间的通讯,也可以用于监控。
spring cloud bus 默认只支持rabbitmq和kafka两个binder,也可以进行自己扩展。
1. 使用rabbitmq进行消息通讯
1.1 下载安装rabbitmq
1.1.1 rabbitmq依赖于Erlang,首先安装Erlang
下载地址 http://www.erlang.org/downloads, 双击.exe文件进行安装,将%ERLANG_HOME%\bin路径添加到path中。
在cmd中输入以下信息表示erlang安装成功
1.1.2 下载安装rabbitmq
下载地址http://www.rabbitmq.com/,双击.exe文件进行安装
1.1.3 安装rabbitmq-plugins
相当于一个管理界面,可以在浏览器中进行查看rabbitmq个消息队列以及exchange的工作情况。
安装方式:在rabbitmq的安装目录下的sbin目录下,(以管理员身份运行)输入rabbitmq-plugins enable rabbitmq-management 稍等会提示plugins安装成功。
如果报错按以下方式进行解决:rabbitmq-service stop -> rabbitmq-service remove -> rabbitmq-service install -> rabbitmq-service start -> rabbitmq-plugins enable rabbitmq-management
1.1.4 在浏览器中查看 http://localhost:15672
1.1.5 在sbin目录先运行 rabbitmqctl.bat status 命令,如果出现以下错误
将C:\Users\yanglin\.erlang.cookie文件,复制到C:\windows\System32\config\systemprofile目录下进行覆盖,重启ribbitmq
1.1.6 rabbitmq简单实用
1.1.6.1 查看用户和角色 rabbitmqctl.bat list_uses
1.1.6.2 增加用户 rabbitmqctl.bat add_user username password
修改密码:rabbitmqctl.bat change_password username newPassword
删除用户:rabbitmqctl.bat delete_user username
1.1.6.3 给用户授权(设置角色) rabbitmqctl.bat set_user_tags username role1 [role2](可以同时授权多个角色)
五大角色:超级管理员(adminstrator)、监控者(monitoring)、策略制定者(policymaker)、普通管理员(management)、其他的
超级管理员 | 可以登录控制台,查看所用的信息,并可对用户、策略进行操作 |
监控者 | 可以登录控制台,查看rabbitmq节点的相关信息(进程数,内存使用情况、磁盘使用情况) |
策略制定者 | 可以登录控制台,可以对策略(policy)进行管理 |
普通管理者 | 可以登录控制台,无法看到节点信息,也无法对策略进行管理 |
其他的 | 无法登录控制台,普通的生产者和消费者 |
设置用户权限 :rabbitmqctl.bat set_permissions -p VHostPath username ConfP WriteP ReadP
查看(指定hostPath)所用用户的权限:rabbitmqctl.bat list_permissions [-p VHostPath]
查看指定用户的权限信息:rabbitmqctl.bat list_user_permissions username
清除用户的权限信息:rabbitmqctl.bat clear_permissions [-p VHostPath] username
1.2 actuator的使用
1.2.1 引入相应的依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
1.2.2 在配置文件中配置/info请求的显示信息
spring:
application:
name: eureka-server #注册中心
info: #/info请求的显示信息
app:
name: ${spring.application.name}
version: 1.0.0
build:
artifactId: @project.artifactId@
version: @project.version@
1.2.3 启动类要单独作为项目启动,所有的controller要单独写,不能直接在启动了类中写
springCloud的使用07-----消息总线(spring cloud bus)的更多相关文章
- 史上最简单的SpringCloud教程 | 第八篇: 消息总线(Spring Cloud Bus)
转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springcloud/2017/07/12/sc08-bus/ 本文出自方志朋的博客 最新Finchley版本请 ...
- 【SpringCloud 】第八篇: 消息总线(Spring Cloud Bus)
前言: 必需学会SpringBoot基础知识 简介: spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理.服务发现.断路器.路由.微代理.事件总线.全局锁.决策竞选. ...
- 原 史上最简单的SpringCloud教程 | 第八篇: 消息总线(Spring Cloud Bus)(Finchley版本)
转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springcloud/2018/08/30/sc-f8-bus/ 本文出自方志朋的博客 转载请标明出处: Spr ...
- SpringCloud学习(八)消息总线(Spring Cloud Bus)(Finchley版本)
Spring Cloud Bus 将分布式的节点用轻量的消息代理连接起来.它可以用于广播配置文件的更改或者服务之间的通讯,也可以用于监控.本文要讲述的是用Spring Cloud Bus实现通知微服务 ...
- SpringCloud教程 | 第八篇: 消息总线(Spring Cloud Bus)
一.安装rabbitmq 二.pom父文件 <?xml version="1.0" encoding="UTF-8"?> <project x ...
- springCloud学习-消息总线(Spring Cloud Bus)
1.简介 Spring Cloud Bus 将分布式的节点用轻量的消息代理连接起来.它可以用于广播配置文件的更改或者服务之间的通讯,也可以用于监控.本文要讲述的是用Spring Cloud Bus实现 ...
- SpringCloud 教程 (一) 消息总线(Spring Cloud Bus)
Spring Cloud Bus 将分布式的节点用轻量的消息代理连接起来.它可以用于广播配置文件的更改或者服务之间的通讯,也可以用于监控.本文要讲述的是用Spring Cloud Bus实现通知微服务 ...
- 通过消息总线Spring Cloud Bus实现配置文件刷新(使用Kafka或RocketMQ)
如果需要客户端获取到最新的配置信息需要执行refresh,我们可以利用webhook的机制每次提交代码发送请求来刷新客户端,当客户端越来越多的时候,需要每个客户端都执行一遍,这种方案就不太适合了.使用 ...
- 一起来学Spring Cloud | 第八章:消息总线(Spring Cloud Bus)
上一章节,我们讲解了分布式配置中心spring cloud config,我们把配置项存放在git或者本地,当我们修改配置时,需要重新启动服务才能生效.但是在生产上,一个服务部署了多台机器,重新启动比 ...
- 第七篇: 消息总线(Spring Cloud Bus)
Spring Cloud Bus 将分布式的节点用轻量的消息代理连接起来.它可以用于广播配置文件的更改或者服务之间的通讯,也可以用于监控.本文要讲述的是用Spring Cloud Bus实现通知微服务 ...
随机推荐
- ES6——字符串
1.多了两个方法 1)startsWith 2)endsWith 2.模板字符串(`..`)—— 方便字符串连接 `反单引号 1)可以直接把表达式塞进去 &a ...
- 基于Opencv自有模型识别人脸与人眼
#!/usr/bin/python # -*- coding: utf-8 -*- import cv2 face_cascade = cv2.CascadeClassifier("D:/O ...
- 自定义的最简单的可回调的线程任务CallbackableFeatureTask(模仿google的ListenableFutureTask)
1.使该Task继承Callable,Runable import java.util.concurrent.Callable; import java.util.function.Consumer; ...
- linux处理器子系统调优
- day19 python模块 json模块 pickle模块
day19 python 一.序列化模块 序列类型: 列表 字符串 元组 bytes 序列化: 特指字符串和bytes, 就是把其他的数据类型转化成序列的数据类型的过程 dic = ...
- java基础复习(二)
一. 基本语法 如果一个源文件中什么内容都没有,编译会不会生成 字节码文件?不会 如果一个类中没有主方法(如下图),编译运行会怎么样?编译可以通过,但运行报错 : 没有主方法 主方法 : 是一个特殊的 ...
- centos 6.5 配置 DNS
编辑 vi /etc/resolv.conf 修改 DNS nameserver 202.96.134.133 nameserver 202.96.128.86 nameserver 8.8.8.8 ...
- Python中使用"subplot"在一张画布上显示多张图
subplot(arg1, arg2, arg3) arg1: 在垂直方向同时画几张图 arg2: 在水平方向同时画几张图 arg3: 当前命令修改的是第几张图 t = np.arange(0,5,0 ...
- Redis原理及拓展
Redis是单线程程序.单线程的Redis为何还能这么快? 1.所有的数据都在内存中,所有的运算都是内存级别的运算(因此时间复杂度为O(n)的指令要谨慎使用) 2.单线程操作,避免了频繁的上下文切换 ...
- 【Linux】【Kibana】解决Kibana启动失败:Data too large问题
今天重启Kibana容器,结果启动不了,一看日志发现是Data数据量太大报错. FATAL [circuit_breaking_exception] [parent] Data too large, ...