Spring Boot

Elasticsearch索引生命周期管理方案

我的梦境 提交于 2021-02-08 14:46:50
点击上方蓝色“ 方志朋 ”,选择“设为星标” 回复“ 666 ”获取独家整理的学习资料! 一、前言 在 Elasticsearch 的日常中,有很多如存储 「系统日志」 、 「行为数据」 等方面的应用场景,这些场景的特点是数据量非常大,并且随着时间的增长 索引 的数量也会持续增长,然而这些场景基本上只有最近一段时间的数据有使用价值或者会被经常使用(热数据),而历史数据几乎没有作用或者很少会被使用(冷数据),这个时候就需要对 索引 进行一定策略的维护管理甚至是删除清理,否则随着数据量越来越多除了浪费磁盘与内存空间之外,还会严重影响 Elasticsearch 的性能; 在 Elastic Stack 6.6 版本后推出了新功能 Index Lifecycle Management(索引生命周期管理) ,支持针对索引的全生命周期托管管理,并且在 Kibana 上也提供了一套 UI 界面来配置策略。本文主要介绍 Elasticsearch 索引生命周期管理如何配置和使用。 二、生命周期 2.1. 阶段介绍 索引生命周期分为4个阶段:hot、warm、cold、delete,其中hot主要负责对索引进行rollover操作。 rollover:滚动更新创建的新索引将添加到索引别名,并被指定为写索引。 「PS」 :4个阶段中只有hot阶段是必须的 索引根据时间参数min

在IDEA中安装配置并使用Jrebel热部署插件

耗尽温柔 提交于 2021-02-08 10:37:19
热部署插件改了代码不用重启项目 首先随便进一个之前的项目,进入主界面再说。 安装插件步骤: 下载插件 热部署插件 ,也可以在idea的插件自带的插件商店下载,搜索 Jrebel ,或者 点击我 下载 提取码:c3d7 IDEA插件库安装插件 重启之后,在右下角有个弹窗,这时候选择enable,然后右边的侧边栏工具会弹出一个界面,总共应该有4步,第一步是展开的,点击蓝色的链接文字:click-action,表示去激活。然后就会弹出下面这个图的界面 激活步骤: 进入https://www.guidgen.com/,快速入口=》 点击进入 如图,有一段自动随机生成的字符串,在这串字符串前面加上:https://jrebel.qekang.com/ 然后复制黏贴到下面这里这个 Team URL ,第一行是黏贴你上面复制的,第二行是邮箱,可以随便编造一个,只要是邮箱的格式就行 然后勾选 **I agree……**表示同意…然后点右下角的确定。然后后如果没有红色提示英文语句就表示一切没问题,等几秒钟,显示 License for 什么什么你自己破解idea用的名字,这个时候就成功注册了。 Jrebel的配置 进入idea的设置,找到下图设置 下图就是已经改成离线模式了 Jrebel热部署插件的使用 这里我拿springboot项目当案例 首先随便建一个springboot项目,控制层如下图

爱奇艺现场面试总结

帅比萌擦擦* 提交于 2021-02-08 02:54:59
一面: java内存模型:问面试官是jmm还是jvm,说是jvm,说了说分区 堆内存:说了堆内存划分和理由,各种内存的分配流程,各类回收算法。 项目:略 mysql锁存在哪里的:想不起来了。。。 mysql乐观锁悲观锁:乐观锁说了mvcc,悲观锁说了行锁表锁 mysql mvcc实现:说了下那两列blablabla,又说了下除了mvcc外还用了啥来保证可重复读 aqs:自己看过源码,就着lock类说,包括tryaquire,addwaiter,公平锁非公平锁实现区别 jdk1.7 1.8区别:部分容器类改进(如hashmap,concurrenthashmap),stream,lambda stream怎么实现的:底层用的类似fork join fork join怎么实现的:把人物分开,然两两后合并结果 写个归并排序:之前快排和堆排都练过,就归并。。。。没练,没憋出来 sql写行转列:。。尴尬,也写不出 springboot了解么:实验项目用过,着重说了下默认配置和springloud的基础 springcloud说下,画画图:主要说了eruka,ribbon,hystrix,fegin,config,bus,zuul 二面: 项目:略 后台开发高并发的理解:提高服务器配置,分布,服务管理,负载均衡,一致性处理,缓存,数据库分库分表,高可用,页面静态化都说了说,各说了下大致怎么做的

面试官给我挖坑:rm删除文件之后,空间就被释放了吗?

