自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(421)
  • 收藏
  • 关注

原创 idea运行报错:启动命令过长

3、在Edit Configurations界面下方新增的Shorten command line选项中选择JAR manifest或classpath file。2、点击Modify options设置,勾选Shorten command line。JAVA项目,运行的时候报错。

2025-03-12 18:24:15 258

原创 Spring Boot 单体应用升级 Spring Cloud 微服务最佳实践

通过以下示例,我们完整的演示了一个 Spring Boot 架构的单体应用集群,如何平滑的升级为一个 Spring Cloud 微服务集群,本文章包含源码、讲解、原理说明。在示例中,我们有如下基于 Spring Boot 开发的应用架构:我们这里列出来的只是一种示例架构。基于 Spring Boot 构建的应用架构变化多样,比如可能如下一些常用的架构,但不论哪种架构,升级 Spring Cloud 的大致改造方式都是类似的(都可以转为基于 Nacos 注册中心的地址发现与负载均衡)。

2025-01-17 09:30:55 1166

原创 Spring Cloud Alibaba 最佳实践

Spring Cloud Alibaba(下文简称为SCA) 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。依托 SCA,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里分布式应用解决方案,通过阿里中间件来迅速搭建分布式应用系统。

2025-01-17 09:30:26 810

原创 Spring AI Alibaba 和通义千问定制自己的代码助手

Prompt 最开始只是简单的字符串,随着时间的推移,Prompt 逐渐开始包含特定的占位符,例如 AI 模型可以识别的 “USER:”、“SYSTEM:” 等,详细的介绍可以参考Spring AI Alibaba文档。这点代码对他来说信息量很少,即学即会。其实这小助手做了三个版本,第一个是纯粹使用Function Calling做的,里面生成代码的逻辑不是通过大模型实时生成的,而是拿到schema信息后循环拼凑起来的,大模型在里面的作用就是增加注释,然后结合对话记忆功能,在多次对话中可以进行代码的优化。

2025-01-16 09:35:10 864

原创 轻松掌握AI编程神器——Cursor安装和使用介绍

本文只是一个使用 Cursor 的简单示例,帮助大家如何安装和使用。大家可以根据自己的业务,让它帮你写一些基础的代码,利用好 Cursor 可以大大提高工作效率。需要注意的是,虽然可以通过语言来生成代码,但目前还不完美,如果生成的代码不太符合要求,可以优化自己的表达,交代再清楚一些;也可以尝试重新生成;还可以通过对话让它不断优化调整以便符合你的要求。估计未来人工智能将带来开发工具的更大变革。还有注意数据安全,不要将敏感数据和代码贴出来,以减少泄露风险。

2025-01-16 09:20:36 4569

原创 轻松掌握AI编程神器——零基础Cursor使用教程

Cursor,是AI编程工具。比如下面的这个游戏,全部是由写的,一行代码都没有写!在文章的最后,还附上国内用户充值Cursor的详细方法。

2025-01-15 11:53:31 9641

原创 xxl-job快速入门(最全)

某电商平台需要每天上午10点,下午3点,晚上8点发放一批优惠券某银行系统需要在信用卡到期还款日的前三天进行短信提醒某财务系统需要在每天凌晨0:10分结算前一天的财务数据,统计汇总以上场景就是任务调度所需要解决的问题任务调度是为了自动完成特定任务,在约定的特定时刻去执行任务的过程XXL-Job:是大众点评的分布式任务调度平台,是一个轻量级分布式任务调度平台, 其核心设计目标是开发迅速、学习简单、轻量级、易扩展大众点评目前已接入XXL-JOB,该系统在内部已调度约100万次,表现优异。

2025-01-15 10:12:27 1233

原创 Elasticsearch——数据聚合

聚合(aggregations)可以让我们极其方便的实现对数据的统计、分析、运算。实现这些统计功能的比数据库的sql要方便的多,而且查询速度非常快,可以实现近实时搜索效果。

2025-01-15 09:46:14 781

原创 nginx代理服务地址时添加帐号密码认证

在 Nginx 中,可以通过设置基本认证(Basic Authentication)来保护代理访问。

2025-01-13 14:34:28 443

原创 Job for nginx.service failed because the control process exited with error code. See “systemctl stat

启动nginx服务时如果遇到这个错误 JJob for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.

2025-01-13 14:34:13 774

原创 Elasticsearch——RestClient查询

