@Runwith(springRunner.class)
@springboottest
@autowired
private RabbitTemplate rabbittemplate;
spring queename="";
spring message ="hello,spring boot";
rabbitTemplate
引依赖,配地址
spring:
rabbitmq:
host:192.168.150.101 #rabbitmq ip地址
port:5672
usernmae: itcast
passswod: 123456
virtual-host:/
docker run \
-e RABBITMQ_DEFAULT_USER=itcast \
-e RABBITMQ_DEFAULT_PASS=123321 \
--name rabbitmq \
--hostname mq1 \
-p 15672:15672 \
-p 5672:5672 \
-d \
rabbitmq:3-management
docker run -d --hostname my-rabbit --name some-rabbit rabbitmq:3
发布订阅模式与之前安利的区别就是将同一个发送给多给消费者,实现方式是加入了exchange
常见exchange类型包括:
fanout:广播
direct:路由
topic:话题
利用springamqp延时fanoutexchange使用
consumer服务中心,利用代码声明队列,交换机,俩者绑定
在consumer服务,编写2个消费者,分别监听fanout.queue1和fanout.queue2
在publisher中编写测试方法,向itcast.fanout发送消息
提供者-交换机-队列-消费者
交换机作用
一方面接受消息消费者的消息
根据不同的交换机类型,binding的行为也会有所不同。常见的交换机类型包括:
Direct Exchange:使用精确匹配的方式将消息路由到与之绑定的队列。
Fanout Exchange:将消息广播到与之绑定的所有队列。
Topic Exchange:使用模式匹配的方式将消息路由到与之绑定的队列。
声明对列,交换机,绑定队列
正向索引和倒排索引
传统数据库采用正向索引,例如给下表tb_goods中id创建索引
id title price
1 小米手机 3499
2 华为手机 4999
逐条扫描 模糊匹配
文档(docuument):每条数据就是yigewendang
词条(term):文档按照语义分成的词语
小米 文档id
一个个词条
倒排索引
一个华为一个手机
倒排查询
什么是正向索引,基于文档id创建索引。查询词条必须找到文档,然后判断是否
在里面
倒叙索引
对文档内容分词,对词条创建索引,并举路词条所在文档信心。差寻思
先根据词条擦护心到文档id,而后获取文档
什么是文档和词条
每一条数据就是一个文档
基于id创建的索引,祖行扫描
倒排树荫
对文档内容分词,对词条创建索引,并记录词条所造文档信息。查询
先根据词条查询文档id,然后获取数据。
elasticsearch 面向文档存储
文档序列化json格式存储在elasticseerch中。
索引:相同类型的文档的集合。
table index 索引,就是文档的集合,类似数据库的表
row document 文档,就是一条条的数据,类似于库中的行row,文档都是json格式
column field 字段,就是json文档中的字段,类似于数据库中的列。
schema mapping mapping 是索引文档的约束,例如字段类型约束。类似数据库的表结构。
sql dsl dsl 是el 提供的json风格的请求语句,用来操作el,实现crud
mysql :擅长海量数据的搜索,分析,计算
crud ---》搜索----》es
-->写操作mysql
数据同步
复杂搜索
同步到es中
架构:总结
文档:一条数据就是一个文档,es是json格式
字段json文档中的字段
索引:同类型文档的集合
映射:索引文档中的约束,比如字段名,类型
es 与数据库的关系:
数据库负责事务类型操作
es 负责海量数据的搜索,分析,计算
业务量比较大
标签:词条,索引,json,文档,id,es From: https://www.cnblogs.com/zyb-luckey/p/18113922