混江龙づ霸主 提交于 2021-02-07 22:44:20
在Linux,你是不是曾经天真的以为,使用rm删除一个文件,占用的空间就释放了?事情可能不是常常如人意。 产生一个指定大小的随机内容文件 我们先看一下当前各个挂载目录的空间大小: $ df -h /dev/sda11 454M 280M 147M 66% /boot 我这里挑选了其中一个结果展示(你可以选择任一挂载目录),接下来准备在 /boot 下生成一个文件。 首先我们产生一个50M大小的文件: $ dd if=/dev/urandom of=/boot/test.txt bs=50M count=1 至此,我们产生了一个50M大小的文件,再看boot下: $ df -h /dev/sda11 454M 312M 115M 74% /boot 这里你不用关心到底多了多少,你只需要关注,/boot下的文件增多了。 测试程序: #include<stdio.h> #include<unistd.h> int main(void) { FILE *fp = NULL; fp = fopen("/boot/test.txt", "rw+"); if(NULL == fp) { perror("open file failed"); return -1; } while(1) { //do nothing sleep(1); } fclose(fp); return 0; }

springboot+mybatis多数据源

会有一股神秘感。 提交于 2021-02-07 21:38:11
首先,既然是多数据源,那么我们就先看下数据源怎么配置的: javaconfig类似下面这样: MapperScan注解常用配置如下: basePackages:Base packages to scan for MyBatis interfaces,也就是mapper接口所在包名 annotationClass:This property specifies the annotation that the scanner will search for, 也就是只扫描指定包下的指定注解作为mapper,通常为org.apache.ibatis.annotations.Mapper markerInterface:This property specifies the parent that the scanner will search for,只扫描指定包下指定父接口的子接口作为mapper sqlSessionTemplateRef:指定这组mapper关联的sqlSessionTemplate sqlSessionFactoryRef:指定这组mapper关联的sqlSessionFactory 那么,问题来了,annotationClass,markerInterface都配置了或者都不配置会怎样?在org.mybatis.spring.annotation

坐下坐下,基本操作(ZooKeeper 操作篇)

大憨熊 提交于 2021-02-07 20:30:37
本文作者:HelloGitHub- 老荀 Hi,这里是 HelloGitHub 推出的 HelloZooKeeper 系列, 免费开源、有趣、入门级的 ZooKeeper 教程 ,面向有编程基础的新手。 ZooKeeper 是 Apache 软件基金会的一个软件项目,它为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册。ZooKeeper 曾经是 Hadoop 的一个子项目,但现在是一个顶级独立的开源项目。 ZK 在实际开发工作中经常会用到,算的上是吃饭的家伙了,那可得玩透、用的趁手,要不怎么进阶和升职加薪呢?来和 HelloGitHub 一起学起来吧~ 本系列教程是 从零开始 讲解 ZooKeeper,内容从 最基础的安装使用到背后原理和源码的讲解 ,整个系列希望通过有趣文字、诙谐的气氛中让 ZK 的知识“钻”进你聪明的大脑。本教程是开放式:开源、协作,所以不管你是新手还是老司机,我们都希望你可以 加入到本教程的贡献中,一起让这个教程变得更好 : 新手:参与修改文中的错字、病句、拼写、排版等问题 使用者:参与到内容的讨论和问题解答、帮助其他人的事情 老司机:参与到文章的编写中,让你的名字出现在作者一栏 项目地址:https://github.com/HelloGitHub-Team/HelloZooKeeper 今天我们会讲解下,如何使用 Java 代码客户端去操作

分布式事务有哪些解决方案?

↘锁芯ラ 提交于 2021-02-07 20:30:16
来源:http://dwz.date/eaAm 分布式事务是什么 数据库事务的特性包括原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durabilily),简称 ACID。 在数据库执行中,多个并发执行的事务如果涉及到同一份数据的读写就容易出现数据不一致的情况,不一致的异常现象有以下几种。 脏读 ,是指一个事务中访问到了另外一个事务未提交的数据。例如事务 T1 中修改的数据项在尚未提交的情况下被其他事务(T2)读取到,如果 T1 进行回滚操作,则 T2 刚刚读取到的数据实际并不存在。 不可重复读 ,是指一个事务读取同一条记录 2 次,得到的结果不一致。例如事务 T1 第一次读取数据,接下来 T2 对其中的数据进行了更新或者删除,并且 Commit 成功。这时候 T1 再次读取这些数据,那么会得到 T2 修改后的数据,发现数据已经变更,这样 T1 在一个事务中的两次读取,返回的结果集会不一致。 幻读 ,是指一个事务读取 2 次,得到的记录条数不一致。例如事务 T1 查询获得一个结果集,T2 插入新的数据,T2 Commit 成功后,T1 再次执行同样的查询,此时得到的结果集记录数不同。 脏读、不可重复读和幻读有以下的包含关系,如果发生了脏读,那么幻读和不可重复读都有可能出现。 不同隔离级别 SQL 标准根据三种不一致的异常现象

