自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

IT界的奇葩

java后端开发,服务器部署相关

  • 博客(85)
  • 资源 (1)
  • 问答 (3)
  • 收藏
  • 关注

原创 一文弄懂数仓、数据湖、湖仓一体

就像一家超市的。

2025-03-21 16:29:39 287

原创 一文讲清DDD

严格分层架构:某层只能与直接位于的下层发生耦合。松散分层架构:允许上层与任意下层发生耦合。在领域驱动设计(DDD)中采用的是松散分层架构,层间关系不那么严格。每层都可能使用它下面所有层的服务,而不仅仅是下一层的服务。每层都可能是半透明的,这意味着有些服务只对上一层可见,而有些服务对上面的所有层都可见。有很多人把DDD当成一种技术架构,甚至是微服务拆分的理念,两者的核心差异在于:MVC 是技术分层(解决代码组织问题),DDD 是业务分层(解决复杂业务建模问题)。

2025-03-15 17:44:28 579

原创 表分区应用场景

在MySQL中,**哈希分区(HASH)、键分区(KEY)和列表分区(LIST)**各有其适用的业务场景,具体选择需结合数据分布特点、查询模式和管理需求。

2025-03-05 10:00:08 341

原创 使用 OAuth 2.0 实现单点登录二

通过上述流程,子应用 A 和子应用 B 在同一浏览器中可以共享登录状态,实现无缝的单点登录体验。这种模式是 OAuth 2.0 最常用的实现方式之一,结合 OpenID Connect 的用户身份验证扩展效果更佳。

2025-01-09 13:52:40 914

原创 使用 OAuth 2.0 实现单点登录(SSO)

使用 OAuth 2.0 实现单点登录(SSO)时,多个子应用共享同一登录状态,可以通过以下方式实现。

2025-01-09 13:48:13 990

原创 Helm 是什么

Helm 是 Kubernetes 的包管理工具,被称为 Kubernetes 的 “Yum” 或 “APT”。通过 Helm,可以以一种声明式的方式定义和部署复杂的 Kubernetes 应用,同时便于升级和回滚。Helm 是一个功能强大且灵活的 Kubernetes 包管理工具,可以大幅提高部署效率和管理能力。无论是快速部署基础设施,还是构建和管理复杂的微服务架构,Helm 都是不可或缺的工具之一。下的模板文件,设置应用的默认参数和模板逻辑。

2025-01-09 12:01:57 762

原创 Helm 是什么

Helm 是 Kubernetes 的包管理工具,被称为 Kubernetes 的 “Yum” 或 “APT”。通过 Helm,可以以一种声明式的方式定义和部署复杂的 Kubernetes 应用,同时便于升级和回滚。Helm 是一个功能强大且灵活的 Kubernetes 包管理工具,可以大幅提高部署效率和管理能力。无论是快速部署基础设施,还是构建和管理复杂的微服务架构,Helm 都是不可或缺的工具之一。下的模板文件,设置应用的默认参数和模板逻辑。

2025-01-01 16:16:28 729

原创 java面试题(持续更新)

【代码】java面试题(持续更新)

2024-12-17 16:01:26 708

原创 Service Apdex评分

是用来衡量用户满意度和服务性能的一个指标

2024-12-17 09:29:38 437

原创 Dubbo 3.x 对比 Dubbo 2.x

特性Dubbo 2.7Dubbo 3.x协议支持Dubbo 协议Triple 协议 + Dubbo 协议 + gRPC云原生支持部分适配 Kubernetes原生支持 Kubernetes 和 Service Mesh异步和响应式编程异步支持不够完善全面支持 CompletableFuture 和响应式跨语言互操作性依赖 Dubbo 协议Triple 协议实现更好跨语言支持性能优化GC 和协议性能有局限性HTTP/2、多路复用、大幅提升性能服务治理基础功能动态路由、分级流量治理更强可观测性。

2024-12-16 15:48:55 931

原创 maven-compiler-plugin 3.10.1 与 3.8.1

