自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

beyond的博客

为了更好的明天

  • 博客(102)
  • 资源 (6)
  • 收藏
  • 关注

原创 iLogtail专题一:iLogtail使用背景

公司一直使用的Filebeat进行日志采集由于Filebeat采集组件一些问题,现需要使用iLogtail进行代替现记录下iLogtail介绍和实际使用过程iLogtail使用背景目前日志存储系统---采集端采用了Filebeat存在的问题:由于上述不足,目前考虑使用iLogtail的原因:目前日志存储系统—采集端采用了Filebeat存在的问题:由于采集到的日志需要分发至不同项目组的kafka集群,当前Filebeat无法配置多个kafka集群接收者,只能通过启动多个Filebeat进程来.

2022-03-04 09:43:59 569 2

原创 java项目线上出现OOM问题定位看这篇文章就够了

这里我们先建一个springboot项目模拟出OOM问题,具体代码如下。打包部署到服务器上后开始运行。查看日志发现java.lang.OutOfMemoryError: Java heap space这里我们是创建大量对象,对象又是存储在堆中,所以这边OOM的原因后面已经标注了是heap没有空间了。大家对于此类问题的分析,平时可以多看看JVM的数据,了解JVM中运行时数据区域中每一个区域存放哪些内容,这样在定位OOM问题时也可以根据信息更好的确认。这是我们导出内存快照查看。由于jhat 命

2022-02-26 20:56:39 1672

原创 JVM介绍篇三:jvm性能监控及故障处理工具

使用命令jstat -gcutil pid查看 S0 S1 E O M CCS YGC YGCT FGC FGCT GCT 0.00 100.00 74.51 22.04 91.31 90.01 41 57.346 0 0.000 57.346S0:幸存1区当前使用比例S1:幸存2区当前使用比例E:伊甸园区使用比例O:老年代使用比例M:元数据区使用比例CCS:压缩使用比例

2022-02-23 16:49:23 2483

原创 三级缓存架构在项目中有何用?

想到缓存技术,大家脑海里肯定会出现redis试想:如果redis中存放了全量的热点数据,但是由于访问量达到一定级别时频繁查询redis产生大量的网络开销并且影响redis整体性能,这是我们需要怎么办呢?这时我们可以考虑采用三级缓存的架构,一是使用nginx本地缓存预防redis的一定量高并发压力下撑不住,二是使用jvm本地缓存进一步处理redis缓存雪崩、缓存穿透等常见问题。三级缓存架构:nginx本地缓存nginx本地缓存,抗的是热数据的高并发访问,一般来说,商品的购买总是有热点的,比.

2021-10-31 18:34:46 2702

原创 ES中JVM调优记录

2021.10.20 16:30ES启动后无法正常访问,查看ES后台日志如下日志分析:age1 -----------对象年龄代为1ParNew Desired survivor size 17432576 bytes ------------期望的survivor大小为17432576new threshold 6(max 6) JVM内部计算出的晋升阈值从日志可以看出,JVM目前是age6时进入老年代,正常情况下,JV默认M是在age为15后进入老年代,导致这个的原因是新生代内存

2021-10-21 11:15:31 1064

原创 Java8 JVM内存结构变了,永久代到元空间

在文章《JVM之内存结构详解》中我们描述了Java7以前的JVM内存结构,但在Java8和以后版本中JVM的内存结构慢慢发生了变化。作为面试官如果你还不知道,那么面试过程中是不是有些露怯?作为面试者,如果知晓这些变化,又将成为面试中的亮点。如果在网络上搜索JVM内存结构,90%的可能会搜到Java7及以前的内存图,本篇文章将会对JVM内存结构再次细化,深入理解Java8之后的内部变化。现在意识到关注公众号“程序新视界”的好处了吧。在这里可以不断的刷新你的知识和认知。JVM内存结构的细化再来看一下《JV

2021-10-14 14:30:06 210

原创 kafka多线程实现消费者实战

前言:kafka生产者是线程安全的,但是消费者不是线程安全的。KafkaConsumer的实现不是线程安全的,所以我们在多线程的环境下,使用KafkaConsumer的实例要小心,应该每个消费数据的线程拥有自己的KafkaConsumer实例...

2021-09-27 10:53:08 1042

原创 kafka扩充toptic的分区

情景描述:kafka原先消费节点是3个,但是topic下分区只有2个。我们都知道,一个节点可以消费多个分区,而一个分区只能被一个节点消费,所以导致一个消费节点被闲置,为了提高消费速度避免积压,现需增加1个分区让闲置节点开始消费。具体操作如下:##查看Kafka 消费者 偏移量./kafka-consumer-groups.sh --group test --bootstrap-server 10.32.39.105:9092 --describe##将toptic分区增加到3个./kafka