开发工具:IDEA EasyCode插件用法(很实用)

半世苍凉 提交于 2021-02-07 17:43:01
目录 1、前言 2、安装(EasyCode) 3、建立数据库 4、在IDEA配置连接数据库 5、开始生成代码 6、pom.xml 7、Application.yml 8、启动项目 来源: jianshu.com/p/e4192d7c6844 1、前言 Easycode是idea的一个插件,可以直接对数据的表生成entity,controller,service,dao,mapper,无需任何编码,简单而强大。 2、安装(EasyCode) 我这里的话是已经安装好了。 建议大家在安装一个插件,叫做Lombok。 Lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法。出现的神奇就是在源码中没有getter和setter方法,但是在编译生成的字节码文件中有getter和setter方法。 3、建立数据库 -- ---------------------------- -- Table structure for user -- ---------------------------- DROP TABLE IF EXISTS `user` ; CREATE TABLE `user` ( `id` int ( 11 ) NOT NULL , `username` varchar ( 20 )

Arthas 使用的各类方式

穿精又带淫゛_ 提交于 2021-02-07 12:34:43
作者 | Montos(一个在后端道路上摸爬滚打的内卷人) 来源| 阿里巴巴云原生公众号 Arthas 是阿里巴巴开源的 Java 诊断工具。让我们能够在线排查项目发生的问题。除了知道它的存在之外,我们也需要知道我们如何去安装使用它,以便于提高我们日常开发解决 BUG 的效率。 方案介绍 方案一:本地直接运行 往往最简单的方法实际是最有效的,它本身就是一个可运行的程序,所以我们可以直接运行即可。 我们可以直接通过官网下载对应的 jar,然后运行再进行 jar,执行对应的命令。 命令如下: java -jar arthas-boot.jar [option] 演示如下: 方案二:Web Console实现 我们可以不通过每次进入 ssh 中进行执行程序,我们也可通过 web 方式进行访问操作.通过官网上面的介绍 arthas 的 Web Console,能了解到大致的搭建思路。 通过下载 arthas-tunnel-server。我们可以拿到对应的 arthas 的 server 端。下载完毕之后直接运行即可(我是将其在 ECS 上直接运行)。 在客户端对应的启动 arthas-boot。并且通过启动参数附加上 server 的地址(我是将其在本地运行)。 选择对应的进程进行 attach,会出现对应的 agent-id,再将其填写到对应的 server 端 http 页面中。

从零搭建 Spring Cloud 服务(超级详细)

拜拜、爱过 提交于 2021-02-07 04:17:51
点 击上方 Java后端 , 选择 设为星标 优质文章,及时送达 作者: Anakki;链接:blog.csdn.net/qq_29519041/article/details/85238270 这里会介绍很多基础知识,直接想开 始搭建微服务的可以看第二章,微服务的搭建。直接看第二章不会有什么影响,可以先学会开车再学习车的构造的,看个人习惯来。 1.什么是SpringCloud? SpringCloud官网:https://spring.io/projects/spring-cloud(个人建议是用谷歌浏览器访问官网打开中文翻译粗略把官网读一遍) 把 Spring 全家桶相关的文章整理成了 PDF,关注微信公众号 Java后端,回复 666 下载这个技术栈手册。 个人理解: 以前的服务器就好像,一个会语数外全能的老师,为学生提供服务,这个老师生病了,那全校停课。现在微服务流行后,学校有了数学教研组,语文教研组,外语教研组,每个教研组有一群老师具体负责某科的教学,缺了谁,学校都照样运转。 而这个变化中,那些改变历史的程序员就是把一个服务器中的众多服务,或好几台服务器中的众多服务,分类出来,解耦合出来,把他们类似的功能交给同一个集群来做,把互相耦合在一起的功能剥离出来,按业务,按功能来把他们作为一个个微服务放在服务器上,而这个服务器就只提供一个服务,或较少的服务。 让一个超大的服务逻辑