之前说过,由于Elasticsearch对外暴露的接口都是Restful风格的接口,因此JavaAPI调用就是在发送Http请求。这里关键的API有两个,一个是request.source(),它构建的就是DSL中的完整JSON参数。这个参数的格式完全参考DSL查询语句的JSON结构,因此我们在学习的过程中,会不断的把JavaAPI与DSL语句对比。所有的查询条件都是由QueryBuilders来构建的,叶子查询也不例外。因此整套代码中变化的部分仅仅是query条件构造的方式,其它不动。

2025-01-10 14:18:11 1003

原创 Elasticsearch——DSL查询

Elasticsearch提供了基于JSON的DSL(Domain Specific Language)语句来定义查询条件,其JavaAPI就是在组织DSL条件。在查询以后,还可以对查询的结果做处理。

2025-01-10 14:17:40 888

原创 Elasticsearch——RestClient操作文档

索引库准备好以后,就可以操作文档了。

2025-01-09 11:28:31 1239

原创 Elasticsearch——RestAPI

ES官方提供了各种不同语言的客户端,用来操作ES。这些客户端的本质就是组装DSL语句,通过http请求发送给ES。

2025-01-09 09:58:21 1119

原创 Elasticsearch——文档操作

根据rest风格,新增是post,查询应该是get,不过查询一般都需要条件,这里我们把文档id带上。注意:如果根据id删除时,id不存在,第二步的新增也会执行,也就从修改变成了新增操作了。局部修改是只修改指定id匹配的文档中的部分字段。

2025-01-08 10:48:56 254

原创 Elasticsearch——索引库操作

Index就类似数据库表,Mapping映射就类似表的结构。我们要向es中存储数据,必须先创建Index和Mapping。

2025-01-08 10:47:15 803

原创 Elasticsearch——IK分词器

分词器的作用是什么?创建倒排索引时,对文档分词用户搜索时,对输入的内容分词IK分词器有几种模式?ik_smart:智能切分,粗粒度ik_max_word:最细切分,细粒度IK分词器如何拓展词条?如何停用词条?利用config目录的IkAnalyzer.cfg.xml文件添加拓展词典和停用词典在词典中添加拓展词条或者停用词条。

2025-01-07 11:27:59 1040

原创 Elasticsearch倒排索引

我们先来回顾一下正向索引。其中的id字段已经创建了索引,由于索引底层采用了B+树结构,因此我们根据id搜索的速度会非常快。但是其他字段例如title,只在叶子节点上存在。因此要根据title搜索的时候只能遍历树中的每一个叶子节点,判断title数据是否符合要求。那搜索的大概流程如图:综上,根据id精确匹配时,可以走索引,查询效率较高。而当搜索条件为模糊匹配时,由于索引无法生效,导致从索引查询退化为全表扫描,效率很差。因此,正向索引适合于根据索引字段的精确搜索,不适合基于部分词条的模糊匹配。

2025-01-07 11:17:44 394

原创 认识elasticsearch

elasticsearch中有很多独有的概念,与mysql中略有差别,但也有相似之处。

2025-01-06 18:01:17 819

原创 大厂——Elasticsearch部署

Elasticsearch的官方网站如下:Elasticsearch是由elastic公司开发的一套搜索引擎技术,它是elastic技术栈中的一部分。整套技术栈被称为ELK,经常用来做日志收集、系统监控和状态分析等等:整套技术栈的核心就是用来存储、搜索、计算的Elasticsearch,因此我们接下来学习的核心也是Elasticsearch。首先Elasticsearch不用多说,是提供核心的数据存储、搜索、分析功能的。

2025-01-06 17:52:41 490

原创 Spring Cloud 概述

Spring Cloud 提供了⼀些可以让开发⼈员快速构建分布式服务的⼯具, ⽐如配置管理, 服务发现, 熔断,智能路由等. 他们可以在任何分布式环境中很好的⼯作.简单来说, Spring Cloud 就是分布式微服务架构的⼀站式解决⽅案, 是微服务架构落地的多种技术的集合⽐如:Distributed/versioned configuration 分布式版本配置Service registration and discovery 服务注册和发现Routing 路由。

2025-01-03 17:22:18 943

原创 JAVA常用的工作流

Flowable:Flowable 是一个轻量级的工作流引擎,它是 Activiti 的一个分支,提供了更强大和灵活的工作流管理能力。Activiti:Activiti 是一个轻量级的工作流和业务流程管理平台,它是一个开源的 BPM 框架,基于 Java 编写。jBPM:jBPM 是一个基于 Java 的开源工作流引擎,它提供了一个可视化的工作流设计器,可以方便地创建和管理工作流程。Camunda:Camunda 是一个流程引擎和工作流管理系统,它基于 BPMN 2.0 标准,提供了强大的工作流管理功能。

