- 博客(18)
- 资源 (35)
- 收藏
- 关注
原创 Spring AMQP(集成了Rabbitmq)---代码版
Spring AMQP(集成了Rabbitmq)—代码版项目结构配置文件application.ymlspring: rabbitmq: host: 192.168.79.128 # 安装rabbitmq的ip username: leyou # rabbitmq的账号 password: 123456 # rabbitmq的密码 virtual-host: /leyou # 虚拟主机启动类Applicationpackage cn.xia
2020-06-29 15:49:11 202
原创 Spring AMQP(集成了Rabbitmq)
Spring AMQP(集成了Rabbitmq)1.1.简介Sprin有很多不同的项目,其中就有对AMQP的支持:Spring AMQP的页面:http://spring.io/projects/spring-amqp注意这里一段描述: Spring-amqp是对AMQP协议的抽象实现,而spring-rabbit 是对协议的具体实现,也是目前的唯一实现。底层使用的就是RabbitMQ。1.2.依赖和配置添加AMQP的启动器:<dependency>
2020-06-29 14:49:18 389
原创 持久化---7
持久化如何避免消息丢失?1) 消费者的ACK机制。可以防止消费者丢失消息。2) 但是,如果在消费者消费之前,MQ就宕机了,消息就没了。是可以将消息进行持久化呢?要将消息持久化,前提是:队列、Exchange都持久化1.1.1.交换机持久化1.1.2.队列持久化1.1.3.消息持久化...
2020-06-29 14:42:31 1638
原创 订阅模型-Topic---6
订阅模型-TopicTopic类型的Exchange与Direct相比,都是可以根据RoutingKey把消息路由到不同的队列。只不过Topic类型Exchange可以让队列在绑定Routing key 的时候使用通配符!Routingkey 一般都是有一个或多个单词组成,多个单词之间以”.”分割,例如: item.insert通配符规则: #:匹配一个或多个词 *:匹配不多不少恰好1个词举例: audit.#:能够匹配audit.irs.
2020-06-29 14:21:12 318
原创 订阅模型-Direct---5
订阅模型-Direct有选择性的接收消息在订阅模式中,生产者发布消息,所有消费者都可以获取所有消息。在路由模式中,我们将添加一个功能 - 我们将只能订阅一部分消息。 例如,我们只能将重要的错误消息引导到日志文件(以节省磁盘空间),同时仍然能够在控制台上打印所有日志消息。但是,在某些场景下,我们希望不同的消息被不同的队列消费。这时就要用到Direct类型的Exchange。在Direct模型下,队列与交换机的绑定,不能是任意绑定了,而是要指定一个RoutingKey(路由key)消息的发送方在向E
2020-06-29 14:16:20 234
原创 订阅模型-Fanout---4
订阅模型-FanoutFanout,也称为广播。流程图:在广播模式下,消息发送流程是这样的:1) 可以有多个消费者2) 每个消费者有自己的queue(队列)3) 每个队列都要绑定到Exchange(交换机)4) 生产者发送的消息,只能发送到交换机,交换机来决定要发给哪个队列,生产者无法决定。5) 交换机把消息发送给绑定过的所有队列6) 队列的消费者都能拿到消息。实现一条消息被多个消费者消费1.1.1.生产者两个变化:1) 声明Exchange,不再声明Queue
2020-06-29 14:12:52 200 1
原创 work消息模型---3
work消息模型工作队列或者竞争消费者模式在第一篇教程中,我们编写了一个程序,从一个命名队列中发送并接受消息。在这里,我们将创建一个工作队列,在多个工作者之间分配耗时任务。工作队列,又称任务队列。主要思想就是避免执行资源密集型任务时,必须等待它执行完成。相反我们稍后完成任务,我们将任务封装为消息并将其发送到队列。 在后台运行的工作进程将获取任务并最终执行作业。当你运行许多工人时,任务将在他们之间共享,但是一个消息只能被一个消费者获取。这个概念在Web应用程序中特别有用,因为在短的HTTP请求窗口中
2020-06-29 13:49:29 267
原创 Rabbitmq五种消息模型---1
五种消息模型RabbitMQ提供了6种消息模型,但是第6种其实是RPC,并不是MQ,因此不予学习。那么也就剩下5种。但是其实3、4、5这三种都属于订阅模型,只不过进行路由的方式不同。我们通过一个demo工程来了解下RabbitMQ的工作方式:依赖:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocati
2020-06-28 17:57:48 314
原创 基本消息模型---2
基本消息模型官方介绍:RabbitMQ是一个消息代理:它接受和转发消息。 你可以把它想象成一个邮局:当你把邮件放在邮箱里时,你可以确定邮差先生最终会把邮件发送给你的收件人。 在这个比喻中,RabbitMQ是邮政信箱,邮局和邮递员。RabbitMQ与邮局的主要区别是它不处理纸张,而是接受,存储和转发数据消息的二进制数据块。P(producer/ publisher):生产者,一个发送消息的用户应用程序。C(consumer):消费者,消费和接收有类似的意思,消费者是一个主要用来等待接收消息的用户
2020-06-24 18:08:36 188
原创 Ubuntu16.4-Rabbitmq安装/配置/运行
Ubuntu16.4-Rabbitmq安装/配置/运行由于rabbitMq需要erlang语言的支持,在安装rabbitMq之前需要安装erlang,执行命令:apt-get install erlang-nox # 安装erlangerl # 查看relang语言版本,成功执行则说明relang安装成功添加公钥wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | sudo apt-key
2020-06-23 19:52:26 433 2
原创 SpringCloud使用ElasticSearch
SpringCloud使用ElasticSearch搜索微服务模块结构配置文件pom.xml----->elasticsearch依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-elasticsearch</artifactId></dependency>
2020-06-18 14:02:21 3194 8
原创 Spring Data Elasticsearch-代码版
Spring Data Elasticsearch-代码版项目结构配置文件pom.xml<?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" xsi:schemaLocation="http://maven.a
2020-06-11 14:18:16 250
原创 Spring Data Elasticsearch
Spring Data ElasticsearchElasticsearch提供的Java客户端有一些不太方便的地方:很多地方需要拼接Json字符串,在java中拼接字符串有多恐怖你应该懂的需要自己把对象序列化为json存储查询到结果也需要自己反序列化为对象因此,我们这里就不讲解原生的Elasticsearch客户端API了。而是学习Spring提供的套件:Spring Data Elasticsearch。1.简介Spring Data Elasticsearch是Spring Dat
2020-06-11 14:08:06 819 1
原创 聚合aggregations
聚合aggregations聚合可以让我们极其方便的实现对数据的统计、分析。例如:什么品牌的手机最受欢迎?这些手机的平均价格、最高价格、最低价格?这些手机每月的销售情况如何?实现这些统计功能的比数据库的sql要方便的多,而且查询速度非常快,可以实现实时搜索效果。1 基本概念Elasticsearch中的聚合,包含多种类型,最常用的两种,一个叫桶,一个叫度量:桶(bucket)桶的作用,是按照某种方式对数据进行分组,每一组数据在ES中称为一个桶,例如我们根据国籍对人划分,可以得到中国
2020-06-11 11:33:56 655
原创 SpringCloud使用FastDFS
SpringCloud使用FastDFS上传文件微服务接口配置文件pom.xml----->引入fastdfs依赖<dependency> <groupId>com.github.tobato</groupId> <artifactId>fastdfs-client</artifactId> <version>1.26.1-RELEASE<ersion></dependen
2020-06-08 16:39:20 1465
原创 ElasticSearch查询
查询基本查询_source过滤结果过滤高级查询排序1.1.基本查询:基本语法GET /索引库名/_search{ "query":{ "查询类型":{ "查询条件":"查询条件值" } }}这里的query代表一个查询对象,里面可以有不同的查询属性查询类型:例如:match_all, match,term , range 等等查询条件:查询条件会根据类型的不同,写法也有差异,后面详细讲解
2020-06-08 16:23:45 450
原创 ElasticSearch操作索引
操作索引1.1.基本概念Elasticsearch也是基于Lucene的全文检索库,本质也是存储数据,很多概念与MySQL类似的。对比关系:索引(indices)--------------------------------Databases 数据库类型(type)-----------------------------Table 数据表 文档(Document)----------------Row 行 字段(Field)-------------------Colum
2020-06-08 15:54:50 403
原创 Elasticsearch介绍和安装
Elasticsearch介绍和安装用户访问我们的首页,一般都会直接搜索来寻找自己想要购买的商品。而商品的数量非常多,而且分类繁杂。如果能正确的显示出用户想要的商品,并进行合理的过滤,尽快促成交易,是搜索系统要研究的核心。面对这样复杂的搜索业务和数据量,使用传统数据库搜索就显得力不从心,一般我们都会使用全文检索技术,比如之前大家学习过的Solr。不过今天,我们要讲的是另一个全文检索技术:Elasticsearch。1.1.简介1.1.1.ElasticElastic官网:https://www
2020-06-08 15:18:22 227
mybatis_design.zip
2020-03-06
ihome_python.zip
2019-05-31
天天生鲜购物商城源代码
2019-04-27
深入k8s实战-从入门小白到轻松操作k8s
2024-04-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人