摘要: 各位朋友听我一句劝,写代码提供方法给别人调用时,不管是内部系统调用,还是外部系统调用,还是被动触发调用(比如MQ消费、回调执行等),一定要加上必要的条件校验。千万别信某些同事说的这个条件肯定会传、肯定有值、肯定不为空等等。这不,临过年了我就被坑了一波,弄了个生产事故,年终奖基本是凉了半截。 为了保障 阅读全文
posted @ 2024-02-11 11:17 程序员半支烟 阅读(227) 评论(0) 推荐(1) 编辑
摘要: 记一次Flink CDC引起的Mysql元数据锁事故,总结经验教训。后续在编写Flink CDC任务时,要处理好异常,避免产生长时间的元数据锁。同时出现生产问题时要及时排查,不能抱有侥幸心理。 1、事件经过 某天上午,收到系统的告警信息,告警提示:同步Mysql的某张表数据到Elasticsearc 阅读全文
posted @ 2024-02-11 11:16 程序员半支烟 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 1、定义 Go语言支持一种特殊的字段只需要提供类型而不需要写字段名的字段**,**称之为匿名字段或者嵌套字段。 所谓匿名字段实际上是一种结构体嵌套的方式,所以也可以称作嵌套字段。 这种方式可以实现组合复用,即通过匿名字段,结构体可以直接访问嵌套结构体的字段和方法,而无需通过字段名或类型进行嵌套。 2 阅读全文
posted @ 2024-02-11 11:16 程序员半支烟 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 在Mysql数据库中,模糊搜索通常使用LIKE关键字。然而,随着数据量的不断增加,Mysql在处理模糊搜索时可能面临性能瓶颈。因此,引入Elasticsearch作为搜索引擎,以提高搜索性能和用户体验成为一种合理的选择。 1、客户的诉求 在ES中,影响搜索结果的因素多种多样,包括分词器、Match搜 阅读全文
posted @ 2024-02-11 11:16 程序员半支烟 阅读(149) 评论(0) 推荐(0) 编辑
摘要: Gin是一个使用Go语言开发的Web框架,追求性能和效率。 1、使用Gin快速初始化项目 创建项目目录: 在命令行中创建一个新目录,用于存放项目文件。然后进入该目录: mkdir my-gin-demo cd my-gin-demo 初始化 Go 模块: 在项目目录中运行以下命令以初始化 Go 模块 阅读全文
posted @ 2024-02-11 11:15 程序员半支烟 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 今天咱们唠一个职场技能-解决问题。许多所谓的前辈指导别人职场技能时,总是把:向上管理、PPT汇报等,放在第一位,对此笔者不以为然。 毕竟大部人所在的企业是中小企业,中小企业没有那么多的流程管理和职级,没有那么多的汇报。其次,向上管理等技能知识“术”的东西,不管是在大企业,还是中小企业,打铁还需自身硬 阅读全文
posted @ 2024-02-11 11:15 程序员半支烟 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 先抛个问题,如果哪天突然发现IDC机房 和 公有云 之间的服务无法访问了(排除服务本身的问题之外,可能是网络不通,也可能是网络变的很慢使得资源无法及时下载,从而导致服务无法访问)。 该如何分析这个问题呢?经过以下5步,基本能定位出问题: 确认IDC机房和公有云之间的网络是否连通 确认IDC机房和公有 阅读全文
posted @ 2024-02-11 11:14 程序员半支烟 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 1、核心特性 Go语言有一些让人影响深刻的核心特性核心特性,比如:以消息传递模式的并发、独特的_符号、defer 、函数和方法、值传递等等,可以查看这篇文章《Go语言-让我印象深刻的13个特性》。首先要记住一些核心特性的用法。 1.1、Goroutine 协程:独立的栈空间,共享堆空间,比线程更轻量 阅读全文
posted @ 2024-02-11 11:14 程序员半支烟 阅读(881) 评论(0) 推荐(0) 编辑
摘要: 延迟消息一般用于:提前发送消息,延迟一段时间后才需要被处理的场景。比如:下单半小时后还未支付,则取消订单 释放库存 等。 RocketMQ的延迟消息使用上非常便捷,但是不支持任意时间的延迟,这一点对于有强迫症的朋友来说就比较难受,但是搞明白为什么这么设计后,就自然释怀了。 为什么RocketMQ不支 阅读全文
posted @ 2024-02-11 11:13 程序员半支烟 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 了解Elasticsearch的Alias别名之后,可以在业务上很方便的实现复杂需求,快速解决问题,本文从3个方面介绍:官方定义、使用场景、使用方法。 一、官方定义 先看下官方对ES 的Alias定义: 重点有2个: 别名是一组索引的辅助名称,一个别名可以指向多个索引,一个索引可以有多个别名。 使用 阅读全文
posted @ 2024-02-11 11:12 程序员半支烟 阅读(68) 评论(0) 推荐(0) 编辑
摘要: RocketMQ是Java兄弟们常用的消息中间件,虽说常用,但对于RocketMQ架构经常忘记。究其原因就2点:忙于业务开发然后长时间不看则忘了、不理解架构设计的根本原因记不牢。本文用大白话描述架构设计过程,牢记RocketMQ架构。 一、架构的思考过程 首先,在记框架的原理和架构时,要先把握全局的 阅读全文
posted @ 2024-02-11 11:12 程序员半支烟 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 提到Elasticsearch,让笔者最恶心的倒不是它的反人类的DSL设计,而是每次安装都需要修改进程的最大文件描述符。那ES与文件描述符有啥恩怨呢,下面就来唠叨唠叨。首先说说文件描述符、在说说ES为什么要这么多文件描述符。 一、文件描述符 1、什么是文件描述符 文件描述符(File descrip 阅读全文
posted @ 2024-02-11 11:11 程序员半支烟 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 在上一篇《云计算-共享&服务》介绍过:云计算的本质是一种IT资源通过虚拟化进行的共享,是一种更高维度的服务。本文介绍:云计算和虚拟化有哪些区别,以及基于OpenStack的云计算。 一、云计算和虚拟化的区别 1、新品装旧酒吗? 许多人认为云计算是新瓶装旧酒,认为云计算基本就是虚拟化,其实不然。云计算 阅读全文
posted @ 2024-02-11 11:11 程序员半支烟 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 我们使用的框架几乎都有网络通信的模块,比如常见的Dubbo、RocketMQ、ElasticSearch等。它们的网络通信模块使用Netty实现,之所以选择Netty,有2个主要原因: Netty封装了复杂的JDK 的 NIO操作,还封装了各种复杂的异常场景,丰富的API使得在使用上也非常方便,几行 阅读全文
posted @ 2024-02-11 11:11 程序员半支烟 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 最近云厂商问题频发,我们还能把应用放心的交给云厂商吗?云计算这玩意儿是新瓶装旧酒吗?笔者聊聊自己的看法。 1、云计算的本质-服务 云计算-共享 云的概念起源于“共享”,类似于组织内的成员共享一个超级计算机,超级计算机就是个“资源池”,说白了就是一堆服务器资源。 早期有人做服务器租赁的生意,还有人做共 阅读全文
posted @ 2024-02-11 11:10 程序员半支烟 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 记知识先记轮廓,关于DSL语法的轮廓,记住以下3句话即可: 索引、文档和查询 Match、Term和Bool 还有翻页和聚合 1、又爱又恨的DSL 使用Elasticsearch时,我们一般是调用RestClient API的方式读取和写入集群数据。有时也会使用工具查阅和操作数据,比如:使用Chro 阅读全文
posted @ 2024-02-11 11:09 程序员半支烟 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 上一篇介绍了Elasticsearch的入门《5000字详说Elasticsearch入门(一)》,本篇介绍Springboot如何集成使用Elasticsearch。分为3步:配置properties文件、引入pom依赖、配置RestHighLevelClient类。 1、选择ES的Client 阅读全文
posted @ 2024-02-11 11:08 程序员半支烟 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 本文主要介绍快速入门Elasticsearch,从安装、基本概念、分词器、文档基本操作这4个方面快速入门。本篇是ES入门系列的第一篇,后续还有springboot项目集成ES、ES高级查询用法、数据库同步到ES的方案等。 Elasticsearch是一款近实时的搜索引擎,底层是基于Lucene做搜索 阅读全文
posted @ 2024-02-11 11:08 程序员半支烟 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 在一般应用部署中,都是将程序和配置信息分离,这样可以保证程序可以被各个环境复用。 在容器场景中,将应用打包成镜像后,可以通过环境变量或者文件挂载的方式,在创建容器时把配置注入进去。 在Kubernetes场景中,则使用configMap实现应用与配置分离。使用configMap的方式有多种,有的方式 阅读全文
posted @ 2024-02-11 11:07 程序员半支烟 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 最近一段时间读完了《技术人修炼之道》,书中内容涵盖了作者多年实践和思想的结晶,整体读来有许多观点深有同感,也学习到了一些新的理念,在这里感谢黄哲铿老师。本文主要结合我自身十几年的IT行业经验,以及创业多年的感受,从书中提炼了一些个人觉得非常有价值并且好落地的点进行分享。 本文主要从:自身修养、团队管 阅读全文
posted @ 2024-02-11 11:07 程序员半支烟 阅读(41) 评论(0) 推荐(0) 编辑