RabbitMQ工作原理

RabbitMQ工作原理Hello World(直连)模式RabbitMQ连接工具类public class RabbitMqUtils { private static ConnectionFactory connectionFactory; static { connectionFactory = new ConnectionFactory(); //设置连接rabbitmq主机 connectionFactory.setHo
分类: 其他 发布时间: 03-03 09:52 阅读次数: 0

RabbitMQ--Work Queue(任务模型)

Work Queue(任务模型)Work quenes也被称为(Task queues),任务模型。当消息处理比较耗时的时候,可能生产消息的速度远远大于消息的消费速度。长此以往,消息就会堆积越来越多,无法及时处理。此时就可以使用work模型:让多个消费者绑定到同一个队列,共同消费队列中的消息。队列中的消息一旦消费,就会消失,因此任务是不会被重复执行的。默认情况下消费者1和消费者2消费的消息是一致的,也就是平均分配消息RabbitMQ连接工具类在RabbitMQ工作原理中已经介绍这里不在赘述了Pro
分类: 其他 发布时间: 03-03 09:51 阅读次数: 0

RabbitMQ--Fanout(广播模型)

Fanout(广播模型)生产者发送的消息,只能发送到交换机,交换机决定要发给哪个队列,生产者无法决定。交换机把消息发送给绑定过的所有队列,队列的消费者都能拿到消息,实现一条消息被多个消费者消费RabbitMqUtils在RabbitMQ工作原理中已经介绍,这里不在赘述了Providerpublic class Provider { public static void main(String[] args) throws IOException { //获取连接对象
分类: 其他 发布时间: 03-03 09:51 阅读次数: 0

RabbitMQ--Routing之订阅模型-Direct(直连)

Routing之订阅模型-Direct(直连)在Fanout模式中,一条消息会被所有订阅的队列都消费。但是,在某些场景下,我们希望不同的消息被不同的队列消费。这时就要用到Direct的Exchange。在Direct模型下:队列与交换机的绑定,不能是任意绑定了,而是要指定一个RoutingKey(路由key)消息的发送在向Exchange发送消息时,也必须指定消息的RoutingKeyExchange不再把消息交给每一个绑定的队列,而是根据消息的RoutingKey进行判断,只有队列的Routi
分类: 其他 发布时间: 03-03 09:51 阅读次数: 0

RabbitMQ--Routing之订阅模型-Topic

Routing之订阅模型-TopicTopic类型的Exchange与Direc相比,都是可以根据RoutingKey把消息路由到不同的队列。只不过Topic类型Exchange可以让队列再绑定RoutingKey的时候使用通配符!这种模型RoutingKey一般都是由一个或多个单词组成,多个单词之间以“.”分割,例如item.insert其中,匹配不多不少恰好1个词,#匹配一个或多个词;比如:audit .# 匹配audit.irs.corporate或者audit.irsaudit . 只能匹
分类: 其他 发布时间: 03-03 09:51 阅读次数: 0

RabbitMQ的集群

RabbitMQ的集群主要有以下两种:普通集群(副本集群)主备架构:主节点同步(仅能同步exchange,不能同步队列),从节点备份默认情况下:RabbitMQ代理操作所需的所有数据状态都将跨所有节点复制。这方面的一个例外是,消息队列位于一个节点上,尽管他们可以从所有节点看到和访问核心解决问题:当集群中某一时刻master节点宕机,可以对Queue中的信息,进行备份注意:1) 队列仅存在在主节点上,当主节点宕机之后,从节点不能对外提供服务。2) 只有主节点活着,才可以对外提供服务。3)
分类: 其他 发布时间: 03-03 09:50 阅读次数: 0

解决java.lang.IllegalStateException: No instances available for service-provider] with root cause java

解决java.lang.IllegalStateException: No instances available for service-provider] with root cause java问题前提是服务已经在Consul注册成功了,但是service-provider服务监控检查未通过浏览器访问订单页面后台报错检查Consul服务出现健康检查没有通过问题分析1.出现Consul监控检查未通过,可以从以下几个方面进行检查:1)检查pom文件中是否添加如下依赖: <!--
分类: 其他 发布时间: 03-03 09:50 阅读次数: 0

RabbitMQ--五种模式之RabbitMQ与SpringBoot进行整合

五种模式之RabbitMQ与SpringBoot进行整合application.propertiesspring.application.name=rabbitmq-springbootspring.rabbitmq.host=10.15.0.9spring.rabbitmq.port=5672spring.rabbitmq.username=emsspring.rabbitmq.password=123spring.rabbitmq.virtual-host=/ems#RabbitTem
分类: 其他 发布时间: 03-03 09:50 阅读次数: 0

Consul服务注册中心--Consul介绍

常见的注册中心Netflix EurekaAlibaba NacosHashiCorp ConsulApache ZookeeperCoreOS EtcdCNCF CoreDNSConsul介绍Consul是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其它分布式服务注册与发现的方案,Consul的方案更”一站式”,内置了服务注册与发现框架、分布式一致性协议、健康检查、key/value存储、多数据中心方案,不再需要依赖其它工具(比如Zookeeper等),
分类: 其他 发布时间: 03-03 09:49 阅读次数: 0