2025-01-02 18:12:39 491

原创 Spring一共注入方式(最全)

就 IOC 本身而言,并不是什么新技术,IoC(Inversion of Control控制反转) 是一种设计思想,而不是一个具体的技术实现。是一种是面向对象编程中的一种设计原则,用来减低计算机代码之间的耦合度。IoC 的思想就是借助于“第三方”实现具有依赖关系的对象之间的解耦。换句话说就是,将原本在程序中手动创建对象的控制权,交由 Spring 框架来管理。不过, IoC 并非 Spring 特有,在其他语言中也有应用。

2025-01-02 18:09:43 1265

原创 Flowable工作流入门

在开发自己的系统时, 整合工作流, 我们往往需要程序里提供一个菜单, 实现流程的可视化配置, 拖拽, 保存, 版本管理等工作, 利用官方的设计器, 我们可以快速构造一个独立的Spring Boot工程, 提供设计器界面, 通过Url集成的方式加入我们的项目当中。在Flowable中, 如果流程是多路并行的, 可以在任务上设置为并行任务, 以替代传统工作流的多个相同任务的并行行为。内置自定义表单功能, 可以实现一些简单的表单定义, 但真正业务开展时, 很难对复杂多变的情况进行支撑, 不建议使用。

2024-12-31 15:40:30 1117

原创 KVM虚拟机命令管理

在嵌套标签内部,找到待还原快照vm1-snapshot1对应的、,将它们及它们的所有外层嵌套都删除,只保留该同级的及其内部嵌套。base-image

2024-12-31 15:29:03 990

原创 mysql8 error 1819 (hy000): your password does not satisfy the current policy

根据你的密码策略设置,你可以生成一个符合要求的密码。例如,如果策略要求密码至少包含8个字符,且包含至少一个数字、一个大写字母、一个小写字母和一个特殊字符,你可以选择一个如。注意:将密码长度设置为0可能会带来安全风险,因为这意味着用户可以设置任意长度的简单密码。)来实施,这些策略定义了密码的复杂度要求,如密码长度、是否包含数字、大写字母、小写字母、特殊字符等。一旦你知道了密码策略的具体要求,就可以分析为什么你的密码不符合要求。执行以上命令,可以得到关于密码策略的详细信息,包括密码策略的类型、长度要求等。

2024-12-30 18:21:00 1291

原创 MySql8版本2059错误解决方案

本地安装个测试数据库看看,但是安装完成后,用Navicat连接,一直报2059错误,真是奇了怪了。

2024-12-30 18:15:57 333

原创 Docker 容器全部停止的几种方法实现例子解析

你可以使用-t或--time选项来设置容器在发送SIGTERM信号后的超时时间。如果容器在30秒内没有停止,Docker将发送SIGKILL信号强制停止容器。你可以使用-s或--signal选项来发送自定义信号给容器。这将允许容器接收到自定义信号并相应地进行处理。请根据你的具体需求选择合适的命令来停止Docker容器。

2024-12-28 09:56:21 1474

原创 深度学习基础

深度学习(Deep Learning)是机器学习(Machine Learning)的一个研究方向,而机器学习属于人工智能(AI, Artificial Intelligence)的范畴,人工智能是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。三者的关系可以参考https://www.geeksforgeeks.org/getting-started-machine-learning/提供的一张图如下。

2024-12-26 16:08:26 863

原创 深度学习-机器学习

定义:深度学习是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。它是机器学习的一个分支,通过学习样本数据的内在规律和表示层次,使机器能够像人一样具有分析学习能力,识别文字、图像和声音等数据。核心:深度学习的核心在于构建多层非线性处理单元(即神经元)的网络结构,这些网络可以从原始数据中自动提取特征并进行学习。

2024-12-26 15:45:01 420

原创 Java接收并解析HL7协议数据

使用的是:7Edit 可以模拟发送hl7协议数据用于Socket调试使用,具体用法可以参考其他博主的文章,本来想截几个工具的图片,但是试用期已过不让打开了......调试过程中可以用上述工具观察解析结果,但是要大规模,大密度模拟报文就需要手动写几个测试类调用了,下述是笔者测试中用到的工具类,分享给大家。访问路径为:aikes/hl7/20,具体访问频次可自行调整。

