摘要: 2020年笔者在做微服务部件升级时,Dubbo的注册中心从Zookeeper切换到Nacos碰到个问题,最近刷Github又有网友提到类似的问题,就在这篇文章里做个梳理和总结。 1、问题描述 前几年我在做微服务部件升级时,将Dubbo的注册中心从Zookeeper切换到Nacos。切换的原因是有2点 阅读全文
posted @ 2024-04-08 18:58 不焦躁的程序员 阅读(1043) 评论(2) 推荐(3) 编辑
摘要: RocketMQ是Java兄弟们常用的消息中间件,虽说常用,但对于RocketMQ架构经常忘记。究其原因就2点:忙于业务开发然后长时间不看则忘了、不理解架构设计的根本原因记不牢。本文用大白话描述架构设计过程,牢记RocketMQ架构。 一、架构的思考过程 首先,在记框架的原理和架构时,要先把握全局的 阅读全文
posted @ 2024-02-11 11:12 不焦躁的程序员 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 自动化控制APP不管是在工作还是生活方面,都可以帮助我们高效地完成任务,节省时间和精力。本文主要介绍自动化控制APP的3种常用方式。 1、Python + adb 这种方式需要对Android有一些基本的了解。adb是一种用于调试Android应用程序的工具。使用Python和adb可以轻松实现自动 阅读全文
posted @ 2024-04-25 09:41 不焦躁的程序员 阅读(484) 评论(0) 推荐(1) 编辑
摘要: 一般在Java项目里用到锁的场景不多,有朋友调侃说用到锁的次数还没有面试被问到的次数多,哈哈! 1、死锁如何产生 说句难听话,锁一般都很少用到,何况死锁呢?想产生死锁还是有点难的,需要满足2个条件: 共享资源同时只能被一个线程使用,如果已经有一个线程占用了资源,其余线程只能等待,直到资源被释放。 死 阅读全文
posted @ 2024-04-02 10:13 不焦躁的程序员 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 程序员-你得把自己卖出去 程序员-你得把自己卖出去 阅读全文
posted @ 2024-03-08 11:55 不焦躁的程序员 阅读(1624) 评论(2) 推荐(6) 编辑
摘要: 本文主要以最简易最快速的方式介绍RPC调用核心流程,文中以Dubbo为例。同时,会写一个简易的RPC调用代码,方便理解和记忆核心组件和核心流程。 1、核心思想 RPC调用过程中,最粗矿的核心组件3个:Registry、Provider、Consumer。最粗矿的流程4个:注册、订阅、通知、调用。最简 阅读全文
posted @ 2024-02-23 13:50 不焦躁的程序员 阅读(498) 评论(0) 推荐(3) 编辑
摘要: 各位朋友听我一句劝,写代码提供方法给别人调用时,不管是内部系统调用,还是外部系统调用,还是被动触发调用(比如MQ消费、回调执行等),一定要加上必要的条件校验。千万别信某些同事说的这个条件肯定会传、肯定有值、肯定不为空等等。这不,临过年了我就被坑了一波,弄了个生产事故,年终奖基本是凉了半截。 为了保障 阅读全文
posted @ 2024-02-11 11:17 不焦躁的程序员 阅读(189) 评论(0) 推荐(1) 编辑
摘要: 记一次Flink CDC引起的Mysql元数据锁事故,总结经验教训。后续在编写Flink CDC任务时,要处理好异常,避免产生长时间的元数据锁。同时出现生产问题时要及时排查,不能抱有侥幸心理。 1、事件经过 某天上午,收到系统的告警信息,告警提示:同步Mysql的某张表数据到Elasticsearc 阅读全文
posted @ 2024-02-11 11:17 不焦躁的程序员 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 1、定义 Go语言支持一种特殊的字段只需要提供类型而不需要写字段名的字段**,**称之为匿名字段或者嵌套字段。 所谓匿名字段实际上是一种结构体嵌套的方式,所以也可以称作嵌套字段。 这种方式可以实现组合复用,即通过匿名字段,结构体可以直接访问嵌套结构体的字段和方法,而无需通过字段名或类型进行嵌套。 2 阅读全文
posted @ 2024-02-11 11:16 不焦躁的程序员 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 在Mysql数据库中,模糊搜索通常使用LIKE关键字。然而,随着数据量的不断增加,Mysql在处理模糊搜索时可能面临性能瓶颈。因此,引入Elasticsearch作为搜索引擎,以提高搜索性能和用户体验成为一种合理的选择。 1、客户的诉求 在ES中,影响搜索结果的因素多种多样,包括分词器、Match搜 阅读全文
posted @ 2024-02-11 11:16 不焦躁的程序员 阅读(66) 评论(0) 推荐(0) 编辑
摘要: Gin是一个使用Go语言开发的Web框架,追求性能和效率。 1、使用Gin快速初始化项目 创建项目目录: 在命令行中创建一个新目录,用于存放项目文件。然后进入该目录: mkdir my-gin-demo cd my-gin-demo 初始化 Go 模块: 在项目目录中运行以下命令以初始化 Go 模块 阅读全文
posted @ 2024-02-11 11:15 不焦躁的程序员 阅读(10) 评论(0) 推荐(0) 编辑