自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 【ElasticSearch】Kibana

Kibana 是一款开源的数据分析和可视化平台,它是 Elastic Stack 成员之一,设计用于和 Elasticsearch协作。 Kibana 可以用于对 Elasticsearch 索引中的数据进行搜索、查看、交互操作,并且利用图表、表格及地图对数据进行多元化的分析和呈现。Kibana 可以使大数据通俗易懂,并且可以基于浏览器的界面快速创建和分享动态数据仪表板来追踪 Elasticsearch 的实时数据变化。1、Kibana安装(1)下载镜像docker pull docker.io/ki

2021-07-05 12:13:44 140

原创 【ElasticSearch】Restful接口简介

在实际开发中,主要有三种方式可以作为elasticsearch服务的客户端:(1)elasticsearch-head插件(2)使用ElasticSearch提供的Restful接口(3)使用ElasticSearch提供的API1、elasticsearch-head插件(1)下载head插件ElasticSearch自带图形化界面,通过安装head插件可以完成图形化界面效果,完成索引数据查询。head插件的安装方式有在线安装和本地安装。如果需要本地安装,可以到github上下载head插件

2021-07-05 10:08:35 581

原创 【ElasticSearch】ES简介及安装

1、全文检索1.1、简介将非结构化数据中的一部分信息提取出来,重新组织,使其变得有一定结构,然后对此有一定结构的数据进行搜索, 从而达到搜索相对较快的目的。这部分从非结构化数据中提取出的然后重新组织的信息,我们称之索引。例如字典,字典的拼音表和部首检字表就相当于字典的索引,对每一个字的解释是非结构化的, 如果字典没有音节表和部首检字表,在茫茫辞海中找一个字只能顺序扫描。 然而字的某些信息可以提取出来进行结构化处理,比如读音,就比较结构化,分声母和韵母,分别只有几种可以一一列举, 于是将读音拿出来按一定

2021-07-04 22:43:16 318 1

原创 【RabbitMQ】TTL、死信队列、延迟队列

1、TTL(Time to Live)TTL:队列里的消息过期时间。当消息到了设置的过期时间还没被消费,就会被清除。设置TTL的参数是 x-message-ttl,它是以Map的形式存储的。(1)Spring设置TTL在spring配置里,声明队列的时候同时声明此队列中消息的过期时间。<rabbit:queue id="spring_direct_queue_ttl" name="spring_direct_queue_ttl" auto-declare="true"> <ra

2021-07-03 22:57:59 549 1

原创 【RabbitMQ】消费端限流(Prefetch)

