前言 在现代软件开发中,能够充分利用多核处理器的并发编程已经变得越来越重要。Java作为一门古老而强大的语言,提供了一整套并发编程的API。在本文中,我们将一起探索Java并发编程的基础,从线程的基本概念到同步机制,再到并发集合和线程池的使用。 线程基础 什么是线程…
Elasticsearch中Discovery模块负责发现集群中的节点以及Master的选举,其默认的实现称为Zen Discovery。 在Elasticsearch的配置文件中,有一项为node.master,如果将该配置设为true,该节点即可参与Master选举,获得被选举为Master节点的资格。 Master选举算法 (1)Paxos算法…
Elasticsearch写入分为单个文档的写入和批量写入,单个文档的写入称作Index请求,批量写入称为Bulk请求,他们具有相同的处理逻辑,请求被统一封装为BuklRequest。 单个文档的写入流程: 1.客户端向Node1发送写入请求…
GET基本流程 GET是根据index、type和ID向ES发送请求,获取文档数据,是读取操作,因此主分片或者副本分片都可以返回文档,不过新增的文档已经写入到主分片中但是还没有复制到副本分片时,副本分片可能会报告文档不存在。 假设有三个节点,分别存储着分片0和分片1,P开头的为主分片,R开头的为副本分片: 1.客户端向节点1发送GET请求…
前言 在当今数据风暴的时代,实时数据处理已经成为众多企业关注的热点。Apache Flink作为一个高性能、可扩展的实时计算框架,在实时数据处理领域占据着举足轻重的地位。Spring Boot则以其快速开发、简化配置而广受欢迎,将两者结合,我们可以快速地搭建起一个实时数据处理平台。本文将详细讲述如何将Flink应用集成到Spring…
前言 不得不说SpringBoot的开发者是在为大众程序猿某福利,把大家都惯成了懒汉,xml不配置了,连tomcat也懒的配置了,典型的一键启动系统,那么tomcat在springboot是怎么启动的呢? 内置tomcat 开发阶段对我们来说使用内置的tomcat是非常够用了,当然也可以使用jetty。 <dependency>…
本文带领大家了解下JVM7款经典的垃圾收集器,如图所示展示了其中作用于不同分代的收集器,如果两个收集器之间存在连线,就说明他们可以搭配使用,图中收集器所处的区域,则表示它是属于新生代收集器或者是老年代收集器。接下来逐一介绍这些收集器的目标、特性、原理和使用场景,并重点分析CMS和G1这两款相对负责而又广泛使用的收集器,深入了解他们的部分运作细节。…
版本 JDK 8 Spring-boot 2.6.6 登录事件示例 下面是一个使用Spring事件处理用户登录的简单示例。在此示例中,我们将创建一个Spring Boot应用程序,演示如何使用Spring事件来处理用户登录事件。 创建一个登录事件 创建一个自定义的事件类,用于表示用户登录事件,例如LogonEvent: public class…