2024-12-26 14:57:21 1563

原创 安装docker

Docker可以运行在MAC、Windows、CentOS、UBUNTU等操作系统上,本课程基于CentOS 7 安装Docker。考虑到从 docker 官方的仓库下载 docker-ce 有时会比较慢,可以使用下述命令将下载网址改为华为的镜像服务器: sudo sed -i 's+download.docker.com+repo.huaweicloud.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo。

2024-12-26 14:41:48 157

原创 centos7安装RabbitMQ 延迟插件rabbitmq_delayed_message_exchange

【代码】centos7安装RabbitMQ 延迟插件rabbitmq_delayed_message_exchange。

2024-12-26 14:28:39 364

原创 centos7安装mysql8(全)

2、如果导入密钥后仍然失败,可能是因为密钥已经更新。你可以从 MySQL 的官方仓库或密钥服务器获取最新的密钥。1、检查你的系统是否有正确的 GPG 密钥。/etc/yum.repos.d/mysql-community.repo 文件来确认或更改仓库配置。第一步:忘记密码不要慌,先找到my.cnf配置文件,yum安装一般都在/etc下,源码安装在安目录下。第五步: 将第一步的skip-grant-tables删除,重启mysql就ok了。3、确认你正在使用的仓库 URL 是正确的,并且仓库是启用的。

2024-12-11 18:19:46 458

原创 Spring MVC found on classpath, which is incompatible with Spring Cloud Gateway at this time

Spring Cloud Gateway是基于Spring WebFlux构建的,Spring WebFlux是一个非阻塞的反应式web框架,而Spring MVC是一个阻塞的框架,它包含在spring-boot-starter-web依赖中。4、如果你在同一个应用中需要Spring MVC和Spring Cloud Gateway,可以在application.yml或application.properties文件中将web应用类型设置为REACTIVE。1、把web依赖放到模块里面。

2024-11-07 15:01:51 635 1

原创 一线大厂——KMP算法

KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,因此人们称它为克努特—莫里斯—普拉特操作(简称KMP算法)。KMP算法的核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是通过一个next()函数实现,函数本身包含了模式串的局部匹配信息。KMP算法的时间复杂度O(m+n)下面开始介绍KMP算法,在此先规定好文章中所用变量代表意义:字符串A为被查找对象,字符串B为查找对象,即在A中寻找B是否存在。

2024-09-27 15:17:56 1001 1

原创 一线大厂——KMP算法实例图解分析+详细代码注解

1️⃣ 字符串的前缀是指不包含最后一个字符的所有以第一个字符(索引为0)开头的连续子串比如字符串 “ABABA” 的前缀有:A,AB,ABA,ABAB2️⃣ 字符串的后缀是指不包含第一个字符的所有以最后一个字符结尾的连续子串比如字符串 “ABABA” 的后缀有:BABA,ABA,BA,A3️⃣ 公共前后缀:一个字符串的 所有前缀连续子串 和 所有后缀连续子串 中相等的子串比如字符串 “ABABA”前缀有:A,AB,ABA,ABAB后缀有:BABA,ABA,BA,A。

2024-09-27 15:13:09 813

原创 TCP与UDP对于端口号的使用规定

3、大多数TCP/IP实现给临时端口分配1024~5000之间的端口号。大于5000的端口号是为其它服务器预留的(internet上并不常用的服务)UDP的端口分配规则与TCP相同。UDP的端口分配规则与TCP相同。2、客户端通常对他所选用的端口号并不关心,只需保证该端口号在本机上是唯一的就可以了。客户端口号因存在时间很短暂又称作监时端口号。1、端口号小于256的定义为常用端口,服务器一般都是通过常用端口来识别的。

2024-09-19 18:42:19 515

原创 SpringBoot使用netty

客户端这里以NIO来编写,就不写Netty了,在实际工作中,其实也都是Netty服务端,客户端可能是 WebSocket 或者 Socket,我们这里就以 Socket 为例,由于 NIO 是Java提供的,所以我们不需要引入什么依赖。由于使用SpringBoot,因此我们可以监听项目启动成功后触发启动Netty服务器,这时候只要SpringBoot启动就行了。客户端1 成功收到了 客户端2的消息,同理我们通过客户端1 发送。服务端也触发了日志打印,监听到客户端加入。现在我们通过客户端2,发一条消息看看。

2024-09-06 09:57:07 1676

