02 2024 档案

摘要:本文主要以最简易最快速的方式介绍RPC调用核心流程,文中以Dubbo为例。同时,会写一个简易的RPC调用代码,方便理解和记忆核心组件和核心流程。 1、核心思想 RPC调用过程中,最粗矿的核心组件3个:Registry、Provider、Consumer。最粗矿的流程4个:注册、订阅、通知、调用。最简 阅读全文
posted @ 2024-02-23 13:49 程序员半支烟 阅读(632) 评论(0) 推荐(3) 编辑
摘要:各位朋友听我一句劝,写代码提供方法给别人调用时,不管是内部系统调用,还是外部系统调用,还是被动触发调用(比如MQ消费、回调执行等),一定要加上必要的条件校验。千万别信某些同事说的这个条件肯定会传、肯定有值、肯定不为空等等。这不,临过年了我就被坑了一波,弄了个生产事故,年终奖基本是凉了半截。 为了保障 阅读全文
posted @ 2024-02-11 11:17 程序员半支烟 阅读(234) 评论(0) 推荐(1) 编辑
摘要:记一次Flink CDC引起的Mysql元数据锁事故,总结经验教训。后续在编写Flink CDC任务时,要处理好异常,避免产生长时间的元数据锁。同时出现生产问题时要及时排查,不能抱有侥幸心理。 1、事件经过 某天上午,收到系统的告警信息,告警提示:同步Mysql的某张表数据到Elasticsearc 阅读全文
posted @ 2024-02-11 11:16 程序员半支烟 阅读(58) 评论(0) 推荐(0) 编辑
摘要:1、定义 Go语言支持一种特殊的字段只需要提供类型而不需要写字段名的字段**,**称之为匿名字段或者嵌套字段。 所谓匿名字段实际上是一种结构体嵌套的方式,所以也可以称作嵌套字段。 这种方式可以实现组合复用,即通过匿名字段,结构体可以直接访问嵌套结构体的字段和方法,而无需通过字段名或类型进行嵌套。 2 阅读全文
posted @ 2024-02-11 11:16 程序员半支烟 阅读(138) 评论(0) 推荐(0) 编辑
摘要:在Mysql数据库中,模糊搜索通常使用LIKE关键字。然而,随着数据量的不断增加,Mysql在处理模糊搜索时可能面临性能瓶颈。因此,引入Elasticsearch作为搜索引擎,以提高搜索性能和用户体验成为一种合理的选择。 1、客户的诉求 在ES中,影响搜索结果的因素多种多样,包括分词器、Match搜 阅读全文
posted @ 2024-02-11 11:16 程序员半支烟 阅读(183) 评论(0) 推荐(0) 编辑
摘要:Gin是一个使用Go语言开发的Web框架,追求性能和效率。 1、使用Gin快速初始化项目 创建项目目录: 在命令行中创建一个新目录,用于存放项目文件。然后进入该目录: mkdir my-gin-demo cd my-gin-demo 初始化 Go 模块: 在项目目录中运行以下命令以初始化 Go 模块 阅读全文
posted @ 2024-02-11 11:15 程序员半支烟 阅读(135) 评论(0) 推荐(0) 编辑
摘要:今天咱们唠一个职场技能-解决问题。许多所谓的前辈指导别人职场技能时,总是把:向上管理、PPT汇报等,放在第一位,对此笔者不以为然。 毕竟大部人所在的企业是中小企业,中小企业没有那么多的流程管理和职级,没有那么多的汇报。其次,向上管理等技能知识“术”的东西,不管是在大企业,还是中小企业,打铁还需自身硬 阅读全文
posted @ 2024-02-11 11:15 程序员半支烟 阅读(71) 评论(0) 推荐(0) 编辑
摘要:先抛个问题,如果哪天突然发现IDC机房 和 公有云 之间的服务无法访问了(排除服务本身的问题之外,可能是网络不通,也可能是网络变的很慢使得资源无法及时下载,从而导致服务无法访问)。 该如何分析这个问题呢?经过以下5步,基本能定位出问题: 确认IDC机房和公有云之间的网络是否连通 确认IDC机房和公有 阅读全文
posted @ 2024-02-11 11:14 程序员半支烟 阅读(44) 评论(0) 推荐(0) 编辑
摘要:1、核心特性 Go语言有一些让人影响深刻的核心特性核心特性,比如:以消息传递模式的并发、独特的_符号、defer 、函数和方法、值传递等等,可以查看这篇文章《Go语言-让我印象深刻的13个特性》。首先要记住一些核心特性的用法。 1.1、Goroutine 协程:独立的栈空间,共享堆空间,比线程更轻量 阅读全文
posted @ 2024-02-11 11:14 程序员半支烟 阅读(1062) 评论(0) 推荐(0) 编辑
摘要:延迟消息一般用于:提前发送消息,延迟一段时间后才需要被处理的场景。比如:下单半小时后还未支付,则取消订单 释放库存 等。 RocketMQ的延迟消息使用上非常便捷,但是不支持任意时间的延迟,这一点对于有强迫症的朋友来说就比较难受,但是搞明白为什么这么设计后,就自然释怀了。 为什么RocketMQ不支 阅读全文
posted @ 2024-02-11 11:13 程序员半支烟 阅读(250) 评论(0) 推荐(0) 编辑
摘要:了解Elasticsearch的Alias别名之后,可以在业务上很方便的实现复杂需求,快速解决问题,本文从3个方面介绍:官方定义、使用场景、使用方法。 一、官方定义 先看下官方对ES 的Alias定义: 重点有2个: 别名是一组索引的辅助名称,一个别名可以指向多个索引,一个索引可以有多个别名。 使用 阅读全文
posted @ 2024-02-11 11:12 程序员半支烟 阅读(102) 评论(0) 推荐(0) 编辑
摘要:RocketMQ是Java兄弟们常用的消息中间件,虽说常用,但对于RocketMQ架构经常忘记。究其原因就2点:忙于业务开发然后长时间不看则忘了、不理解架构设计的根本原因记不牢。本文用大白话描述架构设计过程,牢记RocketMQ架构。 一、架构的思考过程 首先,在记框架的原理和架构时,要先把握全局的 阅读全文
posted @ 2024-02-11 11:12 程序员半支烟 阅读(43) 评论(0) 推荐(0) 编辑
摘要:提到Elasticsearch,让笔者最恶心的倒不是它的反人类的DSL设计,而是每次安装都需要修改进程的最大文件描述符。那ES与文件描述符有啥恩怨呢,下面就来唠叨唠叨。首先说说文件描述符、在说说ES为什么要这么多文件描述符。 一、文件描述符 1、什么是文件描述符 文件描述符(File descrip 阅读全文
posted @ 2024-02-11 11:11 程序员半支烟 阅读(38) 评论(0) 推荐(0) 编辑
摘要:在上一篇《云计算-共享&服务》介绍过:云计算的本质是一种IT资源通过虚拟化进行的共享,是一种更高维度的服务。本文介绍:云计算和虚拟化有哪些区别,以及基于OpenStack的云计算。 一、云计算和虚拟化的区别 1、新品装旧酒吗? 许多人认为云计算是新瓶装旧酒,认为云计算基本就是虚拟化,其实不然。云计算 阅读全文
posted @ 2024-02-11 11:11 程序员半支烟 阅读(132) 评论(0) 推荐(0) 编辑
摘要:我们使用的框架几乎都有网络通信的模块,比如常见的Dubbo、RocketMQ、ElasticSearch等。它们的网络通信模块使用Netty实现,之所以选择Netty,有2个主要原因: Netty封装了复杂的JDK 的 NIO操作,还封装了各种复杂的异常场景,丰富的API使得在使用上也非常方便,几行 阅读全文
posted @ 2024-02-11 11:11 程序员半支烟 阅读(126) 评论(0) 推荐(0) 编辑
摘要:最近云厂商问题频发,我们还能把应用放心的交给云厂商吗?云计算这玩意儿是新瓶装旧酒吗?笔者聊聊自己的看法。 1、云计算的本质-服务 云计算-共享 云的概念起源于“共享”,类似于组织内的成员共享一个超级计算机,超级计算机就是个“资源池”,说白了就是一堆服务器资源。 早期有人做服务器租赁的生意,还有人做共 阅读全文
posted @ 2024-02-11 11:10 程序员半支烟 阅读(34) 评论(0) 推荐(0) 编辑
摘要:记知识先记轮廓,关于DSL语法的轮廓,记住以下3句话即可: 索引、文档和查询 Match、Term和Bool 还有翻页和聚合 1、又爱又恨的DSL 使用Elasticsearch时,我们一般是调用RestClient API的方式读取和写入集群数据。有时也会使用工具查阅和操作数据,比如:使用Chro 阅读全文
posted @ 2024-02-11 11:09 程序员半支烟 阅读(142) 评论(0) 推荐(0) 编辑
摘要:上一篇介绍了Elasticsearch的入门《5000字详说Elasticsearch入门(一)》,本篇介绍Springboot如何集成使用Elasticsearch。分为3步:配置properties文件、引入pom依赖、配置RestHighLevelClient类。 1、选择ES的Client 阅读全文
posted @ 2024-02-11 11:08 程序员半支烟 阅读(301) 评论(0) 推荐(0) 编辑
摘要:本文主要介绍快速入门Elasticsearch,从安装、基本概念、分词器、文档基本操作这4个方面快速入门。本篇是ES入门系列的第一篇,后续还有springboot项目集成ES、ES高级查询用法、数据库同步到ES的方案等。 Elasticsearch是一款近实时的搜索引擎,底层是基于Lucene做搜索 阅读全文
posted @ 2024-02-11 11:08 程序员半支烟 阅读(156) 评论(0) 推荐(0) 编辑
摘要:在一般应用部署中,都是将程序和配置信息分离,这样可以保证程序可以被各个环境复用。 在容器场景中,将应用打包成镜像后,可以通过环境变量或者文件挂载的方式,在创建容器时把配置注入进去。 在Kubernetes场景中,则使用configMap实现应用与配置分离。使用configMap的方式有多种,有的方式 阅读全文
posted @ 2024-02-11 11:07 程序员半支烟 阅读(123) 评论(0) 推荐(0) 编辑
摘要:最近一段时间读完了《技术人修炼之道》,书中内容涵盖了作者多年实践和思想的结晶,整体读来有许多观点深有同感,也学习到了一些新的理念,在这里感谢黄哲铿老师。本文主要结合我自身十几年的IT行业经验,以及创业多年的感受,从书中提炼了一些个人觉得非常有价值并且好落地的点进行分享。 本文主要从:自身修养、团队管 阅读全文
posted @ 2024-02-11 11:07 程序员半支烟 阅读(49) 评论(0) 推荐(0) 编辑
摘要:要想Kubernetes里每个服务的可用性更高,那么对Pod的健康检查是少不了的。Pod生命周期和健康检查是我们最常接触的基础知识,虽说是基础吧,但如果理解不好,出现问题时很容易抓耳挠腮,揪头发。 本文主要从以下6个方面介绍Pod的健康检查:刚接触K8S的糗事、Pod生命周期、重启策略、健康检查、如 阅读全文
posted @ 2024-02-11 11:06 程序员半支烟 阅读(45) 评论(0) 推荐(0) 编辑
摘要:随着业务发展壮大,微服务越来越多,调用链路越来越复杂,需要快速建立链路跟踪系统,以及建立系统的可观测性,以便快速了解系统的整体运行情况。此时就非常推荐SkyWalking了,SkyWalking不仅仅是一款链路跟踪工具,还可以作为一个系统监控工具,还具有告警功能。使用简便、上手又快。真可谓快、准、狠 阅读全文
posted @ 2024-02-11 11:06 程序员半支烟 阅读(310) 评论(0) 推荐(0) 编辑
摘要:本文整理了一份OOM内存泄露问题速查备忘录,详细见下文。 1、核心步骤 top、free、df三连,查看CPU、内存、磁盘的大致情况。 netstat -lp 查看端口占用情况。 导出内存dump文件: # 保存了堆内存现场 jmap -dump:format=b,file=heap.dump pi 阅读全文
posted @ 2024-02-11 11:05 程序员半支烟 阅读(33) 评论(0) 推荐(0) 编辑
摘要:本文主要从以下4个方面介绍Init容器:Init容器作用、Init容器特性、Init容器与应用容器的区别、Init容器实战。 Kubernetes中的Pod内可以运行多个容器,主要分为2种:Init容器、应用容器,Sidecar容器也是一种特殊的Init容器。 Init容器的作用 Init 容器是一 阅读全文
posted @ 2024-02-11 11:04 程序员半支烟 阅读(34) 评论(0) 推荐(0) 编辑
摘要:我们正在加速进入云原生时代,Go语言作为云原生的一块基石,确有它的独到之处。本文介绍Go语言的几个让我印象深刻的特性。 1、兼顾开发效率和性能 Go语言兼顾开发效率和性能。可以像Python那样有很快的开发速度,也可以像C++那样有很快的执行速度。 2、编译速度很快 编译速度很快,减少编译等待时间。 阅读全文
posted @ 2024-02-11 11:04 程序员半支烟 阅读(22) 评论(0) 推荐(0) 编辑
摘要:本文主要聊聊Kubernetes场景下收集微服务应用日志方案,相对来说更接地气,非常好落地。 微服务应用的日志链路一般比较长,包含以下环节:日志收集 → 日志缓冲 → 日志过滤清洗 → 日志存储 → 日志展示。每个环节都有多种对应的组件去解决,这样的结果就是业内组合出了多种整体解决方案。 以前我的微 阅读全文
posted @ 2024-02-11 11:04 程序员半支烟 阅读(60) 评论(0) 推荐(0) 编辑
摘要:本文主要整理了Kubernetes常用命令,给朋友们一个备忘录。 查看K8S的帮助命令 kubectl --help 切换被操作的集群 默认情况下会在.kube目录下的config文件里的证书去操作K8S集群。如果碰到需要切换访问别的K8S集群的场景,可以使用kubectl --kubeconfig 阅读全文
posted @ 2024-02-11 11:03 程序员半支烟 阅读(14) 评论(0) 推荐(0) 编辑
摘要:本文主要快速讲解Kubernetes的亲和性调度 和 反亲和性调度,通过理论结合实际的方式,让理解更深刻。 首先来个一句话总结:亲和性调度就像关系亲密的闺蜜,你去哪儿我也去哪儿。反亲和性调度就像赌气的两个孩子,赌气永远不在一起玩儿。更多解释和实战详见下文。花10分钟看到最后,你肯定会有收获。 1、调 阅读全文
posted @ 2024-02-11 11:02 程序员半支烟 阅读(1578) 评论(0) 推荐(0) 编辑
摘要:在微服务系统中,缓存、限流、熔断是保证系统高可用的三板斧。本文通过3个步骤,让Dubbo项目快速集成使用Sentinel实现系统限流。 本文接着《5小步快速集成使用sentinel限流》,继续介绍Dubbo项目如何快速集成使用Sentinel。 1、环境和资源准备 环境和资源准备,参看《5小步快速集 阅读全文
posted @ 2024-02-11 11:02 程序员半支烟 阅读(334) 评论(0) 推荐(0) 编辑
摘要:本文主要快速讲解Kubernetes的污点和容忍度,一句话总结:如果Pod能容忍某个节点上的污点,那么Pod就可以调度到该节点。 在K8S中,如果Pod能容忍某个节点上的污点,那么Pod就可以调度到该节点。如果不能容忍,那就无法调度到该节点。污点和容忍度就像谈恋爱的小情侣,你情我愿,女生知道男生的缺 阅读全文
posted @ 2024-02-11 11:01 程序员半支烟 阅读(924) 评论(0) 推荐(0) 编辑
摘要:在微服务系统中,缓存、限流、熔断是保证系统高可用的三板斧。本文通过如下几个小步骤,即可让spring项目快速集成使用sentinel实现系统限流。 1、环境和资源准备 sentinel支持许多流控方式,比如:单机限流、熔断降级、集群限流、系统保护规则、黑白名单授权等。 本文介绍如何快速集成使用sen 阅读全文
posted @ 2024-02-11 11:00 程序员半支烟 阅读(90) 评论(0) 推荐(0) 编辑
摘要:本文5分钟大白话说明白Ingress、IngressController、IngressClass的概念和区别,然后结合实践加深理解。 先来个一句话总结:Ingress由Ingress规则、IngressController、IngressClass这3部分组成。Ingress资源只是一系列路由转发 阅读全文
posted @ 2024-02-11 11:00 程序员半支烟 阅读(788) 评论(0) 推荐(0) 编辑
摘要:本文主要通过大白话说明白PV、PVC的概念和原理,再说说StorageClass的作用,最后通过实践加深理解。 先来个一句话总结:PV、PVC是K8S用来做存储管理的资源对象,它们让存储资源的使用变得可控,从而保障系统的稳定性、可靠性。StorageClass则是为了减少人工的工作量而去自动化创建P 阅读全文
posted @ 2024-02-11 10:59 程序员半支烟 阅读(541) 评论(0) 推荐(0) 编辑
摘要:云原生系统搭建完毕之后,要建立可观测性和告警,有利于了解整个系统的运行状况。基于Prometheus搭建的云原生监控和告警是业内常用解决方案,每个云原生参与者都需要了解。 本文主要以springboot应用为例,讲解云原生应用监控和告警的实操,对于理论知识讲解不多。等朋友们把实操都理顺之后,再补充理 阅读全文
posted @ 2024-02-11 10:59 程序员半支烟 阅读(80) 评论(0) 推荐(0) 编辑
摘要:酱香配拿铁喝了伤头,Dubbo配Nacos这么玩也会伤头。本文介绍Dubbo配合Nacos搭建的微服务系统,在Nacos-Server集群重启时出现的问题。过程中通过种种现象、猜测、翻看源码、实践,最终让Nacos-Server平滑重启。 我们常用的微服务框架是SpringCloud那一套,在服务远 阅读全文
posted @ 2024-02-11 10:58 程序员半支烟 阅读(356) 评论(1) 推荐(0) 编辑
摘要:Kubernetes的概念很多,有的着实让人费解,比如说Headless服务,听名字就很拗口。那Headless服务是什么,使用场景是什么。一句话总结:Headless服务就是一组Pod组成的只供集群内访问(没有ClusterIP)的Service,一般结合StatefulSet用于部署有状态应用的 阅读全文
posted @ 2024-02-11 10:57 程序员半支烟 阅读(123) 评论(0) 推荐(0) 编辑
摘要:在《Kubernetes架构及核心部件》一文中,介绍了Kubernetes的核心部件-控制器的作用:当客户端通过API Server 提交请求时,控制器驱动对象的当前状态逼近提交的期望状态。 Kubernetes的资源对象包括Pod、Node、Namespace、Endpoints、Service等 阅读全文
posted @ 2024-02-11 10:56 程序员半支烟 阅读(24) 评论(0) 推荐(0) 编辑
摘要:前段时间陪孩子一起看了《长安三万里》,结合这些年自己走过的路,内心有不少感触。不论电影评价怎样,也不论事实如何,单从程序员的角度,来说说三点启发: 1、尽早做好程序员的职业规划,并且知行合一 非常喜欢高适这个人物,文武双全,有勇有谋讲义气。虽没有李白的放荡不羁和才华,但他早早的给自己制定了人生计划。 阅读全文
posted @ 2024-02-11 10:56 程序员半支烟 阅读(32) 评论(0) 推荐(0) 编辑
摘要:有些概念没有标准答案,每个地方解释的也都很模糊,概念也一直被滥用,比如说云原生的概念。有些概念听起来高大上,实际上很普通,比如说容器编排的概念。本文我对这两个概念作个解释。 1、云原生 最近几年,“云原生”一度成为前沿的技术用语,各种业内技术大会都能看到“云原生”的字样,但是到底什么才是“云原生”, 阅读全文
posted @ 2024-02-11 10:55 程序员半支烟 阅读(43) 评论(0) 推荐(0) 编辑
摘要:Kubernetes有哪些核心部件,架构图和流程图又是怎样的,kubectl和kubelet经常分不清,声明式API和命令式API又有什么区别,本文一一详说。 1、Kubernetes集群概述 1.1、概述 Kubernetes 是一个容器编排平台,它使用共享网络将多个主机(物理服务器或虚拟机)构建 阅读全文
posted @ 2024-02-11 10:55 程序员半支烟 阅读(87) 评论(0) 推荐(0) 编辑
摘要:本文整理了一些Docker基础知识和常用命令,方便朋友们查阅。同时也感谢Docker这个划时代的产品,它解决了环境一致性的问题,让交付和迁移更轻松。 1、Docker与虚拟化 1.1、虚拟化技术 虚拟化技术分为两大类,全虚拟化和半虚拟化。 全虚拟化 比如之前我们使用的虚拟机就是全虚拟化,这种虚拟化的 阅读全文
posted @ 2024-02-11 10:54 程序员半支烟 阅读(13) 评论(0) 推荐(0) 编辑
摘要:什么叫做Flink的有状态计算呢?说白了就是将之前的中间结果暂时存储起来,等待后续的事件数据过来后,可以使用之前的中间结果继续计算。本文主要介绍Flink状态计算和管理、代码示例。 1、有状态的计算 什么是Flink的有状态的计算。在流式计算过程中将算子的中间结果保存在内存或者文件系统中,等下一个事 阅读全文
posted @ 2024-02-11 10:54 程序员半支烟 阅读(137) 评论(0) 推荐(0) 编辑
摘要:K8S搭建完毕之后,碰到个问题,如何进行远程debug(别在生产环境远程debug哦)?那就需要打通局域网和K8S内部网络了。本文主要介绍Pod通信、K8S网络插件、局域网和K8S网络如何打通。 1、问题描述 我们在实际使用K8S过程中,出现了以下需求: 出现问题时,想进行远程debug调试。 开发 阅读全文
posted @ 2024-02-11 10:54 程序员半支烟 阅读(204) 评论(0) 推荐(0) 编辑
摘要:在上一篇中,介绍了Flink里时间的概念和窗口计算,在实际生产过程中,由于网络等原因,许多数据会延迟到达窗口,这种情况Flink如何处理?Watermark登场,本文从这几点进行介绍:水印的概念、水印如何计算、允许延迟和侧道输出、水印生成策略、案例及代码。 1、一个小例子 讲解概念前,我先举个例子。 阅读全文
posted @ 2024-02-11 10:52 程序员半支烟 阅读(510) 评论(0) 推荐(0) 编辑
摘要:在有状态流处理中,时间在计算中起着重要的作用。比如,当进行时间序列分析、基于特定时间段进行聚合,或者进行事件时间去处理数据时,都与时间相关。接下来将重点介绍在使用实时Flink应用程序时应该考虑的跟时间相关的一些元素。文中的示例使用到netcat工具。 窗口计算有如下几个核心概念: 1、时间概念 1 阅读全文
posted @ 2024-02-11 10:52 程序员半支烟 阅读(274) 评论(0) 推荐(0) 编辑
摘要:本文继续介绍Flink DataStream API先关内容,重点:数据源、数据转换、数据输出。 1、Source数据源 1.1、Flink基本数据源 文件数据源 // 2. 读取数据源 DataStream<String> fileDataStreamSource = env.readTextFi 阅读全文
posted @ 2024-02-11 10:51 程序员半支烟 阅读(184) 评论(0) 推荐(0) 编辑
摘要:某天上午,我喝着茶看着技术博客,突然接到一个系统告警短信,还没来得及看内容,公司的客服小姐姐就飞快的跑到面前说,“系统出问题了”,吓得我一口茶水喷了出来...... 1、问题反馈 听了客服小姐姐的反馈之后,我又赶紧看了下系统的告警短信内容(某个微服务内存达到了阈值),紧接着我查看了系统异常日志,内容 阅读全文
posted @ 2024-02-11 10:51 程序员半支烟 阅读(96) 评论(0) 推荐(0) 编辑
摘要:前几篇介绍了Flink的入门、架构原理、安装等,相信你对Flink已经了解入门。接下来开始介绍Flink DataStream API内容,先介绍DataStream API基本概念和使用,然后介绍核心概念,最后再介绍经典案例和代码实现。本篇内容:Flink DataStream API的概念、模式 阅读全文
posted @ 2024-02-11 10:50 程序员半支烟 阅读(93) 评论(0) 推荐(0) 编辑
摘要:我在之前的文章《程序员如何行稳致远》和《程序员是否适合创业》中跟朋友们提过,程序员要早点积累自己的生产资料,尽早尝试轻创业。但是创业有很多坑,我总结了这些年自己踩过的10个坑,希望对你有帮助。 1、产品是什么。创立公司之前一定要想清楚自己要打磨的产品是什么,产品和销售是公司的核心,这个产品可以是平台 阅读全文
posted @ 2024-02-11 10:49 程序员半支烟 阅读(48) 评论(0) 推荐(0) 编辑
摘要:本文介绍Flink的安装步骤,主要是Flink的独立部署模式,它不依赖其他平台。文中内容分为4块:前置准备、Flink本地模式搭建、Flink Standalone搭建、Flink Standalong HA搭建。 演示使用的Flink版本是1.15.4,官方文档地址:https://nightli 阅读全文
posted @ 2024-02-11 10:49 程序员半支烟 阅读(2631) 评论(0) 推荐(0) 编辑
摘要:相信你读完上一节的《10分钟入门Flink--了解Flink》对Flink已经有初步了解了。这是继第一节之后的Flink入门系列的第二篇,本篇主要内容是是:了解Flink运行模式、Flink调度原理、Flink分区、Flink安装。 1、运行模式 Flink有多种运行模式,可以运行在一台机器上,称为 阅读全文
posted @ 2024-02-11 10:48 程序员半支烟 阅读(1263) 评论(0) 推荐(0) 编辑
摘要:Flink入门系列文章主要是为了给想学习Flink的你建立一个大体上的框架,助力快速上手Flink。学习Flink最有效的方式是先入门了解框架和概念,然后边写代码边实践,然后再把官网看一遍。 Flink入门分为四篇,第一篇是《了解Flink》,第二篇《架构和原理》,第三篇是《DataStream》, 阅读全文
posted @ 2024-02-11 10:47 程序员半支烟 阅读(167) 评论(0) 推荐(0) 编辑
摘要:业务痛点 离开了业务谈技术都是耍流氓。我们来聊聊基于业务的痛点,衍生出来的多种数据同步方案。 业务中常见的需要数据同步的场景 1、多个库的表合并到一张表。不同的业务线或者微服务在不同的数据库里开发,但是此时有些报表需要将多个库的类似的数据合并后做查询统计。或者,某些历史原因,类似刚开始的商业模式不清 阅读全文
posted @ 2024-02-11 10:47 程序员半支烟 阅读(2756) 评论(0) 推荐(1) 编辑
摘要:今天有个程序员朋友问我,他是否适合创业?我给他的建议是,如果没有人脉、资金和强大的背景就不要想着一夜暴富了,倒是可以先尝试轻创业。 程序员如果非要创业,不太划算,因为程序员的收入还不错,外加接点私活或者做点小产品或者做点自媒体,还能搞不少外快。综合下来,年收入还是很可观的。 创业远比大家想象的的复杂 阅读全文
posted @ 2024-02-11 10:46 程序员半支烟 阅读(60) 评论(0) 推荐(0) 编辑
摘要:中小企业IT基础设施在要不要上Kubernetes?相信你肯定有这样的疑问,先说我的结论:根据我在主导中小企业上云过程的综合实践,建议直接上kubernetes。 概况 我主导的上云企业研发情况概况:研发人员30人左右,云上费用规模100万左右,项目工程数80个左右,占用k8s pod数量300左右 阅读全文
posted @ 2024-02-11 10:45 程序员半支烟 阅读(72) 评论(0) 推荐(0) 编辑
摘要:作为一名13年的程序员和一名互联网公司的联合创始人。我认为有以下几点: 1、从大环境来讲,经济环境整体下行,每个行业都在裁员,大部分行业都有35岁问题。只是程序员平均薪资比较高,所以尤其凸显而已。 2、互联网前几年一直高歌猛进,催生出了很多程序员岗位,现在行业萎靡,整体需求下降了,不赚钱的业务都砍掉 阅读全文
posted @ 2024-02-11 10:44 程序员半支烟 阅读(38) 评论(0) 推荐(0) 编辑
摘要:随着ChatGPT的到来,有些事情收到了一定的冲击,有人兴奋有人焦虑,作为一个普通个人,我们该如何应对,我谈谈个人的看法。首先申请,我不是人工智能专家,所说观点也只是一家之言,只能作为抛砖引玉的探讨。 我将从以下几点谈谈这个话题:人工智能的起源发展、大概原理、如何不焦虑、如何跟上时代。 首先总结下我 阅读全文
posted @ 2024-02-11 10:44 程序员半支烟 阅读(42) 评论(0) 推荐(0) 编辑
摘要:作为一名在IT行业摸爬滚打了13年的资深程序员,一路走来吃过很多亏。对于程序员在职业生涯中有哪些关键事件,我做了以下几点总结,希望对你有所启发,让你少走弯路。 1、尽早建立在一个领域的专业度和权威性 切记贪多,贪多嚼不烂。 现在这个社会分工很明细,专业也很垂直,如果要在在职场站稳脚跟,一定要在某个领 阅读全文
posted @ 2024-02-11 10:43 程序员半支烟 阅读(29) 评论(0) 推荐(0) 编辑
摘要:谈到程序员的职业发展必然会提到CTO这个词。那CTO的核心职责是什么呢,是关注业务,帮助业务成功。但是,如何关注业务帮助业务成功呢?几乎没有人给出明确的定义或者方法。我结合自身在IT行业13多年的经历,谈谈CTO如何关注业务帮助业务成功。 文中内容分3块: 程序员发展的各个阶段(普通程序员、研发经理 阅读全文
posted @ 2024-02-11 10:41 程序员半支烟 阅读(27) 评论(0) 推荐(0) 编辑
摘要:各位朋友听我一句劝,写代码提供方法给别人调用时,不管是内部系统调用,还是外部系统调用,还是被动触发调用(比如MQ消费、回调执行等),一定要加上必要的条件校验。千万别信某些同事说的这个条件肯定会传、肯定有值、肯定不为空等等。这不,临过年了我就被坑了一波,弄了个生产事故,年终奖基本是凉了半截。 为了保障 阅读全文
posted @ 2024-02-05 10:31 程序员半支烟 阅读(149) 评论(0) 推荐(0) 编辑
摘要:项目中碰到需要及时通讯的场景,使用springboot集成websocket,即可实现简单的及时通讯。本文介绍springboot如何集成websocket、IM及时通讯需要哪些模块、开发和部署过程中遇到的问题、以及实现小型IM及时通讯的代码。 1、Springboot集成Websocket 集成分 阅读全文
posted @ 2024-02-05 10:29 程序员半支烟 阅读(396) 评论(0) 推荐(0) 编辑
摘要:一句话总结:Docker只是容器的一种,它面向的是单体,K8S可以管理多种容器,它面向的是集群,Docker可以作为一种容器方案被K8S管理。下文继续具体介绍。 1、容器的核心概念 介绍这几个核心概念:OCI、CR、Runc、Containerd、CRI。 1.1、容器运行规范 容器运行规范OCI( 阅读全文
posted @ 2024-02-05 10:26 程序员半支烟 阅读(2028) 评论(0) 推荐(3) 编辑
摘要:Flink CDC引起的Mysql元数据锁记一次Flink CDC引起的Mysql元数据锁事故,总结经验教训。后续在编写Flink CDC任务时,要处理好异常,避免产生长时间的元数据锁。同时出现生产问题时要及时排查,不能抱有侥幸心理。 阅读全文
posted @ 2024-02-01 11:27 程序员半支烟 阅读(299) 评论(0) 推荐(2) 编辑

点击右上角即可分享
微信分享提示