elasticsearch中 refresh 和flush区别(近实时搜索机制)

elasticsearch中有两个比较重要的操作:refresh 和 flushrefresh操作当我们向ES发送请求的时候,我们发现es貌似可以在我们发请求的同时进行搜索。而这个实时建索引并可以被搜索的过程实际上是一次es 索引提交(commit)的过程,如果这个提交的过程直接将数据写入磁盘(fs
2021年08月18日 1,391次浏览

Elasticsearch路由算法

document创建的时候路由就需要决定放在哪个shard 一个document只能存在于一个shard上路由算法:shard = hash(routing) % number_of_primary_shards举例一个index有3个primary shard,P0,P1,P2每次增删改查一个d
2021年08月18日 920次浏览

ES中的选举算法Bully 算法

前言分布式系统中有的各个节点的地位是均等的,有的是有 leader 和 flower。这种区分 leader 的集群更好管理些。这样在写操作的时候都交给 Leader 去处理,然后由 leader 再将数据同步给各个 flower 上的副本。如果同时对多个分布式节点写数据,势必不好进行数据同步。读的
2021年08月18日 1,567次浏览

从RocketMQ看长轮询(Long Polling)

前言消息队列一般在消费端都会提供push和pull两种模式,RocketMQ同样实现了这两种模式,分别提供了两个实现类:DefaultMQPushConsumer和DefaultMQPullConsumer;两种方式各有优势:push模式:推送模式,即服务端有数据之后立马推送消息给客户端,需要客户端
2021年08月15日 705次浏览

Spring注册表之手动注册bean

一般情况下,我们Spring应用中的bean都是通过注解或者xml注入到容器中的,有些情况下我们可能想手动往容器中注入bean,即编程方式注入bean。本文所使用源码包版本:spring-beans-5.0.5.RELEASE.如何注册?Spring 中用BeanDefinition接口描述一个be
spring 2021年08月11日 1,143次浏览

java异步编程之ReactiveX开发

中文文档参考资料1参考资料2Rx(Reactive Extensions)历史是LINQ的一个扩展,由微软的架构师Erik Meijer领导的团队开发,在2012年11月开源,Rx是一个编程模型,目标是提供一致的编程接口,帮助开发者更方便的处理异步数据流,Rx库支持.NET、JavaScript和C
2021年08月09日 933次浏览

python3 算法之实现大顶堆

#大顶堆class PriorityQueue(object): heapList=[-1]*100 writeIndex = 1 def __init__(self,list): self.initByList(list) def parent(self,ro
2021年08月08日 1,102次浏览

Python3 之实现二叉树

class SelfNode(object): element=0 lchild = None rchild = None def __init__(self,element:int,lchild=None,rchild=None): self.element
2021年08月08日 966次浏览

python3 bytes数据类型探讨

python3中str和bytes分开了,那么bytes与str之间到底是什么关系呢?下面从表现形式、处理方式、存储形式三个方面来阐述其区别1. 在字符串前面加上b,就表示bytes数据类型1 s1 = "hello"2 b1 = b"hello" \# 前面加上b让它变成bytes类型3 pr
2021年08月07日 953次浏览

使用Postman循环调用接口

当需要批量变更一些数据,而系统并没有提供批量操作接口,只有单条更新接口。可以考虑使用Postman来进行操作实现。具体操作如下:新建collection,更改其中请求,在请求中使用变量,变量取值于外部文件整理json文件或csv文件进入collection runner页面,选择文件,设置迭代次数点
压力测试 2021年08月05日 2,183次浏览