原创 云原生虚拟化+Docker+k8s+Istio

应用与运行环境分开交付,无法保证环境的一致性资源、环境的隔离问题之前有大量探索,例如虚拟机层面的隔离,应用层面的隔离,探索追求更好的隔离性、高高的资源利用率及启动时间一个用于开发,交付和运行应用程序的开放平台。Docker能够将应用程序与基础架构分开,从而快速交付软件。大大减少编写代码和在生产环境中运行代码之间的延迟。可分为内核层、应用层、治理层、接口层,其中生态层不属于K8S范围K8S架构分层各层的详细定义接口层(工具、SDK库、UI等)K8S官方的项目会提供库、工具、UI等外围工具。

2024-08-29 12:32:46 1171 1

大厂面试真题-RabbitMQ的消息如何实现路由精讲

RabbitMQ是一个基于AMQP协议实现的分布式消息中间件。 (如图)AMQP的具体工作机制是,生产者把消息发送到RabbitMQ Broker上的Exchange交换机上。 Exchange交换机把收到的消息根据路由规则发给绑定的队列(Queue)。 最后再把消息投递给订阅了这个队列的消费者,从而完成消息的异步通讯。 其中,Exchange是一个消息交换机,它里面定义了消息路由的规则,也就是这个消息路由到那个队列。 然后Queue表示消息的载体,每个消息可以根据路由规则路由到一个或者多个队列里面。 而关于消息的路由机制,核心的组件是Exchange。

2024-01-15

一线大厂面试真题-谈谈你对MQ的理解精讲

概述 有位5、6年工作经验的面试被问到,什么是消息中间件。平时只关注使用,并没有去总结过,竟然被这个问题住了。 一、什么是MQ MQ全称是Message Queue,直译过来叫做消息队列,主要是作为分布式应用之间实现异步通信的方式。 主要由三个部分组成 ,分别是生产者、消息服务端和消费者。 生产者(Producer) 是生产消息的一端,相当于消息的发起方,主要负责载业务信息的消息的创建。然后是消息服务端(Server),是处理消息的单元,本质就是用来创建和保存消息队列,它主要负责消息的存储、投递以及跟消息队列相关的附加功能。 消息服务端 是整个消息队列最核心的组成部分。 消费者(Consumer) 是消费消息的一端,主要是根据消息所承载的信息去处理各种业务逻辑。 二、MQ的应用场景 我们为什么要用MQ,它能解决什么问题呢?从以下三个方面来分析: 流量消峰 主要是针对大流量入口过大,而业务需求又要短时间响应。但是服务器性能无法满足,导致大量请求积压,从而使得客户端大量等待超时的场景。为了保证高可用,可以把大量的并行任务发送给MQ,MQ再将请求分发给其他服务器,从

2024-01-14

Sentinel流控效果预热精讲

线程数限流用于保护业务线程数不被耗尽。例如,当应用所依赖的下游应用由于某种原因导致服务不稳定、响应延迟增加,对于调用者来说,意味着吞吐量下降和更多的线程数占用,极端情况下甚至导致线程池耗尽。为应对高线程占用的情况,业内有使用隔离的方案,比如通过不同业务逻辑使用不同线程池来隔离业务自身之间的资源争抢(线程池隔离),或者使用信号量来控制同时请求的个数(信号量隔离)。这种隔离方案虽然能够控制线程数量,但无法控制请求排队时间。当请求过多时排队也是无益的,直接拒绝能够迅速降低系统压力。Sentinel线程数限流不负责创建和管理线程池,而是简单统计当前请求上下文的线程个数,如果超出阈值,新的请求会被立即拒绝。

2024-01-05

Sentinel流控效果排队等待精讲

线程数限流用于保护业务线程数不被耗尽。例如,当应用所依赖的下游应用由于某种原因导致服务不稳定、响应延迟增加,对于调用者来说,意味着吞吐量下降和更多的线程数占用,极端情况下甚至导致线程池耗尽。为应对高线程占用的情况,业内有使用隔离的方案,比如通过不同业务逻辑使用不同线程池来隔离业务自身之间的资源争抢(线程池隔离),或者使用信号量来控制同时请求的个数(信号量隔离)。这种隔离方案虽然能够控制线程数量,但无法控制请求排队时间。当请求过多时排队也是无益的,直接拒绝能够迅速降低系统压力。Sentinel线程数限流不负责创建和管理线程池,而是简单统计当前请求上下文的线程个数,如果超出阈值,新的请求会被立即拒绝。