消息中间件有一个重要的功能是削峰填谷,在访问量高的时候,可以限制消费端消费消息的数量,当访问高峰期过去以后,消费端再慢慢消费队列中的消息。在RabbitMQ中,要实现削峰填谷的功能,是通过消费端限流实现的。在消费端中设置 prefetch=n ,表示一次从队列中获取 n 条消息。其余消息存放在队列中。做个小实验:当不设置 prefetch 时,生产者一次性向交换机中投递10条消息,消费者确认消息的方式设置为手动确认,在确认消息之前线程休眠5秒(因为管控台数据更新是5秒更新一次,这里设置为5秒比较方便

2021-07-03 16:07:50 4282 1

原创 【RabbitMQ】消息可靠性

Producer发送消息以后,在消息传递的过程中可能会出现各种意外,导致Consumer无法正确接收消息,为了应对这种情况,RabbitMQ也推出了一些解决方案。1、消息可靠性投递Producer发送消息以后,会通过如下链路传递:生产者(Producer) ——> 交换机(Exchange) ——> 队列(Queue) ——> 消费者(Consumer)在这个过程中,消息发送失败的情况可能会出现在生产者发送消息到交换机的过程中,交换机发送消息到队列的过程中,队列发送消息给消费者的过

2021-07-03 11:35:10 98

原创 【RabbitMQ】RabbitMQ整合Spring和SpringBoot

在已经大致了解了RabbitMQ的消息模式的基础上,可以研究RabbitMQ如何整合Spring和SpringBoot1、RabbitMQ整合Spring1.1、依赖Spring整合RabbitMQ的依赖有两个,一个是spring-context,一个是spring-rabbit<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId&g

2021-07-03 09:23:21 600

原创 【堆排序】优先队列

优先队列1、堆1.1、堆维护1.2、建堆2、优先队列3、代码实现3.1、最大堆3.2、最小堆3.3、优先队列1、堆堆,又可以称为二叉堆,可以看做一个近似的完全二叉树,除了最下面一层,其余每层都是填满的,且是从左向右填充。A表示一个堆,堆的相关概念:(1)A.length :数组元素的个数。注意数组中不是所有元素都是有效的。(2)A.heap-size:数组有效元素的个数,0<=A.heap-size<=A.length(3)PARENT(i):给定一个下标 i,它的父节点是 i/2,

2021-06-29 23:21:42 239 1

原创 【RabbitMQ】消息模式

1、总览在上一篇文章,已经讲述了RabbitMQ的核心组成部分。这里贴一张图:Producer通过Connection里的Channel发送信息到Exchange,Exchange把信息发送给它通过一定规则绑定的Queue,Consumer从Queue里获取信息。其中Producer发送信息必须通过交换机发送,所以这里说一下Exchange的类型,和接下来要写的消息模式有关系。交换机主要分为 fanout、direct、topic、header四种类型。接下来要讲的消息模式中,Simple和Wor

2021-06-28 11:27:54 118

原创 【RabbitMQ】简介及安装

1、中间件中间件(Middleware),又译中间件、中介层,是一类提供系统软件和应用软件之间连接、便于软件各部件之间的沟通的软件,应用软件可以借助中间件在不同的技术架构之间共享信息与资源。中间件位于客户机服务器的操作系统之上,管理着计算资源和网络通信。中间件大致分为如下几类:分布式消息中间件:ActiveMQ、RabbitMQ、Kafka、RocketMQ负载均衡中间件:Nginx、LVS负载均衡软件、KeepAlive、CDN缓存中间件:Memcache、Redis数据库中间件:mycat

2021-06-27 17:10:56 152

原创 【Nginx】简单入门

【Nginx】简单入门1、产生背景老生常谈,互联网项目的架构演变。当项目很小,访问量很小时,一台服务器足以支撑,模型如下:当项目的访问量增多,大量的请求都打到同一台服务器上,导致服务器无法承担,容易崩溃。这种情况下,一般的思路是将对服务器进行横向扩展,即由原来的一台服务器变成多台服务器。此时会产生很多问题,比如Session不能跨服务器存储,那么用户请求具体应该打到哪台服务器上?这个时候就可以在客户端和服务器之间加一层进行转发。2、Nginx简介Nginx 是⼀款⾼性能的 http 服务器

2021-06-25 10:32:07 90

原创 【Dubbo】入门案例

【Dubbo】入门案例1、Dubbo简介2、Dubbo的架构3、入门案例3.1、服务提供者和服务消费者直连3.1.1、创建服务接口3.1.2、服务提供方3.1.3、消费方4、加上注册中心的案例5、思考1、Dubbo简介Dubbo的产生和网站应用的演进息息相关。网站应用经历了单一应用架构、垂直应用架构、分布式服务架构、流动计算架构,在很多博客中都有详细的介绍,这里就不再展开说明。Dubbo的需求:(1)管理服务URL,实现软负载均衡;(2)自动梳理应用间的依赖关系;(3)统计服务每天的调用量、响应

2021-06-08 00:27:12 310

原创 JSON简析

1、什么是JSONJSON:JavaScript Object Notation,一种轻量级的数据交换格式。用于软件与软件之间、服务器与客户端之间的数据交换。它是一种独立于编程语言的数据格式,有很强的的可读性,而且由于字符简洁,它的传输速度很快。2、JSON的语法格式JSON支持的数据类型有:基本类型数据(如字符串、数字等)、对象、数组。在JSON中,对象用 { } 括起来,数组用 [ ] ,存在映射关系的数据(键值对)用 :表示关系,如 “name” : " Alex"。键值对之间用 ,隔开。比如下

2021-03-28 13:52:29 141

原创 多线程技术

1、多线程技术实现方法Java中至少有一个线程,如果不特殊处理,它至少是一个单线程程序。此外,Java也支持多线程。多线程技术主要有三种实现方法,第一种是继承Thread,第二种是实现Runnable接口,第三种是实现Callable接口。接下来就讲讲这三种方法的使用方法。2、继承Thread创建一个子类继承Thread,并且重写Thread里的run方法,把要用多线程处理的任务放在run方法里。比如现在有一对夫妻,他们要协作做一顿饭,我们用两个线程开展,一个线程表示丈夫,一个线程表示妻子,程序如下:

2021-03-24 22:57:56 904

原创 线程概述

线程概述1、概念要了解什么是线程,首先先了解什么是进程。进程是指一个正在进行的过程或任务。有些任务可以分成几个子任务同时进行,这几个子任务可以称为线程。比如做饭是一个进程,它可以简单的分为洗菜、切菜、蒸饭、炒菜四个线程。一个进程必须要有至少一个线程,如果所有线程都结束了,那对应进程也会终止,也就是洗菜、切菜、蒸饭、炒菜四个线程都完成了。那么这顿饭就做好了。2、线程的调度线程在执行时需要占用CPU资源,而一个CPU在一个时间段只能做一件事情,因此即使一个进程分为多个线程,这些线程在占用CPU资源时实际

2021-03-23 23:23:24 200 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除