- 博客(104)
- 资源 (8)
- 问答 (1)
- 收藏
- 关注
原创 Beaver Vs ES 优势劣势分析
2.产生的Segment的数目极多,每个Segment的DOC数目少,严重依赖Merge。2.引擎会自动根据ssd,sata,nas不同级别存储完成热,温,冷索引迁移和控制。3.Merge的规模小,正常情况下因Merge产生的IO和CPU消耗很低。2.可以根据时间戳和Query的范围排除大量不需要检索的Blick。1.实时系统中会导致负载的Global Ordinal失效和重建。2.所有打开的Segment都需要加载全部数据的Meta。1.长期保留索引时,需要把所有索引源数据打开,带来极大资源消耗。
2023-04-26 10:49:53
682
原创 jvm一般相关配置OutOfMemoryError关参数配置解释
JVM提供了有用的参数来处理 OutOfMemoryError 。在本文中,我们将重点介绍这些JVM参数。在排除OutOfMemoryError故障时,它可能会很方便。这些JVM参数是:1. -XX:HeapDumpOnOutOfMemoryError-XX:HeapDumpPath2. -XX:onAutofmemoryError3. -XX:+ExitOnOutOfMemoryError4. -XX:+CrashOnOutOfMemoryError让我们在本文中详细讨论这些JVM参数。堆转储dump文件
2022-06-06 17:47:07
3930
原创 k8s集群创建kafka集群暴露外部使用
直接上yaml资源文件创建zookeeper集群资源文件,kubectl apply -f zk-sts.yaml -n namespaceapiVersion: v1kind: Servicemetadata: name: zookeeper-hs labels: app: zookeeperspec: ports: - port: 2888 name: server - port: 3888 name: leader-election
2022-04-27 17:19:22
2162
1
原创 kubernetes 创建ingress不生效
kubernetes创建ingress不生效,ingress-controller中的nginx.conf没有更新配置问题发现通过查看ingress-controller-pod的的日志发现,not valid ingress calss ------------------------------------------------------------------------------- NGINX Ingress controller Release: v1.
2022-03-31 12:57:53
12768
1
原创 为什么使用消息队列-消息队列有什么优点和缺点
为什么使用消息队列?消息队列有什么优点和缺点?Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别,以及适合哪些场景?为什么使用消息队列比较核心的有 3 个:解耦、异步、削峰。缺点有以下几个: 系统可用性降低 系统引入的外部依赖越多,越容易挂掉。本来你就是 A 系统调用 BCD 三个系统的接口就好了,ABCD 四个系统还好好的,没啥问题,你偏加个 MQ 进来,万一 MQ 挂了咋整?MQ 一挂,整套系统崩溃,你不就完了?如何保证消息队列的高可用,..
2021-05-10 10:43:30
205
原创 greenplum日常维护命令
具体内容可参考官方文档:https://cn.greenplum.org/docs/1. 数据库启动:gpstart常用可选参数: -a : 直接启动,不提示终端用户输入确认-m:只启动master 实例,主要在故障处理时使用2. 数据库停止:gpstop:常用可选参数:-a:直接停止,不提示终端用户输入确认-m:只停止master 实例,与gpstart –m 对应使用-M fast:停止数据库,中断...
2021-05-10 10:41:43
1868
原创 分布式定时任务调度框架
1. 目标把定时任务通过集群的方式进行管理调度,并采用分布式部署,保证系统的高可用,提高了容错。那么如何保证定时任务只在集群的某一个节点上执行,或者一个任务如何拆分为多个独立的任务项,由分布式的机器去分别执行, 众多的定时任务如何统一管理,现在有很多成熟的分布式定时任务框架,都能很好的实现上述的功能。2. 调度框架2.1 Quartz 介绍 Quartz集群中每个节点都是一个单独的Quartz应用,它又管理着其他的节点。这个集群需要每个节点单独的启动或停止;和我们的应用服务器集群不同,
2021-05-10 10:40:34
648
原创 yum下载离线安装包
Downloadonly工具我们可以通过 yum 命令的 Downloadonly 插件下载 RPM 软件包及其所有依赖包。如无此命令,请安装:yum install yum-plugin-downloadonly命令格式:yum install –downloadonly –downloaddir=/root/mypackages/ nginxYumdownloader工具我们可以通过 yum 命令的 Yumdownloader 插件下载 RPM 软件...
2021-05-10 10:39:01
4343
原创 mysql和postgresql不存在则插入操作
mysql:ON DUPLICATE KEY UPDATE(不存在则插入,存在则更新)mysql语法支持如果数据存在则更新,不存在则插入,首先判断数据存在还是不存在的那个字段要设置成unique索引。语法:INSERT INTO 表名(唯一索引列, 列2, 列3) VALUE(值1, 值2, 值3) ON DUPLICATE KEY UPDATE 列=值, 列=值REPLACE INTO (不存在则插入,存在先删除,后插入)REPLACE INTO 主要作用类似 INSERT .
2021-05-10 10:37:50
2010
1
原创 分布式锁实现的三种方式
基于数据库实现分布式锁;基于缓存(Redis等)实现分布式锁;基于Zookeeper实现分布式锁;一 基于数据库的实现方式字段上创建唯一索引,获取锁,使用insert into, 释放锁delete操作问题:性能,不具备可重入性,无锁失效机制,不具备锁阻塞特性select for update 悲观锁二 基于redis的实现方式1、选用Redis实现分布式锁原因:(1)Redis有很高的性能;(2)Redis命令对此支持较...
2021-05-10 10:36:51
127
原创 分布式事务实现方式
2pc2PC(Two-phase commit protocol),中文叫二阶段提交。二阶段提交是一种强一致性设计,2PC 引入一个事务协调者的角色来协调管理各参与者(也可称之为各本地资源)的提交和回滚,二阶段分别指的是准备(投票)和提交两个阶段。准备阶段协调者会给各参与者发送准备命令提交阶段同步等待所有资源的响应之后就进入第二阶段即提交阶段(注意提交阶段不一定是提交事务,也可能是回滚事务。实现方案java jta xa协议规范实现2pcAtomikos的实现阿...
2021-05-10 10:35:38
152
原创 JVM调优参数
-Xms: 堆的初始值,例如 -Xmx2048,初始堆大小为 2G-Xmx: 堆的最大值,例如 -Xmx2048M,允许最大堆内存 2G-Xmn: 新生代大小-XX:SurvivorRatio:Eden 区所占比例,默认是 8,也就是 80%,例如 -XX:SurvivorRatio=8-Xss:栈空间大小,栈是线程独占的,所以是一个线程使用栈空间的大小,例如 -Xss256K,如果不设置此参数,默认值是 1M,一般来讲设置成 256K 就足够了。简单日志-verbose:gc 或者
2021-05-10 10:33:55
180
原创 生成docker tls证书docker-client访问docker
生成证书脚本 证书路径默认会放在 /etc/docker/certs#创建 Docker TLS 证书#!/bin/bash#相关配置信息SERVER="192.168.100.12"PASSWORD="123123"COUNTRY="CN"STATE="北京市"CITY="北京市"ORGANIZATION="本地测试"ORGANIZATIONAL_UNIT="Dev"EMAIL="kerry@qq.com"###开始生成文件###echo "开始生成文件"#切换到生产
2021-01-19 15:03:27
786
转载 Redis zset 内部实现原理
Redis中支持的数据结构比Memcached要多的多啦,如基本的字符串、哈希表、列表、集合、可排序集,在这些基本数据结构上也提供了针对该数据结构的各种操作,这也是Redis之所以流行起来的一个重要原因,当然Redis能够流行起来的原因,远远不只这一个,如支持高并发的读写、数据的持久化、高效的内存管理及淘汰机制...从Redis的git提交历史中,可以查到,2009/10/24在1.050版本,Redis开始支持可排序集,在该版本中,只提供了一条命令zadd,宏定义如下所示:1 {"zad
2020-09-30 14:20:10
1166
原创 elasticsearch 5.x版本安装插件
windows :所需资源 :下载Node.js,网址:https://nodejs.org/en/ 下载 elasticsearch-head https://github.com/mobz/elasticsearch-head安装nodejs包,随便安装那个盘安装gruntgrunt是一个很方便的构建工具,可以进行打包压缩、测试、
2020-09-30 10:42:34
178
原创 Java虚拟机堆栈异常溢出问题分析解决 OutOfMemoryError,StackOverflowError
Java堆溢出java堆用于存储对象实例,我们只要不断的创建对象,并且保证GC Roots到对象之间有可达路径来避免垃圾回收机制清楚这些对象,就会在对象数量达到堆的容量限制后产生内存溢出的异常实例代码清单如下:package com.kerry;import java.util.ArrayList;import java.util.List;public
2020-09-30 10:42:13
714
转载 Kafka工作原理以及流程
Kafka Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据,具有高性能、持久化、多副本备份、横向扩展能力……… 一些基本的介绍这里就不展开了,网上有太多关于这些的介绍了,读者可以自行百度一下!基础架构及术语 话不多说,先看图,通过这张图我们来捋一捋相关的概念及之间的关系: 如果看到这张图你很懵逼,木有关系!我们先来分析相关概念 Producer:Producer即生产者,消息的产生者,是消息的入口。 kafka clust
2020-09-30 10:40:46
590
转载 docker Volume 数据卷的使用
docker中的数据可以存储在类似于虚拟机磁盘的介质中,在Docker中称为数据卷(Data Volume)。数据卷可以用来存储Docker应用的数据,也可以用来在Docker容器间进行数据共享。数据卷呈现给Docker容器的形式就是一个目录,支持多个容器间共享,修改也不会影响镜像。使用Docker的数据卷,类似在系统中使用 mount 挂载一个文件系统。1)一个数据卷是一个特别指定的目录,该目录...
2018-03-30 11:44:22
1897
转载 Java虚拟机垃圾回收(二) 垃圾回收算法 标记-清除算法 复制算法 标记-整理算法 分代收集算法 火车算法
Java虚拟机垃圾回收(二) 垃圾回收算法 标记-清除算法 复制算法 标记-整理算法 分代收集算法 火车算法 在《Java虚拟机垃圾回收(一) 基础》中了解到如何判断对象是存活还是已经死亡? 介绍了垃圾回收基础算法:引用计数算法、可达性分析算法,以及HotSpot虚拟机中实现对象可达性分析的一些问题。 下面先来了解Java虚拟机垃圾回
2017-10-13 14:52:44
430
转载 Java虚拟机垃圾回收(一) 基础:回收哪些内存/对象 引用计数算法 可达性分析算法 finalize()方法 HotSpot实现
Java虚拟机垃圾回收(一) 基础 回收哪些内存/对象 引用计数算法 可达性分析算法 finalize()方法 HotSpot实现分析 在《Java内存区域 JVM运行时数据区》中了解到各数据区有些什么特点、以及相关参数的调整,知道了:程序计数器、虚拟机栈、本地方法栈这3个区域是随线程而生而灭的,内存分配和回收都具备确定性,而Java堆和方法区
2017-10-13 14:51:46
434
转载 Java虚拟机垃圾回收(三) 7种垃圾收集器:主要特点 应用场景 设置参数 基本运行原理
Java虚拟机垃圾回收(三) 7种垃圾收集器 主要特点 应用场景 设置参数 基本运行原理 在《Java虚拟机垃圾回收(一) 基础》中了解到如何判断对象是存活还是已经死亡?在《Java虚拟机垃圾回收(二) 垃圾回收算法》了解到Java虚拟机垃圾回收的几种常见算法。 下面先来了解HotSpot虚拟机中的7种垃圾收集器:Serial、P
2017-10-13 14:50:08
547
原创 FastDFS_5.0_+_nginx_+_cache_集群安装配置
目录FastDFS安装配置手册.......................................................................................................1一、 安装.............................................................
2017-09-07 13:32:55
492
转载 搭建高可用mongodb集群master-slave模式
在大数据的时代,传统的关系型数据库要能更高的服务必须要解决高并发读写、海量数据高效存储、高可扩展性和高可用性这些难题。不过就是因为这些问题Nosql诞生了。NOSQL有这些优势:大数据量,可以通过廉价服务器存储大量的数据,轻松摆脱传统mysql单表存储量级限制。高扩展性,Nosql去掉了关系数据库的关系型特性,很容易横向扩展,摆脱了以往老是纵向扩展的诟病。高性能,N
2017-08-31 17:28:19
532
转载 搭建高可用mongodb集群 replica set—— 副本集
主节点挂了能否自动切换连接?目前需要手工切换。主节点的读写压力过大如何解决?从节点每个上面的数据都是对数据库全量拷贝,从节点压力会不会过大?数据压力大到机器支撑不了的时候能否做到自动扩展?这篇文章看完这些问题就可以搞定了。NoSQL的产生就是为了解决大数据量、高扩展性、高性能、灵活数据模型、高可用性。但是光通过主从模式的架构远远达不到上面几点,由此MongoDB设计了副本集和分片的功能。这
2017-08-31 17:23:43
467
转载 搭建高可用mongodb集群 replica set—— 深入副本集内部机制
副本集故障转移,主节点是如何选举的?能否手动干涉下架某一台主节点。官方说副本集数量最好是奇数,为什么?mongodb副本集是如何同步的?如果同步不及时会出现什么情况?会不会出现不一致性?mongodb的故障转移会不会无故自动发生?什么条件会触发?频繁触发可能会带来系统负载加重?Bully算法 mongodb副本集故障转移功能得益于它的选举机制。选举机制采用了Bully算法,可以很方便从分布
2017-08-31 17:22:14
625
转载 搭建高可用mongodb集群-Sharding 分片
在系统早期,数据量还小的时候不会引起太大的问题,但是随着数据量持续增多,后续迟早会出现一台机器硬件瓶颈问题的。而mongodb主打的就是海量数据架构,他不能解决海量数据怎么行!不行!“分片”就用这个来解决这个问题。传统数据库怎么做海量数据读写?其实一句话概括:分而治之。上图看看就清楚了,如下 taobao岳旭强在infoq中提到的 架构图:上图中有个TDDL,是taobao
2017-08-31 17:17:33
628
原创 mongodb高可用集群方案
一、高可用集群的解决方案高可用性即HA(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性。计算机系统的高可用在不同的层面上有不同的表现:(1)网络高可用由于网络存储的快速发展,网络冗余技术被不断提升,提高IT系统的高可用性的关键应用就是网络高可用性,网络高可用性与网络
2017-08-31 17:03:20
1088
原创 Spring Boot的启动器各个Starter解释
spring Boot应用启动器基本的一共有44种,具体如下:1)spring-boot-starter 这是Spring Boot的核心启动器,包含了自动配置、日志和YAML。2)spring-boot-starter-actuator 帮助监控和管理应用。3)spring-boot-starter-amqp 通过spring-rabbit来支持AMQP协议(
2017-08-31 14:36:10
436
原创 springboot集成mongodb使用mongoTemplate和MongoRepository
springboot集成mongodb使用mongoTemplate和MongoRepository在pom文件引入spring-boot-starter-data-mongodb依赖: org.springframework.boot spring-boot-starter-data-mongodb 数据源的配置 如果mongodb端口是默认端口,并
2017-08-28 15:13:38
13786
原创 spring 在有事务的方法上配置自定义日志切面,事务会失效解决方法
问题描述,在servic事务方法中记录日志时候,在方法上加上自定义日志注解横切面,日志切面使用Around环绕通知记录日志事务配置都是正确配置,当去除@MethodLog日志注解时候,事务是可以正常回滚的如果加上日志注解@MethodLog事务会失效,不回滚。service类@Servicepublic class UserServiceImpl implements UserS
2017-08-25 14:41:03
5362
2
原创 Maven打可执行jar包的多种方式
Maven可以使用mvn package指令对项目进行打包生成jar文件,如果直接使用java -jar xxx.jar指令运行jar文件,会出现”no main manifest attribute, in xxx.jar”(没有设置Main-Class)、ClassNotFoundException(找不到依赖包)等错误要想jar包能直接通过java -jar xxx.jar运
2017-08-17 10:14:46
856
原创 jdk1.8 lambda表达式处理集合的一些用法
package com.kerry;import java.time.Clock;import java.time.Duration;import java.time.LocalDate;import java.time.LocalDateTime;import java.time.LocalTime;import java.time.Month;import java.util.
2017-08-04 14:05:12
1562
转载 Java GC算法以及垃圾收集算法
概述垃圾收集 Garbage Collection 通常被称为“GC”,它诞生于1960年 MIT 的 Lisp 语言,经过半个多世纪,目前已经十分成熟了。jvm 中,程序计数器、虚拟机栈、本地方法栈都是随线程而生随线程而灭,栈帧随着方法的进入和退出做入栈和出栈操作,实现了自动的内存清理,因此,我们的内存垃圾回收主要集中于 java 堆和方法区中,在程序运行期间,这部分内存的分配和
2017-08-02 17:20:10
333
转载 Java多线程问题总结
Java多线程的问题,有些来源于各大网站、有些来源于自己的思考。可能有些问题网上有、可能有些问题对应的答案也有、也可能有些各位网友也都看过,但是本文写作的重心就是所有的问题都会按照自己的理解回答一遍,不会去看网上的答案,因此可能有些问题讲的不对,能指正的希望大家不吝指教。40个问题汇总1、多线程有什么用?一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,
2017-08-02 10:32:31
356
FastDFS+nginx+_cache集群安装配置超详细步骤
2017-09-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人