2024-01-05

Sentinel流控模式链路精讲

根据调用链路入口限流:链路限流 NodeSelectorSlot 中记录了资源之间的调用链路,这些资源通过调用关系,相互之间构成一棵调用树。这棵树的根节点是一个名字为 machine-root 的虚拟节点,调用链的入口都是这个虚节点的子节点。 一棵典型的调用树如下图所示: machine-root / \ / \ Entrance1 Entrance2 / \ / \ DefaultNode(nodeA) DefaultNode(nodeA) 上图中来自入口 Entrance1 和 Entrance2 的请求都调用到了资源 NodeA,Sentinel 允许只根据某个入口的统计信息对资源限流。比如我们可以设置 FlowRule.strategy 为 RuleConstant.CHAIN

2024-01-04

Sentinel流控模式关联精讲

具有关系的资源流量控制:关联流量控制 当两个资源之间具有资源争抢或者依赖关系的时候,这两个资源便具有了关联。比如对数据库同一个字段的读操作和写操作存在争抢,读的速度过高会影响写得速度,写的速度过高会影响读的速度。如果放任读写操作争抢资源,则争抢本身带来的开销会降低整体的吞吐量。可使用关联限流来避免具有关联关系的资源之间过度的争抢,举例来说,read_db 和 write_db 这两个资源分别代表数据库读写,我们可以给 read_db 设置限流规则来达到写优先的目的:设置 FlowRule.strategy 为 RuleConstant.RELATE 同时设置 FlowRule.ref_identity 为 write_db。这样当写库操作过于频繁时,读数据的请求会被限流。

2024-01-04

sentinel熔断慢调用比例精讲

慢调用比例 (SLOW_REQUEST_RATIO):选择以慢调用比例作为阈值,需要设置允许的慢调用 RT(即最大的响应时间),请求的响应时间大于该值则统计为慢调用。当单位统计时长(statIntervalMs)内请求数目大于设置的最小请求数目,并且慢调用的比例大于阈值,则接下来的熔断时长内请求会自动被熔断。经过熔断时长后熔断器会进入探测恢复状态(HALF-OPEN 状态),若接下来的一个请求响应时间小于设置的慢调用 RT 则结束熔断,若大于设置的慢调用 RT 则会再次被熔断。

2024-01-03

sentinel熔断异常比例精讲

异常比例 (ERROR_RATIO):当单位统计时长(statIntervalMs)内请求数目大于设置的最小请求数目,并且异常的比例大于阈值,则接下来的熔断时长内请求会自动被熔断。经过熔断时长后熔断器会进入探测恢复状态(HALF-OPEN 状态),若接下来的一个请求成功完成(没有错误)则结束熔断,否则会再次被熔断。异常比率的阈值范围是 [0.0, 1.0],代表 0% - 100%。

2024-01-03

Nacos部署精讲+服务发现、配置管理和服务管理平台

概览 Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。 什么是 Nacos? 服务(Service)是 Nacos 世界的一等公民。Nacos 支持几乎所有主流类型的“服务”的发现、配置和管理: Kubernetes Service gRPC & Dubbo RPC Service Spring Cloud RESTful Service Nacos 的关键特性包括: 服务发现和服务健康监测 Nacos 支持基于 DNS 和基于 RPC 的服务发现。服务提供者使用 原生SDK、Open

2024-01-01

单例模式,属于创建类型的一种常用的软件设计模式 通过单例模式的方法创建的类在当前进程中只有一个实例(根据需要,也有可能一个线程中

通常单例模式在Java语言中,有两种构建方式: 懒汉式—线程不安全:最基础的实现方式,线程上下文单例,不需要共享给所有线程,也不需要加synchronize之类的锁,以提高性能。 懒汉式—线程安全:加上synchronize之类保证线程安全的基础上的懒汉模式,相对性能很低,大部分时间并不需要同步 饿汉方式。指全局的单例实例在类装载时构建。 [2] 双检锁式。在懒汉式基础上利用synchronize关键字和volatile关键字确保第一次创建时没有线程间竞争而产生多个实例,仅第一次创建时同步,性能相对较高 登记式。作为创建类的全局属性存在,创建类被装载时创建 枚举。java中枚举类本身也是一种单例模式

2024-01-01

大厂微服务gateway认证+鉴权

微服务gateway实现认证+鉴权 鉴权使用缓存+响应编程 reactive gateway webflux

2023-12-08

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

TA关注的人

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