特性支持的 JDK 版本JDK 8 到 JDK 12JDK 8 到 JDK 21release参数支持基础支持,高版本需手动配置完全支持,自动适配高版本新语言特性支持不支持records支持所有现代 Java 特性模块化项目支持(JPMS)部分支持完全支持性能优化普通性能更高的编译性能,适合大项目兼容性更适合旧版本的 JDK 和工具链更适合现代化工具链和开发环境Bug 修复和改进较少修复包含了多个 Bug 修复如果你的项目需要使用现代化的 JDK(如 JDK 17 或 21),推荐使用。

2024-12-16 15:47:33 1428

原创 idea报错Command line is too long.

在项目目录下的.idea目录下workspace.xml里面找到。

2024-12-14 14:49:43 426

原创 布隆过滤器

布隆过滤器(Bloom Filter)是一种概率型数据结构,用于判断某个元素是否存在于一个集合中。如果布隆过滤器判断元素不存在,那么这个元素一定不存在。如果布隆过滤器判断元素存在,可能存在误判的情况(即误判为存在,但实际上不存在)。布隆过滤器在Spring Boot中的使用主要依赖于其快速判断能力,可以有效解决缓存穿透和其他判定问题。对于本地使用,Google Guava足够简单高效;对于分布式场景,Redis Bloom是更优的选择。

2024-12-11 10:58:38 538

原创 位(bit)、字节(byte) 和 字符(character)

*位(bit)**是数据的最小单位,表示0或1。**字节(byte)**是由8位组成的存储单位,用于存储数据。**字符(character)**是数据的语义表示,与编码方式相关,不同编码方式占用的字节大小不同。了解位、字节和字符的区别与联系有助于理解数据存储和传输的底层机制。

2024-12-11 10:57:20 961

原创 基于springboot使用Caffeine

Caffeine 是一个高性能的本地缓存库,具有灵活的配置和优秀的性能表现,非常适合需要高效缓存的 Java 应用场景。如果你需要一个轻量级、高效的缓存解决方案,Caffeine 是一个绝佳的选择。开发,受 Google Guava 缓存库的启发,但具有更好的性能和更多的功能。是一个基于 Java 的高性能、现代化的缓存库。

2024-12-10 16:54:20 855

原创 Dubbo线程模型

在。

2024-12-03 17:41:00 476

原创 Springfox迁移到 Springdoc OpenAPI 3

时,主要的工作是将原先使用的 Springfox 注解替换为 Springdoc OpenAPI 3 中的对应注解。虽然 Springdoc OpenAPI 3 基于 OpenAPI 3 规范,并且有一些不同的命名方式和设计理念,但大部分注解的功能是类似的。迁移时,主要是将 Springfox 中的注解替换为 Springdoc 中对应的注解,并根据 OpenAPI 3 的规范调整 API 文档描述。在 Springfox 和 Springdoc 中的功能是相同的,用来描述接口的多个响应状态和返回类型。

2024-11-29 16:59:02 971

原创 Springfox、Swagger 和 Springdoc

对于新项目,推荐使用 Springdoc;对于维护中的老项目,可以逐步迁移到 Springdoc,以便享受最新功能和更好的兼容性。

2024-11-28 16:47:54 1145

原创 Spring Boot 与 Spring Cloud Alibaba 版本兼容对照

版本选择要点Spring Boot 3.x 与 Spring Cloud Alibaba 2022.0.xSpring Boot 3.x 基于 Jakarta EE,javax.* 更换为 jakarta.*。需要使用 SpringCloud 2022.0.x 和 Spring Cloud Alibaba 2022.0.x。Alibaba 2022.0.x 对Spring Boot 3.x 的支持在其发行说明中明确。Spring Boot 2.7.x 与 Spring Cloud。

2024-11-26 10:53:59 1198

原创 java启动命令原理

java -jar命令是 Java 命令行工具的一部分,用于执行包含主类(即包含方法的类)的 JAR 文件。要理解java -jar。

2024-11-24 17:15:38 266

原创 Java 技术规范

Java 技术规范是由 Java 社区过程 (Java Community Process, JCP) 维护的一系列文档,它们定义了 Java 平台的各种方面,包括语言特性、API、工具等。: 定义了 Java SE 平台提供的所有标准 API,包括核心库、GUI 工具包(如 Swing 和 JavaFX)、网络、数据库连接(JDBC)等。: 定义了一组用于企业级应用的标准,如 Servlets、JSP、EJB、JPA、JSF 等。: 定义了 Java 应用程序访问命名和目录服务的方式,如 LDAP。