Consul服务注册中心--consul与springboot整合的consul-demo实例(上)

consul与springboot整合的consul-demo实例consul-demo实例中包含两个服务,service-consumer与service-procider,目录结构如下图:其中consul-demo中pom文件内容如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3
分类: 其他 发布时间: 03-03 09:49 阅读次数: 0

Consul服务注册中心--consul与springboot整合的consul-demo实例(下)

consul与springboot整合的consul-demo实例service-consumerservice-consumer代码目录如下:其中,pom内容如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
分类: 其他 发布时间: 03-03 09:49 阅读次数: 0

Java8新特性之Stream--Stream的创建

Stream的创建通过java.util.Colleaction.stream()方法用集合创建流 List<String> list = Arrays.asList("a", "b", "c", "d", "e"); //创建一个顺序流 Stream<String> stream = list.stream(); System.out.println("用集合创建顺序流:" + stream); //创建一个并行
分类: 其他 发布时间: 03-03 09:48 阅读次数: 0

OpenGL学习笔记:第四章 OpenGL处理管线(流程)(OpenGL渲染管线的对比,渲染管线的结构,着色器,名词解释和中英文对照)

OpenGL渲染管线,着色器和名词解释OpenGL渲染管线传统的可编程图形硬件处理管线流程(通用流程)图形硬件技术处理渲染管线总体流程(OpenGL流程)OpenGL渲染管线传统的可编程图形硬件处理管线流程(通用流程)在这种传统的图形处理流程中,首先经过顶点级的光照计算和坐标变换,求出每个顶点的光照颜色值,同时还将顶点坐标从物体坐标系转化到裁剪空间(clip space),然后对每个三角形进行光栅化处理,并对三角形顶点的颜色进行双线性插值,得到三角形中每一个像素的颜色值,接着进行纹理映射,即根据每一
分类: 其他 发布时间: 03-03 09:48 阅读次数: 0

OpenGL学习笔记:第五章 OpenGL顶点着色器和片段着色器(顶点着色器和片段着色器的结构,输入输出)

OpenGL顶点着色器和片段着色器顶点着色器顶点着色器的结构顶点着色器的输入输出顶点着色器的输入顶点着色器的输出片段着色器片段着色器的结构片段着色器的输入输出片段着色器的输入片段着色器的输出顶点着色器顶点着色器是处理VBO/VAO提供的顶点信息的程序。VBO/VAO提供的每个顶点都执行一遍顶点着色器。Uniforms(一种变量类型)在每个顶点保持一致,属性(Attribute)每个顶点都不同(可以理解为输入顶点属性)。执行一次VertexShader输出一个Varying(可变变量)和gl_posito
分类: 其他 发布时间: 03-03 09:48 阅读次数: 0

xshell 建立ssh隧道链接

这里写自定义目录标题安装软件xshell 建立ssh隧道链接安装软件xshell 建立ssh隧道链接步骤:建立外网主机的链接;在主机上面建立隧道链接在隧道页面点击“添加”按钮,即可添加隧道。添加页面如下...
分类: 其他 发布时间: 03-03 09:48 阅读次数: 0

plsql链接数据库时提示Initialization error,已解决

问题描述:plsql链接数据库时提示Initialization error,本机系统是windows10 64位,本机安装ORACLE版本如下:以前安装过plsql,很久没有用了,这次测试又发了一个免安装的,然后按照测试的配置,就报错,不登录点击取消,进入到sql工具界面进入sql设置界面首选项进行配置关闭sql,重启关闭sql,重启,就能正常登录...
分类: 其他 发布时间: 03-03 09:47 阅读次数: 0

Windows 10环境 上安装 Node.js

node -vnpm -vnpm config set prefix “F:\node_global”npm config set cache “F:\node_cache”环境变量安装
分类: 其他 发布时间: 03-03 09:47 阅读次数: 0

解决 :nrm 报错 throw new TypeError(‘Path must be a string. Received ‘ + inspect(path))?

安装 nrm 报错throw new TypeError(‘Path must be a string. Received ‘ + inspect(path))?安装了nodejs装了一个node.js再装一个nrm镜像工具输入npm install nrm -g (-g代表全局安装)装好了后输入nrm ls报错了解决方法:打开nrm的文件夹下cli.js 第17行修改成const NRMRC = path.join(process.env[(process.platform == ‘win
分类: 其他 发布时间: 03-03 09:47 阅读次数: 0

nrm : 无法加载文件 D:\nodejs\node_global\nrm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?

nrm : 无法加载文件 D:\nodejs\node_global\nrm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。所在位置 行:1 字符: 1在 Vs Code 终端输入 vue init webpack app, 创建一个名为 app 的 Vue 项目时报错如下:无法加载文件 D:\nodejs\node_global\webpac
分类: 其他 发布时间: 03-03 09:47 阅读次数: 0

[npminstall:runscript:error] node-sass@^5.0.0 scripts.postinstall run

运行cnpm i 这个报错[npminstall:runscript:error] node-sass@^5.0.0 scripts.postinstall run直接修改sass安装的源地址:npm config set sass_binary_site =https://npm.taobao.org/mirrors/node-sass再次运行 cnpm i 运行成功
分类: 其他 发布时间: 03-03 09:46 阅读次数: 0