2021-09-23 20:57:59 1484

原创 Mongodb数据库查询40s优化到600ms

首先看下同一个接口优化前后查询时间对比Mongodb数据库查询40优化到600ms其实只差一个索引使用下面命令给t_invetory_quantity表的repositoryId加上索引 db.t_invetory_quantity.createIndex({repositoryId:1})加入索引后使用EXPLAIN命令查看优化器如何决定执行查询db.getCollection('t_invetory_quantity').find({"repositoryId":12}).explain(

2020-07-09 15:49:37 957

原创 mysql性能优化介绍

mysql性能优化前言1 MySql架构与存储引擎2.业务设计3.查询以及索引前言分三个方面和大家介绍下实际工作中如何对mysql进行优化衡量指标TPS:Transactions Per Second(每秒传输的事物处理个数),这是指服务器每秒处理的事务数,支持事务的存储引擎如InnoDB等特有的一个性能指标。QPS:Queries Per Second(每秒查询处理量)同时适用与Inn...

2019-11-18 15:11:08 220

原创 分布式任务调度相关介绍

分布式任务调度先介绍下:Spring&SpringBoot任务调度工具传统定时任务存在的问题分布式环境里, 任务调度的困难及解决思想高可用任务调度原理先介绍下:Spring&SpringBoot任务调度工具相信@Scheduled(cron = “0/5 * * * * ?”)这个注解大家都用过实现原理:触发器 + 线程池 ==== 任务调度下面例出几个式子CRON表达...

2019-02-21 16:04:36 5096

原创 分布式事物介绍

分布式事物本地事务概念分布式理论CAP定理分布式事务概念分布式事务解决方法1.两阶段提交(2PC)XA规范下的2pc事务两阶段提交原理图2PC事务解决方案的利弊2.补偿事务(TCC)base理论/柔性事务 ----- 为了可用性,牺牲一致性整个base理论的过程,如下:tcc补偿性事务流程图tcc补偿性事务示例讲解准备工作tcc补偿性事务流程分析这里以在南航和国航个买往返票为例try-confir...

2019-02-19 14:30:30 4357

原创 k8s实践记录

通过deployment-go-hello2.yml创建副本为3的Deployment,更新策略默认使用滚动更新通过 service 把服务暴露出来,可以从外部直接访问通过Service 中的LoadBalancer将pod端口映射到物理机滚动升级:kubectl set image deployment/go-hello hello=go-helloworld:0.0.7扩充副本数:...

2022-07-05 17:07:45 233 1

原创 使用dockerfile发布go项目

docker安装go-helloworld代码go项目打包dockerfile编写,需要加上RUN chmod +x /build/helloworld命令,否则导致容器启动时对go二进制文件helloworld没有使用权限使用dockerfile创建镜像,然后使用镜像创建容器访问helloworld项目...

2022-06-16 13:38:25 699

原创 k8s单机安装记录

1、百度卸载干净k8s和docker注:包括yum的安装包,否则之后安装会冲突2、参照博客内容搭建https://www.jianshu.com/p/dadec614632b搭建完需要等待十分钟以上才初始化完成结束

2022-06-16 13:33:21 284

原创 Java并发专题三:Java内存模型

基于《java并发编程的艺术》整理便于以后复习详细知识点可在书中查阅Java内存模型3.1 java内存模型基础3.1.1 并发编码模型的两个关键问题 – 线程是并发执行的活动实体3.1.2 Java内存模型的抽象结构3.1.3 从源代码到指令序列的重排序3.1.4 happens-before3.2 重排序3.2.1 数据依赖性3.2.2 as-if-serial语义3.2.3 重排序对多线程的影响3.3顺序一致性3.4volatile的内存语义3.4.1 volatile特性:3.4.2 vol.

2022-04-04 14:54:17 407

原创 JVM介绍篇四:JVM中类加载机制

虚拟机类加载机制类加载流程加载验证准备解析初始化卸载类加载器的加载顺序双亲委派机制虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验、装换解析和初始化,最终形成可以被虚拟机直接使用的 Java 类型。类加载流程类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这五个阶段中,加载、验证、准备和初始化这四个阶段发生的顺序是确定的,而解析阶段则不一定,它在某些情况下可以在初始化阶段之后开始,这是为了支持Java语言的运行时绑定(也成为动态绑定或晚期绑定)。另外注意这里的几个阶

2022-03-30 14:08:58 197

原创 Flink专题九:Flink 运行模式及搭建

由于工作需要最近学习flink现记录下Flink介绍和实际使用过程这是flink系列的第九篇文章local方式(本地测试用)该方式是在Java虚拟机上运行Flink程序,或者是在正在运行程序的Java虚拟机上,像我们在IDE上直接运行就是采用的local方式,这种方式会获取到一个LocalExecutionEnvironment(或者CollectionEnvironment)类的环境上下文对象,默认并行度是当前可用处理器的Java虚拟机的数量,参考链接standalone方式(测试环境用).

2022-03-30 10:51:44 2284

原创 Flink专题八:Flink 中内存管理

由于工作需要最近学习flink现记录下Flink介绍和实际使用过程这是flink系列的第九篇文章Flink JVM 进程的 进程总内存(Total Process Memory)包含了由 Flink 应用使用的内存(Total Flink Memory)以及由运行 Flink 的 JVM 使用的内存(JVM specific memory)。Flink 总内存(Total Flink Memory)包括 JVM 堆内存(JVM Heap)和堆外内存(Off-Heap Memory)。 其中堆外内.

2022-03-29 16:54:54 3645

原创 Java并发专题二:Java并发机制的底层实现原理

基于《java并发编程的艺术》整理便于以后复习详细知识点可在书中查阅Java并发机制的底层实现原理volatilesynchronizedLock原子操作的实现volatilevolatile相当于轻量级的synchronized,作用是在多处理器下保证数据的可见性,如果使用得当,会比synchronized的执行成本更低,因为它不会引发线程上下文切换和调度。volatile修饰的变量就是告知系统,任何对此变量的操作都需要从共享内存中获取,而对他的改变则必须刷新回共享内存中,保证所有线程对.

2022-03-27 18:15:20 803

原创 Java并发专题一:并发编程的挑战

基于《java并发编程的艺术》整理便于以后复习详细知识点可在书中查阅并发编程多线程加速程序运行所面临的问题:上下文切换、死锁、硬件和软件的限制。上下文切换CPU按照分配给各个程序的时间片来执行程序或者切换线程执行。切换前会保存上一个任务的状态,以便下次切换回这个任务时,可以再加载这个任务的状态。多线程不一定更快,并发执行的操作在不是大数据量的情况下会比串行的慢。上下文切换势必会带来时间上的开销,解决的方法有:无锁并发编程CAS算法使用最少线程使用协程个人理解:在跑的.

2022-03-27 17:46:22 1695

原创 Flink专题七:Flink 中广播流之BroadcastStream

由于工作需要最近学习flink现记录下Flink介绍和实际使用过程这是flink系列的第七篇文章Flink 中广播流之BroadcastStream使用场景使用案例数据流和广播流connect方法BroadcastProcessFunction 和 KeyedBroadcastProcessFunction重要注意事项使用场景背景:我们定义两个流,一个流包含图形(Item),具有颜色和形状两个属性。另一个流包含特定的规则(Rule),代表希望寻找的模式。在图形流中,我们需要首先使用颜.

2022-03-24 15:21:48 6976

原创 Flink专题六:Flink 中并行度的概念及使用

由于工作需要最近学习flink现记录下Flink介绍和实际使用过程这是flink系列的第六篇文章Flink 中并行度的概念及使用并行度SlotsSlots概念slot共享并行度的使用方法并行度优先级并行度一个任务(Source、Transformation、Sink)的并行实例(线程〉数目称为该任务的并行度SlotsSlots概念在flink中,把对资源的最小抽象称作slot,可以理解为是资源的最小管理单位,它是TaskManager资源的一个子集。通过slot,flink将资源进行有.

2022-03-24 11:14:25 2907

原创 Flink专题五:Flink 中自定义Sink

由于工作需要最近学习flink现记录下Flink介绍和实际使用过程这是flink系列的第五篇文章自定义SinkSink介绍SinkFunction接口介绍RichSinkFunction类介绍Sink介绍flink的sink是flink三大逻辑结构之一(source,transform,sink),功能就是负责把flink处理后的数据输出到外部系统中。在编写代码的过程中,我们可以使用flink已经提供的sink,如kafka,jdbc,es等。连接器是否提供Source支持是否提供Sink.

2022-03-23 18:27:31 6686

原创 Flink专题四:Flink DataStream 窗口介绍及使用

由于工作需要最近学习flink现记录下Flink介绍和实际使用过程这是flink系列的第四篇文章Flink DataStream 窗口介绍及使用窗口介绍时间窗口翻滚窗口(数据以一个时间断为节点不会有重复)滑动窗口会话窗口全局窗口窗口函数减少函数聚合函数进程窗口函数窗口介绍Flink 认为 Batch 是 Streaming 的一个特例,所以 Flink 底层引擎是一个流式引擎,在上面实现了流处理和批处理。而窗口(window)就是从 Streaming 到 Batch 的一个桥梁。Flink .

2022-03-23 15:37:40 1606

原创 JVM介绍篇二:垃圾回收器与内存分配策略

csdn中看到了很多关于JVM运行时数据区域介绍的,但是并没有看到什么讲解很好的资料所以这里自己写一个记录下,方便日后工作中需要时可以查阅垃圾回收器与内存分配策略概述对象已死吗?引用计数法可达性分析法再谈引用 (此处需修改)生存还是死亡回收方法区垃圾回收算法标记-清除算法复制算法标记-整理算法分代回收垃圾回收器并发标记扫描CMS收集器并发标记扫描CMS收集器垃圾回收器如何选择内存分配与回收策略对象优先在 Eden 分配大对象直接进入老年代长期存活的对象将进入老年代动态对象年龄判定空间分配担保概述.

2022-03-22 15:56:22 117

原创 Flink专题三:Flink DataStream 算子介绍及使用

由于工作需要最近学习flink现记录下Flink介绍和实际使用过程这是flink系列的第三篇文章Flink DataStream 算子介绍及使用算子介绍数据流常用转换方法MapFlatMapFilterKeyByreduceUnion算子介绍用户通过算子能将一个或多个 DataStream 转换成新的 DataStream,在应用程序中可以将多个数据转换算子合并成一个复杂的数据流拓扑。这部分内容将描述 Flink DataStream API 中基本的数据转换API,数据转换后各种数据分区方.

2022-03-13 16:07:54 3219

原创 Flink专题二:Flink DataStream API 介绍及使用

由于工作需要最近学习flink现记录下Flink介绍和实际使用过程这是flink系列的第二篇文章Flink 中的 API这里介绍我们常用的DataStream API:Flink API 第二层抽象是 Core APIs。实际上,许多应用程序不需要使用到上述最底层抽象的 API,而是可以使用 Core APIs 进行编程:其中包含 DataStream API(应用于有界/无界数据流场景)和 DataSet API(应用于有界数据集场景)两部分。Core APIs 提供的流式 API(Flu.

2022-03-13 15:41:27 2467

原创 Flink专题一:Flink基础概念介绍

由于工作需要最近学习flink现记录下Flink介绍和实际使用过程这是flink系列的第一篇文章Flink基础概念介绍流处理并行 Dataflows自定义时间流处理有状态流处理通过状态快照实现的容错流处理在自然环境中,数据的产生原本就是流式的。无论是来自 Web 服务器的事件数据,证券交易所的交易数据,还是来自工厂车间机器上的传感器数据,其数据都是流式的。但是当你分析数据时,可以围绕 有界流(bounded)或 无界流(unbounded)两种模型来组织处理数据,当然,选择不同的模型,程序的执.

2022-03-13 15:17:19 546

原创 iLogtail和Mogo整合实践

iLogtail和Mogo整合实践整体采集日志服务架构iLogtail日志采集当我们遇到错误日志中的堆栈信息,需要对此进行多行日志解析添加日志字段和重命名日志字段完整配置如下,其中包含对于堆栈信息处理,添加字段处理日志路径修改修改性能参数配置相关iLogtail的参考文档日志处理与存储Mogo日志系统展示clickhouse中的数据使用介绍后期集成最近在做日志采集-处理-展示的系统日志采集采用了iLogtail采集日志传输到kafka之后通过flink处理kafka中数据存储到clickhouse

2022-03-13 12:27:44 3674 2

原创 Flink使用介绍

概述Apache Flink是一个面向分布式数据流处理和批量数据处理的开源计算平台,它能够基于同一个Flink运行时,提供支持流处理和批处理两种类型应用的功能。现有的开源计算方案,会把流处理和批处理作为两种不同的应用类型,因为它们所提供的SLA(Service-Level-Aggreement)是完全不相同的:流处理一般需要支持低延迟、Exactly-once保证,而批处理需要支持高吞吐、高效处理。Flink从另一个视角看待流处理和批处理,将二者统一起来:Flink是完全支持流处理,也就是说作为流处

2022-03-10 18:25:08 517

原创 iLogtail专题十二:iLogtail部署及配置

公司一直使用的Filebeat进行日志采集由于Filebeat采集组件一些问题,现需要使用iLogtail进行代替现记录下iLogtail介绍和实际使用过程这是iLogtail系列的第十二篇文章

2022-03-06 10:09:32 814

原创 iLogtail专题六:iLogtail部署及配置

公司一直使用的Filebeat进行日志采集由于Filebeat采集组件一些问题,现需要使用iLogtail进行代替现记录下iLogtail介绍和实际使用过程这是iLogtail系列的第六篇文章

2022-03-06 10:07:31 518

原创 iLogtail专题十一:iLogtail采集原理

公司一直使用的Filebeat进行日志采集由于Filebeat采集组件一些问题,现需要使用iLogtail进行代替现记录下iLogtail介绍和实际使用过程这是iLogtail系列的第十一篇文章

2022-03-06 10:00:25 795

原创 iLogtail专题七:日志采集架构改变

公司一直使用的Filebeat进行日志采集由于Filebeat采集组件一些问题,现需要使用iLogtail进行代替现记录下iLogtail介绍和实际使用过程这是iLogtail系列的第七篇文章

2022-03-06 09:56:50 766

原创 iLogtail专题五:iLogtail 与Filebeat 性能对比与分析

公司一直使用的Filebeat进行日志采集由于Filebeat采集组件一些问题,现需要使用iLogtail进行代替现记录下iLogtail介绍和实际使用过程这是iLogtail系列的第五篇文章

2022-03-06 09:52:58 1214

原创 iLogtail专题三:iLogtail部署及配置

公司一直使用的Filebeat进行日志采集由于Filebeat采集组件一些问题,现需要使用iLogtail进行代替现记录下iLogtail介绍和实际使用过程这是iLogtail系列的第三篇文章

2022-03-06 09:39:24 3311 1

原创 iLogtail专题十:iLogtail插件开发

公司一直使用的Filebeat进行日志采集由于Filebeat采集组件一些问题,现需要使用iLogtail进行代替现记录下iLogtail介绍和实际使用过程这是iLogtail系列的第十篇文章如何开发Input 插件了解如何开发Input插件前你需要先了解Input插件接口,目前的Input插件分为2类,分别为MetricInput与ServiceInput,分别为MetricInput可以由全局控制采集频率,适合Metric指标拉取等情况,ServiceInput更适...

2022-03-04 10:46:28 578

原创 iLogtail专题九:iLogtail插件系统简介

背景作为日志服务的采集 Agent,iLogtail 目前已运行于 100W+ 机器上,为万级别的应用提供服务,为了能够更好地实现与开源生态的融合并满足用户不断丰富的接入需求,我们为 iLogtail 引入了插件系统,目前,我们已通过插件系统支持了若干数据源,包括 HTTP、MySQL Query、MySQL Binlog 等。实现原理我们以如下流程图来说明 iLogtail 插件系统的实现原理。为了支持插件系统,引入了 libPluginAdaptor 和 libPluginBase(

2022-03-04 10:44:13 997

原创 iLogtail专题八:数据结构介绍

数据类型概览本节将介绍插件接口相关的一些数据类型,目前,iLogtail 和服务后端之间的数据类型采用了 protobuf 进行描述。protobuf是一种与语言无关、与平台无关,是一种可扩展的用于序列化和结构化数据的方法,常用于用于通信协议,数据存储等。protobuf是一种灵活,高效,自动化的机制,用于序列化结构化数据,对比于 XML,他更小(310倍),更快(20100倍),更简单。Content & LogTag传输数据字段以及标签,简单的 key/val...

2022-03-04 10:41:36 459

Java面试题.txt

分为简单问题和困难问题,题目比较基础,适合公司给实习生面试时使用。附有详细答案,文档中Java相关的题目供大家参考。

2020-07-09

微服务交流.pptx

介绍了什么是微服务,微服务可以干什么,应用场景,和当前项目对微服务的使用,以及公司上微服务的步骤以及好处,欢迎大家交流谈论

2020-02-24

mybatis-generator1.3.7.rar

下载Mybatis Generator插件将features和plugins这2个文件夹放到eclipse的安装目录下面,重启后即可

2020-02-12

mongodb演讲ppt

需要学习mongodb,或者要对mongodb进行演讲的朋友欢迎下载。

2019-03-01

zookeeper可视化界面ZooInspector

需要zookeeper可视化界面ZooInspector的用血可以下载,方便管理zookeeper

2019-03-01

redis演讲ppt

如果有想学习redis,或者需要为redis进行介绍的,欢迎下载

2019-03-01

空空如也

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

TA关注的人

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