2024-11-24 17:11:25 370

原创 MQTT+Disruptor 提高物联网高并发

基于springboot2.5.7。

2024-11-04 16:42:50 452

原创 微服务透传日志traceId

在微服务架构中,一次业务执行完可能需要跨多个服务,这个时候,我们想看到业务完整的日志信息,就要从各个服务中获取,即便是使用了ELK把日志收集到一起,但如果不做处理,也是无法完整把一次业务请求的日志完整链路串联起来。有人说,可以在日志中加入某个业务参数,比如订单id等,但是不可能所有业务都是有这样的参数给你用的。

2024-11-04 16:26:05 1082

原创 Spring Boot 集成 Elasticsearch入门教学

Elasticsearch 是一个分布式搜索引擎,用来处理大规模数据的存储、搜索和分析。它是基于 Apache Lucene 构建的,具备高效的全文搜索功能。ES 可以在海量数据中快速找到匹配的内容,并且支持复杂的查询逻辑,非常适合用于日志分析、商品搜索、数据可视化等场景。

2024-10-11 18:01:59 879 1

原创 语义化版本

版本格式:主版本号.次版本号.修订号,版本号递增规则如下:主版本号:当你做了不兼容的 API 修改,次版本号:当你做了向下兼容的功能性新增,修订号:当你做了向下兼容的问题修正。先行版本号及版本编译信息可以加到“主版本号.次版本号.修订号”的后面,作为延伸

2024-08-05 10:00:02 891

原创 ABAC模型

ABAC模型通过属性和策略的灵活组合,实现了比传统RBAC更细粒度和动态的访问控制。在复杂和动态变化的环境中,ABAC可以提供更强的灵活性和安全性。通过结合RBAC和ABAC,可以设计出更加健壮和适应性强的权限管理系统。ABAC模型提供了比传统RBAC更灵活和精细的访问控制方式,适用于复杂、多变的权限需求场景。通过引入多种属性并动态评估权限,ABAC能够实现更强大和细粒度的访问控制策略。

2024-07-05 10:23:45 1319

原创 关于Disruptor监听策略

Disruptor框架提供了多种等待策略,每种策略都有其适用的场景和特点。

2024-07-02 14:03:21 999

原创 Spring Boot、Nacos配置文件properties、yml、yaml的优先级

yaml跟yml具有相同的作用,但是优先级也有区别,yaml比yml先加载,所以,yml会覆盖yaml。properties(最高)> yml > yaml(最低)

2024-03-05 10:59:48 1810

原创 基于git flow规范的代码版本管理

基于git flow规范Master分支是仓库的主分支,这个分支包含最近发布到生产环境的代码,最近发布的Release, 这个分支只能从其他分支合并,不能在这个分支直接修改‌master这个分支是我们的主开发分支,包含所有要发布到下一个Release的代码,这个主要合并与其他分支,比如Feature分支‌develop:用于集成所有功能开发。

2024-02-27 11:39:13 743 1

原创 Sentinel spring的全局异常处理器,导致熔断规则(异常数规则)失效解决方案

在使用sentinel过程中,还需要将规则持久化才能投入生产,持久化的方案有好几种,推荐使用nacos,但是直接在nacos里手写配置的话也是不够友好的

2023-06-20 11:20:40 1529 5

原创 IDEA 常用插件跟配置提升开发效率

只要输入apr ,就能自动提示,并且生成Autowired 语句了。可以根据自己的代码习惯,自定义一些代码模板,帮助我们快速写代码。

2023-02-02 14:28:38 1489

原创 SpringBoot启动参数配置

【代码】SpringBoot启动参数配置。

2023-01-26 15:49:15 300

原创 软件架构的23个基本原则

软件体系架构基于一组适用于各种软件系统的基本原则,有经验的架构师知道这些原则,并且能够在软件产品的正确位置实现特定的原则。下面我们快速浏览一下架构师日常遵循的基本原则。这一原则表明依赖的方向应该是抽象的,而不是具体实现。如果编译时依赖在运行时执行的方向上流动,就形成了直接依赖。通过依赖倒置,可以反转依赖控制的方向。下面的文章更深入的讨论了这一原则:https://medium.com/p/de6abf20e423这一原则指出,软件系统应该按照所做的工作类型来划分。比方说可以按照业务逻辑、基础设施或用户界面

