![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
技术学习
文章平均质量分 90
yifanghub
这个作者很懒,什么都没留下…
展开
-
Kafka内外网分流配置listeners和advertised.listeners
Kafka部署在内网,内网Java服务会使用Kafka收发消息,另外,Java服务会与其他第三方系统使用kafka实现数据同步,也就是外网也会发送消息到kafka,外网IP做了端口映射到了内网,Kafka 服务器对外宣传的端点信息,它会将地址注册到Zookeeper中,用于告诉客户端应该连接到哪个地址和端口,也就是客户端真正要访问的地址。,可以同时配置多个, 并且用逗号隔开,监听器的名称和端口必须是唯一的,端口相同,就冲突了。类似,但是可以指定不同的地址或端口,如果没有配置,则默认值和。原创 2024-06-16 15:51:39 · 1099 阅读 · 1 评论 -
Redis实现延迟队列
个人推荐使用Redisson 的。原创 2024-05-31 00:21:54 · 1195 阅读 · 0 评论 -
Skywalking配置traceId
SkyWalking是一个开源的分布式系统观测平台,旨在解决微服务和云原生架构中常见的性能监控和故障排除问题。自2015年由Apache基金会孵化以来,SkyWalking已经成为全球范围内广泛使用的APM(应用性能管理)解决方案之一。原创 2024-05-15 23:57:41 · 920 阅读 · 1 评论 -
Java日志总结
开发中,日志记录是不可或缺的一部分,应用日志的记录主要用于:记录操作轨迹数据、监控系统运行情况、系统故障定位问题,日志的重要性不言而喻,想要快速定位问题,日志分析是个重要的手段,Java也提供了多种日志框架来进行有效的日志管理。本文将探讨Java常用的日志框架以及使用案例。原创 2024-05-12 21:34:59 · 932 阅读 · 0 评论 -
static变量获取nacos配置文件值
static方法修饰的静态变量从配置文件中获取,用到的地方还是挺多的,比如在一些工具类当中,通常这些工具类里面的变量是全局的,在很多地方都有调用。这里1/2/3方案都是先将Spring对象中的变量加载完成后,再主动将值赋值给静态变量实现的,因为只加载一次,所以当Nacos配置文件中值更新的时候,我们需要重启服务才能生效。原创 2024-04-27 19:47:40 · 751 阅读 · 1 评论 -
javaagent使用
是在JDK1.5以后引入的,它能够在不影响正常编译的情况下修改字节码,相当于是在main方法执行之前的拦截器,也叫premain,也就是会先执行premain方法然后再执行main方法。JDK 1.6后引入了agentmain模式,同样提供了一个agentmain方法,可以在main方法执行之后运行。方法将我们的jar包注入到对应的进程当中,然后被注入的进程就好调用jar包里的。可以看到,我们的agentmain方法的代理已经生效,其中。包含agentmain方法的类(类的全路径名)原创 2024-04-19 23:01:02 · 943 阅读 · 0 评论 -
Gradle入门初探
我们都创建过基于Maven的项目,maven可以很好的管理项目的依赖,编译和打包项目,Gradle是一个和Maven类似的自动化构建工具,Maven是基于xml文件格式,而Gradle是基于Groovy的语言,这使Groovy的构建脚本更加的灵活并且易于编写。在性能上,Gradle也引入了增量构建以及一些缓存机制,也要比maven构建速度更快,总之,Gradle的优点要比maven多,作为继maven之后的新一代的构建工具,如果我们要创建新的项目,不妨使用Gradle尝试下。原创 2024-04-07 19:26:32 · 1342 阅读 · 0 评论 -
Groovy基础入门
Groovy是运行在JVM中的一种动态语言,可以在Java平台上进行编程,使用方式基本与使用Java代码的方式相同,它的语法与Java语言的语法很相似,与Java相比,Groovy更加灵活、简洁,而且完成同样的功能基本上所需要的Groovy代码量会比Java的代码量少,它还增加了很多功能,如:函数式编程、运行时的灵活性以及许多元编程内容。它可以用来构建一个完整的工程,或者作为一个Module,第三方集成到Java代码中。甚至可以作为脚本在执行时动态编译。原创 2024-03-29 00:20:12 · 1368 阅读 · 0 评论 -
Spring状态机简单实现
状态机,又称有限状态自动机,是表示有限个状态以及在这些状态之间的转移和动作等行为的计算模型。状态机的概念其实可以应用的各种领域,包括电子工程、语言学、哲学、生物学、数学和逻辑学等,例如日常生活中的电梯、风扇、门闸机等,都会涉及到多种状态,随着动作的执行会进行状态的转移,而在软件编程领域,采用状态机的思路同样可以简化我们的设计流程,会使代码的可读性和可维护性得到增加。原创 2024-03-14 23:45:16 · 1780 阅读 · 0 评论 -
设计模式-状态模式
状态模式是一种行为设计模式,使用状态模式,能够在一个对象内部状态变化时改变它的行为,使其看起来就像改变自身的类一样。核心点:区分事物内部的状态,把事物的每种状态都封装成单独的类,跟此状态有关的行为都被封装在这个类的内部,当对象的状态改变时,它的行为也会随之改变。原创 2024-03-07 22:49:03 · 1052 阅读 · 0 评论 -
定时任务框架
注:此处的执行器,选择上一步添加的执行器,然后填写任务描述、负责人、报警邮件(接收人),填写调度配置、任务配置(注解接入属于BEAN模式,JobHandler需要跟第四步的3)里面注解填写的JobHandler名称一致,填写高级配置(路由策略、调度过期策略、阻塞处理策略需谨慎选择),子任务ID一般为空,任务超时时间和失败重试次数根据业务需要填写。- 子任务:每个任务都拥有一个唯一的任务ID(任务ID可以从任务列表获取),当本任务执行结束并且执行成功时,将会触发子任务ID所对应的任务的一次主动调度。原创 2024-02-29 22:45:44 · 1265 阅读 · 0 评论 -
SpringBoot集成Mqtt发送消息
MQTT是一种物联网消息协议,为Message Queuing Telemetry Transport的缩写,即,协议基于发布订阅模式进行通信,有开销低、带宽小、轻量的特点,通常应用在物联网数据采集、移动应用、智能硬件、电力、能源等领域。原创 2024-02-22 23:01:51 · 1336 阅读 · 4 评论 -
设计模式-访问者模式
访问者模式是设计模式中行为型模式的一种(其他的还有如创建型、结构型),听说是设计模式中比较难理解的一种,最近项目中用到了该模式,所以今天总结和实践一下。原创 2023-12-14 22:36:06 · 336 阅读 · 1 评论 -
Redission分布式锁原理初探
在多线程并发请求当中,为了保证我们的资源同一时刻只有一个线程进行操作(如商品超卖问题、购票系统等),我们通常要添加锁机制,如ReentrantLock,也就是可重入的互斥锁,与synchronized功能类似,因为比较灵活,所以经常使用。这在单机情况下是没有问题的,但在多节点的情况下,也就意味着有多个进程,ReentrantLock锁机制可能就会不起作用,所以我们需要一种能够跨进程的锁,也就是同一时刻只能让一个进程获取锁,来控制共享资源的访问。原创 2023-12-08 00:01:15 · 175 阅读 · 0 评论