这里是weihubeats,觉得文章不错可以关注公众号小奏技术,文章首发。拒绝营销号,拒绝标题党 RocketMQ版本 5.1.0 入口 这里消息删除的源码入口其实不太好直接确定,我们可以通过启动broker的代码开始即BrokerStartup的main方法 这里我们直接进入到contro
背景 在服务端开发中我们经常会在一个服务中发起rpc请求调用其他服务。很多服务主要逻辑就是根据产品逻辑调用各个rpc请求,再把各个请求的结果组合在一起返回。业内把专注于开发这类服务的开发者称为API Boy。这类服务的特点是io密集,耗时主要是rpc请求。所以优化这类服务的耗时就是优化rpc请求的串
长话短说: 本次原创将向您展示在Docker中使用Layer Cache以加快镜像构建。 这个话题的初衷在于:应用程序打包过程是很慢的(下载并安装框架&第三方依赖包、生成assets),这在Docker中也不例外。 About Layer Caching in Docker Dock
上一章结尾,我记得我要将调度模块的类名改为JobScheduleHelper,这本来没什么,反正就是改个名字,很容易做到的事。但是,改名字的背后,牵扯到的就是程序进一步的重构,重构程序带给我的麻烦,远比私藏小金库带来的麻烦多。虽然在上一章节,我对大家说我的程序员之魂已经觉醒了,但是人总是容易冲动,尤
大家好,我是蓝胖子,关于性能分析的视频和文章我也大大小小出了有一二十篇了,算是已经有了一个系列,之前的代码已经上传到github.com/HobbyBear/performance-analyze,接下来这段时间我将在之前内容的基础上,结合自己在公司生产上构建监控系统的经验,详细的展示如何对线上服务
# 建造者模式 1.简介 建造者模式是一种创建型设计模式,使你能够分步骤创建复杂对象。该模式允许你使用相关的创建代码生成不同类型和形式的对象。 2.uml图 3.示例 首先我们来看一看传统的建造者模式: Product: 最终要生成的对象,例如 Computer实例。 Builder: 构建者
大家在平时的工作中,在业务里或多或少都会用到一些定时任务的功能,还会用到一些调度定时任务的框架。我的这门课程讲解的XXl-JOB大概是如今最流行的分布式定时任务调度框架了。关于定时任务本身,我不会再为大家详细讲解了,我在掘金上架的从零带你写netty这本小册中,用了一整章的篇幅剖析了定时任务体系的本
引言: 随着云计算和容器技术的快速发展,Docker和Kubernetes已成为现代应用程序开发与部署的核心工具。Docker的容器化技术提供了应用程序的便携性和可靠性,而Kubernetes作为容器编排工具,赋予我们在云环境中管理大规模容器化应用程序的能力。本文将介绍如何将Docker与Kuber
一、K8S 产生的背景 1. 应用程序部署方式演变 1.1 传统部署 传统化部署方式是将应用程序直接部署在物理机上,对于一个java应用程序,运维人员在物理机上搭建好开发环境,就可以直接部署。 该方式对运维人员来说简单易操作,但是会导致资源利用率不高,甚至有的公司为降低成本会在单台物理机部署
传统部署的坑: 1202 年了,如果你连 Docker 都不知道是什么,我建议买一本书看看——或者谷歌一下,博客已经写烂了。 为什么有这篇文章,是因为我在真正做容器化改造的时候,发现公司生产环境存在大量的坑: 传统虚拟机部署,基本依赖克隆或者手工编译。由于人力原因,SRE 历来单传,编译出来的 P
一、概述 操作系统是计算机系统的核心软件,它管理和控制着计算机的硬件和软件资源,为用户和应用程序提供了一个统一、高效、安全的运行环境。操作系统的发展历史也是计算机技术的发展历史的重要组成部分,它见证了计算机从单机到网络,从桌面到移动,从云端到边缘的演进过程。 在操作系统领域,Linux 是一个开源的
一、 前言 本系列文章旨在快速复习并上手轻量级服务器开发Node技术,并在适当分享在项目实战过程中遇到的一些比较有价值的知识内容: 01-📝Node.js核心知识|Node开发概述【了解Node开发、Node运行环境搭建 02-📝Node.js核心知识|Node.js语法【ES6+Node模块AP
一、变量 什么是变量 变量是为存储特定类型的值而提供给内存位置的名称。在go中声明变量有多种语法。 变量的本质就是一小块内存,用于存储数据,在程序运行过程中数值可以改变 变量可以通过变量名访问 声明变量的规则 以字母或下划线开头,由一个或多个字母、数字、下划线组成 关键字 var
前言 你我在此相遇,全因八股文。 一年之后就要找实习了,所以我想提前储备好知识,希望被面试的时候不会被拷打死。本系列文章将会分享我探索Spring框架的经历与了解到的知识。 至此,既然逃不掉,那就使劲造。 以下是本文探讨的问题: BeanFactory与Application的区别? Bean
背景 最近由于业务需求,我负责的一块系统需要对外开放 Open API,原本不是什么难事,因为阿里云内部的 Open API 开放机制已经非常成熟了,根本不需要我去设计,但这次的需求主要是因为一些原因,需要自己设计一些规范,那就意味着,需要对 Open API 进行一些规范约束了,遂有此文。 Ope
一、 前言 本系列文章旨在快速复习并上手轻量级服务器开发Node技术,并在适当分享在项目实战过程中遇到的一些比较有价值的知识内容: 01-📝Node.js核心知识|Node开发概述【了解Node开发、Node运行环境搭建 02-📝Node.js核心知识|Node.js语法【ES6+Node模块AP
前言 低代码开发平台(LCDP),是低代码或无代码通过快速搭建配置的方式完成一个应用程序的开发与上线,可视化低代码就是可视化的DSL,它的优点更多的是来源可视化,相对的,它的局限性也还是来源于可视化,复杂的业务逻辑用低代码可能会更加复杂。低代码应该是特定领域问题的简化和抽象,如果只是单纯将原有的编码
需求背景:Java后端项目上传文件是一个很常见的需求,一般正式项目中我们上传文件都是利用第三方阿里云OSS这类的,但是如果只是为了学习之用,那我们可能就会直接上传到电脑上某个本地文件夹。 但是上传到自己电脑上某个文件夹,那换一台电脑就看不到了,还有一般文件上传之后我们还需要返回给前端文件的下载路径,
DefaultMQPushConsumer 使用系统控制读取操作的DefaultMQPushConsumer可以自动调用传入的处理方法来处理收到的消息。通过设置各种参数和传入处理消息的函数,使用DefaultMQPushConsumer的主要目的是方便配置和处理消息。在收到消息后,系统会自动保存Of
开门见山,本文分享前后端分离,容器化前端项目时动态插入后端API基地址,这是一个很赞的实践,解决了前端项目容器化过程中受制后端调用的尴尬。 尴尬从何而来 常见的web前后端分离:前后端分开部署,前端项目由nginx承载打包文件,反向代理请求。 应用的某些部分必须是可配置的,比如API调用基地址, 前