2022-12-06 09:46:43 652

原创 idea 中使用git合并分支

使用idea工具编写代码的时候,在团队协作开发的过程中需要建立分支(有时候可能是多个),一个分支用于正式系统的部署使用,修改微小的bug,而另一个分支可用于开发新功能代码使用,在开发完成之后,经过反复的测试,此时需要整合到主分支上去,此时需要分之合并。⑧:此时合并完成只是在自己电脑本地,还没有提交到远程服务器,最后将合并好的代码推送到远程即可。①:先将远程的分支检出到本地,如下图,点击后下角的Git状态栏,选择Remote Branches下的你要检出的分支点击,然后点击Checkout As…

2022-09-05 09:47:38 6620

原创 Springboot2.5.x+过滤器异常捕获

之前用的2.2.x版本的,代码有所变化,废话不多说,直接上干货.package com.mine.common.auth.exception;import cn.dev33.satoken.exception.NotLoginException;import com.mine.common.core.enums.BaseCode;import com.mine.common.core.web.domain.AjaxResult;import com.mine.common.core.web.do

2022-04-14 17:49:22 370

原创 Java异常架构与异常关键字

文章目录Java异常简介Java异常架构1.Throwable2.Error(错误)3.Exception(异常)运行时异常4.受检异常与非受检异常受检异常非受检异常Java异常关键字Java异常简介Java异常是Java提供的一种识别及响应错误的一致性机制。Java异常机制可以使程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅,并提高程序健壮性。在有效使用异常的情况下,异常能清晰的回答 what, where, why这3个问题:异常类型回答了“什 么”被抛出,异常堆栈跟踪回答了“在哪”

2022-02-18 10:13:26 177

原创 java函数式编程,stream

函数式介绍:简单来说:函数式编程就是把我们的函数(方法)作为参数传递、调用等例子:自定义函数式接口import java.io.Serializable;/** * 可序列化的Functional * * @author <achao1441470436@gmail.com> * @since 2021/6/13 16:42 */@FunctionalInterfacepublic interface Func<T, R> extends Serializab

2021-10-15 16:16:45 173

原创 钉钉第三方企业应用开发快速入门

文章目录钉钉第三方企业应用开发快速入门1、创建小程序1.1. 登录开发者后台1.2. 填写基础信息1.3. 查看应用信息2、设置安全域名3、设置接口权限4、开发管理(创建回调)5、下载源码6、设置与修改源码6.1. 服务器端6.1.1. 配置代码6.2. 前端下载6.2.1. 修改前端配置7、添加体验组织并开通应用8、推送Ticket9、项目关联钉钉应用钉钉第三方企业应用开发快速入门1、创建小程序1.1. 登录开发者后台登录钉钉开发者后台,选择应用开发-第三方企业应用-小程序,点击创建应用。1.

2021-10-11 15:39:00 6281

原创 Kubernetes

文章目录1. Kubernetes介绍1.1 应用部署方式演变1.2 kubernetes简介1.3 kubernetes组件1.4 kubernetes概念2. kubernetes集群环境搭建2.1 前置知识点2.2 kubeadm 部署方式介绍2.3 安装要求2.4 最终目标2.5 准备环境2.6 系统初始化2.6.1 设置系统主机名以及 Host 文件的相互解析2.6.2 安装依赖文件(所有节点都要操作)2.6.3 设置防火墙为 Iptables 并设置空规则(所有节点都要操作)2.6.4 关闭 S

2021-08-02 17:37:13 431

原创 阿里巴巴seata分布式事务终极解决方案

关于seata就不做过多介绍了,网上一大片,请自行翻阅环境配置mysql: 5.7nacos: 1.2.1spring-cloud-alibaba: 2.2.0seata: 1.2.0正文第一步下载seata服务第二步创建Seata高可用的db,以及AT模式所需的undo_log表1.在你的参与全局事务的数据库中加入undo_log这张表-- for AT mode you must to init this sql for you business database. the se

2021-05-12 18:35:58 1324 3

DBCHMv1.7.2.zip

数据库表导出工具,支持word,excel,pdf,xml,CHM导出,pdm上传

2021-02-05

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除