- 博客(16)
- 收藏
- 关注
原创 Filebeat + ELK 保姆级别搭建
好久没更新文章了,最近发生了很多事情,今年也换了份工作(PS:今年找工作行情是真的差),但是生活还是要向前看的!加油!废话到此为止…写这篇文章的来源在于入职新公司(小公司),给我安排了个任务搭建一套日志系统,然后发给了我张图,让我采用这个架构这里面用到的组件以前都单独部署过,但是从来没仔细跑通过整个流程,达到生产可用的标准,这次趁这个机会就详细记录一下搭建过后,前人踩坑,后人乘凉系列的(🐶)…日志组件:FileBeat + Logstash + ElasticSearch + Kibana。
2023-07-25 23:01:42
377
2
原创 Mysql主从之keepalived保证高可用搭建详细教程
在很早之前搭建过Mysql的主从,但是当时年幼无知,没有想到过高可用怎么保证,这两天在复习以前的笔记的时候,无意中看到了Mysql之keepalived的文章,自己就想着实践一下,于是就有了这篇文章。文章大体分为两部分:1.主从搭建,2.keepalived集成。
2023-03-13 16:30:08
2348
1
原创 详解Spring循环依赖
最近在复习Spring源码,面对自己曾经做过的循环依赖笔记,一脸的懵,所以这次打算写篇文章,好好记录一下。对spring源码要有一定程度的了解。目标小白也能听懂!废话不多说,下面就正式开始!提前暴露bean。一级缓存:单例池,完整的bean。二级缓存:存放被代理的bean,代理bean可能是个半成品bean。三级缓存:打破循环,为解决AOP问题,存放半成品bean的工厂方法。
2023-02-14 22:23:29
268
原创 SpringBoot之一次关于bootstrap.yaml文件的思考
本文不是介绍yaml的语法,是本人看微信推送文章的时候,看到了一篇关于bootstrap.yaml配置文件加载的原理,才想多去深究一下其加载原理。因为看的文章讲解的云里雾里的,讲解的不是很明白,自己就想着深入去了解一下加载的原理,所有才写了这篇文章。bootstrap.yaml文件的加载原理。需要事先说明一下Bootstrap.yaml这个文件是在我们使用spring cloud的时候才会有用,一个普通的spring Boot项目,bootstrap.yaml文件内容是不会被加载的。
2022-11-08 23:25:52
3237
2
原创 浅谈Ribbon之实现对网关服务的上下线平滑感知
这篇文章是在生产环境遇到的问题实现的解决方案。在使用GateWay网关做路由转发时,要转发的服务启动过后,网关总是不能及时去感知上线或下线的服务,导致服务会有一小段空白期不可访问。针对这个问题,本人通过了解了Ribbon的执行过程,在网关层最终最大程度上解决了这个问题。用到的组件:注册中心:Nacos 1.4.1。网关:Spring Cloud Gateway 2.2.5.RELEASE。版本别整错了!解决办法: 基于Nacos事件推送立即刷新客户端服务列表。
2022-09-28 22:44:33
560
原创 SpringCloudGateway源码分析第一篇
网关的作用在这里就不赘述了,下面这个图(官网上的)描述了网关的大致执行流程原理,现在看着肯定很抽象,本文阅读完后再看这张图你绝对会很清晰。Filter使用Gateway时需要加入的依赖:
2022-09-18 16:10:26
786
原创 Nacos配置中心Server端源码解析
在这个地方看到了LocalDataChangeEvent事件的发布,LongPollingService构造器里面对这个事件进行了订阅,,此时就会触发订阅事件的执行,走DataChangeTask里面的逻辑。可以看出nacos中大量用到了线程池+Queue去完成一些任务处理,用到了事件模式进行通知等等,这些都是我们在业务代码里面可以学习使用的地方。整个过程比较长,也比较枯燥,分析也只是按照主要流程走的,画图比较好理解一些,这是笔者自己调试画的。获取配置的server端接口,直接就是返回配置文件信息。
2022-08-22 23:41:57
702
1
原创 Nacos配置中心Client源码解析
源码解析之配置加载流程1.前序2.NacosConfigBootstrapConfiguration3.NacosConfigAutoConfiguration源码阅读前的建议:1.了解过Spring&SpringBoot源码(必须)。2.了解过SpringBoot配置文件的加载流程(非必须)开始撸起!1.前序在我们项目中使用Nacos做配置中心时,我们首先会引入Nacos-Config的依赖<dependency> <groupId>com.aliba
2022-08-19 23:19:40
667
1
原创 Kafka消费者流程源码解析
1.说明本文章简单流程追踪一下Kafka从服务端拉取数据到客户端的流程。看完本文,你将会大致了解消费者数据消费的过程。2.消费者示例Properties properties = new Properties();properties.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, "xxx:9092");properties.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserial
2022-03-11 23:37:21
2945
原创 Kafka生产者发送流程源码解析
1.说明本文章简单流程追踪一下Kafka从客户端数据发送到Server的流程。看完本文,你将会大致了解客户端数据发送的过程。2.发送数据的例子public class CustomProducer { public static void main(String[] args) throws Exception{ Properties properties = new Properties(); properties.put(ProducerConfig.B
2022-03-08 23:31:42
1830
原创 Spring事件原理
SpringBoot 事件原理分析简介1.Spring 事件原理2.SpringBoot 启动事件流程简介通常基于事件编程,我们直接使用ApplicationContext类里面的**publishEvent()**方法进行事件发布。public void publishEvent(ApplicationEvent event);ApplicationEvent 是一个事件类,我们可以继承该类,发布自己创建的事件类,在自定义一个监听类来监听该事件对象。public abstract class
2022-02-20 13:06:56
1012
原创 Eureka客户端源码解析
Eureka客户端源码1.重要的几个API1.InstanceInfo2.Application3.Applications4.jersey框架5.依赖关系1.重要的几个API1.InstanceInfo该类用于保存一个微服务的信息,是Eureka注册的单元。public class InstanceInfo { // 当前Client在Server端的状态 private volatile InstanceStatus status = InstanceStatus.UP;
2022-02-02 21:46:22
1268
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人