当前位置: 首页 > news >正文

Nacos 配置与服务注册问题排查指南

Nacos 配置与服务注册问题排查指南

1. Nacos 配置文件优先级

在 Spring Boot 应用中,配置文件的优先级从高到低依次为:

  1. bootstrap.properties
  2. bootstrap.yml
  3. application.properties
  4. application.yml

2. Nacos 配置中心配置示例

以下是一个典型的 Nacos 配置中心配置示例:

spring:cloud:nacos:discovery:server-addr: 127.0.0.1:8848  # Nacos 服务发现地址config:server-addr: 127.0.0.1:8848  # Nacos 配置中心地址group: DEFAULT_GROUP         # 配置分组namespace: 426d4a3d-fc32-4933-9b62-f27d5ed0b2cb  # 命名空间prefix: base-user            # Data ID 前缀file-extension: yaml         # 配置文件扩展名

2.1 Data ID 命名规则

Nacos 配置中心的 Data ID 命名规则为:

${prefix}-${spring.profiles.active}.${file-extension}
  • prefix:由 spring.cloud.nacos.config.prefix 指定,默认为 spring.application.name
  • spring.profiles.active:当前激活的 profile(如 devtestprod 等)。如果没有指定 profile,则忽略这一部分。
  • file-extension:由 spring.cloud.nacos.config.file-extension 指定,表示配置文件的扩展名(如 yamlproperties 等)。

2.2 示例

假设:

  • prefixbase-user
  • file-extensionyaml
  • 没有指定 spring.profiles.active

那么生成的 Data ID 为:

base-user.yaml

如果指定了 spring.profiles.active=dev,则生成的 Data ID 为:

base-user-dev.yaml

3. 服务未注册到自定义命名空间的问题排查

如果服务没有注册到自定义的 Nacos 命名空间(如 namespace: 426d4a3d-fc32-4933-9b62-f27d5ed0b2cb),可能是以下原因之一:

3.1 检查 Nacos 命名空间配置

确保在 bootstrap.ymlapplication.yml 中正确配置了 namespace

spring:cloud:nacos:discovery:server-addr: 127.0.0.1:8848namespace: 426d4a3d-fc32-4933-9b62-f27d5ed0b2cb  # 确保命名空间 ID 正确config:server-addr: 127.0.0.1:8848namespace: 426d4a3d-fc32-4933-9b62-f27d5ed0b2cb  # 确保命名空间 ID 正确

3.2 检查 Nacos 中的命名空间

  • 登录 Nacos 控制台(默认地址:http://127.0.0.1:8848/nacos)。
  • 在左侧菜单中点击 命名空间,确认是否存在 ID 为 426d4a3d-fc32-4933-9b62-f27d5ed0b2cb 的命名空间。
  • 如果不存在,需要先创建该命名空间。
创建命名空间:
  1. 在 Nacos 控制台中,进入 命名空间 页面。
  2. 点击 新建命名空间
  3. 填写命名空间信息:
    • 命名空间 ID426d4a3d-fc32-4933-9b62-f27d5ed0b2cb(必须与配置中的 namespace 一致)。
    • 命名空间名称:自定义名称(如 test)。
    • 描述:可选。

3.3 检查服务注册的命名空间

  • 在 Nacos 控制台中,进入 服务管理 页面。
  • 选择顶部的命名空间下拉框,切换到 426d4a3d-fc32-4933-9b62-f27d5ed0b2cb 命名空间。
  • 检查服务是否注册到该命名空间。

3.4 检查应用程序日志

查看应用程序启动日志,确认是否有关于命名空间的错误信息。

示例日志:
  • 如果命名空间配置正确,日志中会显示类似以下信息:
    Registering service with Nacos, namespace: 426d4a3d-fc32-4933-9b62-f27d5ed0b2cb
    
  • 如果命名空间配置错误,日志中可能会显示:
    Failed to register service with Nacos, namespace not found
    

4. 使用全局 HTTP 接口响应

RedisSessionFilter 中,当 Token 无效时,可以使用全局的 HTTP 接口响应(HttpResult)返回统一的错误信息。

4.1 修改 RedisSessionFilter 中的响应逻辑

RedisSessionFilter 中,使用 HttpResult 构建响应对象,并将其序列化为 JSON 字符串写入响应。

@Override
protected void doFilterInternal(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, FilterChain filterChain) throws ServletException, IOException {log.info("RedisSessionFilter is invoked."); // 添加日志语句CachedBodyHttpServletRequest cachedBodyHttpServletRequest = new CachedBodyHttpServletRequest(httpServletRequest);// 是否是登录请求,登录请求直接放行String requestURI = httpServletRequest.getRequestURI();if (StringUtils.equals("/login/loginIn", requestURI) || StringUtils.contains(requestURI, "swagger")) {filterChain.doFilter(cachedBodyHttpServletRequest, httpServletResponse);return;}Object loginUser = jwtUtils.getLoginUser(cachedBodyHttpServletRequest);if (ObjectUtil.isNotEmpty(loginUser)) {// 创建认证对象,并且将认证结果设置到 SecurityContextHolder 中UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(loginUser, null, new ArrayList<>());SecurityContextHolder.getContext().setAuthentication(authenticationToken);// Token 有效,继续处理请求filterChain.doFilter(cachedBodyHttpServletRequest, httpServletResponse);} else {// 如果 token 校验失败,清空认证上下文SecurityContextHolder.clearContext();// 使用 HttpResult 构建响应HttpResult<?> httpResult = HttpResult.failure(ResultCodeEnum.UNAUTHORIZED);// 将 HttpResult 对象序列化为 JSON 字符串String jsonResponse = new ObjectMapper().writeValueAsString(httpResult);// 设置响应状态码和内容类型httpServletResponse.setStatus(httpResult.getCode());httpServletResponse.setContentType("application/json;charset=UTF-8");// 将 JSON 字符串写入响应httpServletResponse.getWriter().write(jsonResponse);}
}

4.2 引入 ObjectMapper

为了将 HttpResult 对象序列化为 JSON 字符串,需要使用 ObjectMapper。确保项目中已经引入了 Jackson 依赖。

Maven 依赖:
<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId>
</dependency>
RedisSessionFilter 中注入 ObjectMapper
@Autowired
private ObjectMapper objectMapper;

4.3 确保 ResultCodeEnum 包含 UNAUTHORIZED

确保 ResultCodeEnum 枚举类中定义了 UNAUTHORIZED,并且其状态码和消息符合你的需求。

示例:
public enum ResultCodeEnum {UNAUTHORIZED(401, "用户认证失败"),// 其他状态码;private final int code;private final String message;ResultCodeEnum(int code, String message) {this.code = code;this.message = message;}public int getCode() {return code;}public String getMessage() {return message;}
}

4.4 测试

启动应用并测试以下场景:

  1. 发送一个未携带有效 Token 的请求,检查是否返回 HttpResult 的 JSON 响应。
  2. 确保响应的状态码为 401,并且内容为:
    {"success": false,"code": 401,"message": "用户认证失败"
    }
    

5. 总结

  • 确保 Nacos 配置中心中的配置正确,且与应用程序的配置匹配。
  • 检查命名空间配置是否正确,并确保服务注册到指定的命名空间。
  • 使用 HttpResult 构建统一的 HTTP 接口响应,并在过滤器中返回自定义的 JSON 响应。
  • 通过日志和调试信息排查问题。

相关文章:

Nacos 配置与服务注册问题排查指南

Nacos 配置与服务注册问题排查指南 1. Nacos 配置文件优先级 在 Spring Boot 应用中&#xff0c;配置文件的优先级从高到低依次为&#xff1a; bootstrap.propertiesbootstrap.ymlapplication.propertiesapplication.yml 2. Nacos 配置中心配置示例 以下是一个典型的 Naco…...

浅谈云计算06 | 云管理系统架构

云管理系统架构 一、云管理系统架构&#xff08;一&#xff09;远程管理系统&#xff08;二&#xff09;资源管理系统&#xff08;三&#xff09;SLA 管理系统&#xff08;四&#xff09;计费管理系统 二、安全与可靠性保障&#xff08;一&#xff09;数据安全防线&#xff08;…...

system securiry: supervisor password required

报错解释&#xff1a; 这个错误表明系统安全模块&#xff08;如SELinux或AppArmor&#xff09;需要超级用户&#xff08;通常是root&#xff09;的密码来确认一个操作。这通常发生在尝试进行某些需要高级权限的系统更改时。 解决方法&#xff1a; 如果你拥有root权限&#xff0…...

【Python基础知识】pdb-Python的调试器的常用命令和使用示例

使用pdb的情形 多数时候&#xff0c;可以使用PyCharm、VSCode等现代化IDE进行代码的调试 对于远程服务器中运行的服务&#xff0c;本地无法复现时&#xff0c;可以使用 Python自带的pdb进行调试 1 代码中断点埋桩 中断进入调试器的典型用法是 在需要调试的地方插入以下代码: …...

C++ STL之容器介绍(vector、list、set、map)

1 STL基本概念 C有两大思想&#xff0c;面向对象和泛型编程。泛型编程指编写代码时不必指定具体的数据类型&#xff0c;而是使用模板来代替实际类型&#xff0c;这样编写的函数或类可以在之后应用于各种数据类型。而STL就是C泛型编程的一个杰出例子。STL&#xff08;Standard …...

【向量数据库 Milvus】Milvus 2.5版本CPU 安装单机版

以下是Milvus 2.5版本单机安装的步骤&#xff1a; 前提条件 系统可以使用centos或者ubuntu。系统已经安装docker和docker-compose。 下载并编辑docker-compose.yml 进入Milvus的GitHub项目主页查看最新版本的Milvus&#xff0c;下载对应版本的docker-compose.yml文件&#…...

[Do374]Ansible一键搭建sftp实现用户批量增删

[Do374]Ansible一键搭建sftp实现用户批量增删 1. 前言2. 思路3. sftp搭建及用户批量新增3.1 配置文件内容3.2 执行测试3.3 登录测试3.4 确认sftp服务器配置文件 4. 测试删除用户 1. 前言 最近准备搞一下RHCA LV V,外加2.9之后的ansible有较大变化于是练习下Do374的课程内容. 工…...

系统认识数据分析

什么是数据分析&#xff1f; 数据分析是指用适当的统计分析方法对收集来的大量数据进行分析&#xff0c;将它们加以汇总和理解并消化&#xff0c;以求最大化地开发数据的功能&#xff0c;发挥数据的作用。数据分析是为了提取有用信息和形成结论而对数据加以详细研究和概括总结的…...

Cherno C++学习笔记 P52 处理多返回值

在这篇文章当中&#xff0c;我们解决一下如何用C的函数处理多返回值的问题。 在有些情况下&#xff0c;我们希望我们的函数可以返回多个返回值&#xff0c;比如返回两个string或者是一个int加上一个string。如果我们用的是python之类的语言的话&#xff0c;那这个事情其实是很…...

Android车机DIY开发之学习篇(一)编译UBOOT以正点原子为例

Android车机DIY开发之学习篇(一)编译UBOOT以正点原子为例 1.代码在u-boot文件夹下 2.在 U-Boot 源码目录下执行如下命令编译 U-Boot&#xff1a; ./make.sh rk3588生成两个文件 ### uboot.img 对应<SDK>/uboot/uboot.img ### rk3588_spl_loader_v1.13.113.bin 对应<…...

扩散模型、原型网络以及肿瘤微环境解析等名词出现在基金立项名单中,它们各自的应用现状如何?|文献速递·25-01-10

小罗碎碎念 昨晚看到了云南省2025年自然科学基金立项的名单&#xff0c;今天把医工交叉的项目挑出来和大家分享一下。 今天分享的文献&#xff0c;灵感来源于2025年的基金&#xff0c;我会先简单分析一下基金的情况&#xff0c;然后再和大家分享三篇与立项基金相关的文献。 总共…...

【Java设计模式-4】策略模式,消灭if/else迷宫的利器

各位Java编程小伙伴们&#xff01;今天咱们要一起探索一个超级厉害的Java设计模式——策略模式&#xff0c;它就像是一把神奇的魔法剑&#xff0c;专门用来斩断那些让我们代码变得乱糟糟的if/else语句迷宫&#xff01; 一、if/else的烦恼 在编程的奇妙世界里&#xff0c;我们…...

10分钟快速了解OceanGPT(沧渊)

10分钟快速了解OceanGPT(沧渊) 海洋科学任务的大语言模型——OceanGPT OceanGPT是如何训练的?为了训练 OceanGPT (沧渊) ,收集了一个跨越多个领域的海洋科学语料库。由于每个子领域和主题都有其独特的数据特征和模式,因此提出了一个特定于领域的指令生成框架,称为 DoDirec…...

学习及笔记

1、计算md5 md5sum 文件名 2、跨服务器复制 scp 文件 目标用户名目标Ip:目标路径 3、curl curl -X POST http://10.105.2.46/getUerls -H "Content-Type: application/json" -d {"id": 379, "userId": "lyc", "password":…...

TensorFlow Quantum快速编程(基本篇)

一、TensorFlow Quantum 概述 1.1 简介 TensorFlow Quantum(TFQ)是由 Google 开发的一款具有开创性意义的开源库,它宛如一座桥梁,巧妙地将量子计算与 TensorFlow 强大的机器学习功能紧密融合。在当今科技飞速发展的时代,传统机器学习虽已取得诸多瞩目成就,然而面对日益…...

Vue.js组件开发-实现图片裁剪

在Vue.js中开发一个图片裁剪组件&#xff0c;可以使用cropperjs库&#xff0c;它是一个功能强大的JavaScript库&#xff0c;专门用于图片裁剪。在Vue项目中&#xff0c;可以通过vue-cropperjs这个Vue包装器来更方便地使用cropperjs。 步骤&#xff1a; 1. 安装依赖 首先&…...

Jira用例自动去除summary重复用例

title: Jira用例自动去除summary重复用例 tags: - jira - python categories: - python一、背景与需求二、解决方案思路三、实施步骤本文永久更新地址: 在使用 Jira 进行项目管理时&#xff0c;测试用例的维护至关重要。随着项目推进&#xff0c;用例数量增多&#xff0c;可能…...

2024年开发语言热度排名

随着技术的不断发展和变化&#xff0c;编程语言的热度也在不断演变。2024年即将到来&#xff0c;我们有必要回顾和展望当前和未来的开发语言市场。本文将基于多个因素&#xff0c;包括行业需求、社区支持、流行度以及新兴趋势&#xff0c;对2024年的开发语言热度进行排名和分析…...

【ArcGIS初学】产生随机点计算混淆矩阵

混淆矩阵&#xff1a;用于比较分类结果和地表真实信息 总体精度(overall accuracy) :指对角线上所有样本的像元数(正确分类的像元数)除以所有像元数。 生产者精度(producers accuracy) &#xff1a;某类中正确分类的像元数除以参考数据中该类的像元数(列方向)&#xff0c;又称…...

OpenScholar助高效检索和整合科学文献?

从事科研的人都离不开读文献。然而&#xff0c;如今每年发表的论文数量已达数百万篇&#xff08;例如&#xff0c;某位大佬在硕博期间就发表了178篇&#xff5e;&#xff09;。在如此海量的文献中&#xff0c;如何高效利用宝贵的时间获取所需信息&#xff0c;显得尤为重要。 近…...

代码随想录Day34 | 62.不同路径,63.不同路径II,343.整数拆分,96.不同的二叉搜索树

代码随想录Day34 | 62.不同路径,63.不同路径II,343.整数拆分,96.不同的二叉搜索树 62.不同路径 动态规划第二集&#xff1a; 比较标准简单的一道动态规划&#xff0c;状态转移方程容易想到 难点在于空间复杂度的优化&#xff0c;详见代码 class Solution {public int uniq…...

非PHP开源内容管理系统(CMS)一览

在现代网站开发中&#xff0c;内容管理系统&#xff08;CMS&#xff09;是不可或缺的工具。虽然许多广泛使用的CMS&#xff08;如WordPress和Joomla&#xff09;是基于PHP开发的&#xff0c;但其他编程语言同样诞生了许多优秀的开源CMS&#xff0c;适用于不同需求和技术栈的项目…...

【Rust】常见集合

目录 思维导图 一、Rust常用集合 1. Rust标准库中的集合概述 2. 常用集合类型 2.1 向量&#xff08;Vector&#xff09; 2.2 字符串&#xff08;String&#xff09; 2.3 哈希映射&#xff08;Hash Map&#xff09; 二、向量&#xff08;Vec&#xff09; 1. 向量的概述…...

55. 跳跃游戏

题目 给你一个非负整数数组 nums &#xff0c;你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标&#xff0c;如果可以&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 C #include <…...

关于 ThinkPHP 与 PostgreSQL 结合使用的一些要点

ThinkPHP 是一款流行的 PHP 开发框架&#xff0c;而 PostgreSQL 是功能强大的开源关系型数据库。它们可以结合使用来开发各类应用&#xff0c;以下是关于 ThinkPHP 与 PostgreSQL 结合使用的一些要点&#xff1a; 配置数据库连接 编辑配置文件&#xff1a;在 ThinkPHP 项目中&…...

【 PID 算法 】PID 算法基础

一、简介 PID即&#xff1a;Proportional&#xff08;比例&#xff09;、Integral&#xff08;积分&#xff09;、Differential&#xff08;微分&#xff09;的缩写。也就是说&#xff0c;PID算法是结合这三种环节在一起的。粘一下百度百科中的东西吧。 顾名思义&#xff0c;…...

介绍下不同语言的异常处理机制

Golang 在Go语言中&#xff0c;有两种用于处于异常的机制&#xff0c;分别是error和panic&#xff1b; panic panic 是 Go 中处理异常情况的机制&#xff0c;用于表示程序遇到了无法恢复的错误&#xff0c;需要终止执行。 使用场景 程序出现严重的不符合预期的问题&#x…...

Sprint Boot教程之五十八:动态启动/停止 Kafka 监听器

Spring Boot – 动态启动/停止 Kafka 监听器 当 Spring Boot 应用程序启动时&#xff0c;Kafka Listener 的默认行为是开始监听某个主题。但是&#xff0c;有些情况下我们不想在应用程序启动后立即启动它。 要动态启动或停止 Kafka Listener&#xff0c;我们需要三种主要方法…...

Linux服务器网络丢包场景及解决办法

一、Linux网络丢包概述 在数字化浪潮席卷的当下&#xff0c;网络已然成为我们生活、工作与娱乐不可或缺的基础设施&#xff0c;如同空气般&#xff0c;无孔不入地渗透到各个角落。对于 Linux 系统的用户而言&#xff0c;网络丢包问题却宛如挥之不去的 “噩梦”&#xff0c;频繁…...

2025年01月13日Github流行趋势

1. 项目名称&#xff1a;Jobs_Applier_AI_Agent 项目地址url&#xff1a;https://github.com/feder-cr/Jobs_Applier_AI_Agent项目语言&#xff1a;Python历史star数&#xff1a;25929今日star数&#xff1a;401项目维护者&#xff1a;surapuramakhil, feder-cr, cjbbb, sarob…...

贪心算法详细讲解(沉淀中)

文章目录 1. 什么是贪心算法&#xff1f;&#xff08;贪婪鼠目寸光&#xff09;经典例题1.1.1 找零问题1.1.2最小路径和1.1.3 背包问题 2.贪心算法的特点2.1 证明例1 3.学习贪心的方向心得体会 1. 什么是贪心算法&#xff1f;&#xff08;贪婪鼠目寸光&#xff09; 贪心策略&a…...

C/C++ 数据结构与算法【排序】 常见7大排序详细解析【日常学习,考研必备】带图+详细代码

常见7种排序算法 冒泡排序&#xff08;Bubble Sort&#xff09;选择排序&#xff08;Selection Sort&#xff09;插入排序&#xff08;Insertion Sort&#xff09;希尔排序&#xff08;Shell Sort&#xff09;归并排序&#xff08;Merge Sort&#xff09;快速排序&#xff08;…...

Oracle Dataguard(主库为双节点集群)配置详解(4):配置备库

Oracle Dataguard&#xff08;主库为双节点集群&#xff09;配置详解&#xff08;4&#xff09;&#xff1a;配置备库 目录 Oracle Dataguard&#xff08;主库为双节点集群&#xff09;配置详解&#xff08;4&#xff09;&#xff1a;配置备库一、为备库配置静态监听1、配置 li…...

【Unity3D日常开发】Unity3D中打开Window文件对话框打开文件(PC版)

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享QQ群&#xff1a;398291828小红书小破站 大家好&#xff0c;我是佛系工程师☆恬静的小魔龙☆&#xff0c;不定时更新Unity开发技巧&#xff0c;觉得有用记得一键三连哦。 一、前言 这篇文章继续讲如何使用Unity3D打开Window文…...

STM32-RTC实时时钟

1.0 RTC简介 RTC&#xff08;Real Time Clock&#xff09;实时时钟 RTC是一个独立的定时器&#xff0c;可为系统提供时钟和日历的功能 RTC和时钟配置系统处于后备区域&#xff0c;系统复位时数据不清零&#xff0c;VDD&#xff08;2.0~3.6V&#xff09;断电后可借助VBAT&#x…...

QT跨平台应用程序开发框架(1)—— 环境搭建

目录 一&#xff0c;关于QT 二&#xff0c;关于应用程序框架 三&#xff0c;环境搭建 3.1 预备 3.2 下载Qt SDK 3.3 安装Qt SDK 3.4 配置环境变量 3.5 认识一些重要工具 四&#xff0c;Qt Creator 的基本使用 4.1 创建项目 4.2 代码解释 一&#xff0c;关于QT 互联网…...

HTB:Paper[WriteUP]

目录 连接至HTB服务器并启动靶机 信息收集 使用rustscan对靶机TCP端口进行开放扫描 将靶机TCP开放端口号提取并保存 使用nmap对靶机TCP开放端口进行脚本、服务扫描 使用nmap对靶机TCP开放端口进行漏洞、系统扫描 使用nmap对靶机常用UDP端口进行开放扫描 对靶机进行子域…...

【数据可视化-12】数据分析岗位招聘分析

&#x1f9d1; 博主简介&#xff1a;曾任某智慧城市类企业算法总监&#xff0c;目前在美国市场的物流公司从事高级算法工程师一职&#xff0c;深耕人工智能领域&#xff0c;精通python数据挖掘、可视化、机器学习等&#xff0c;发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…...

UE材质节点Fresnel

Fresnel节点 ExponentIn 控制边缘透明度 BaseReflectFractionIn 控制中心透明度...

宁德时代C++后端开发面试题及参考答案

请阐述面向对象的三大特性。 面向对象编程有三大特性,分别是封装、继承和多态。 封装是指将数据和操作数据的方法绑定在一起,对数据的访问和操作进行限制。这样做的好处是可以隐藏对象的内部细节,只暴露必要的接口给外部。例如,我们可以把一个汽车类的内部引擎状态、速度等…...

opencv warpAffine仿射变换C++源码分析

基于opencv 3.1.0源代码 sources\modules\imgproc\src\imgwarp.cpp void cv::warpAffine( InputArray _src, OutputArray _dst,InputArray _M0, Size dsize,int flags, int borderType, const Scalar& borderValue ) {...if( !(flags & WARP_INVERSE_MAP) ){//变换矩阵…...

六十九:基于openssl实战验证RSA

RSA&#xff08;Rivest-Shamir-Adleman&#xff09;是一种非对称加密算法&#xff0c;广泛应用于数据加密和数字签名领域。在实际开发和学习过程中&#xff0c;理解 RSA 的工作原理和使用场景非常重要。本文将以 OpenSSL 工具为基础&#xff0c;通过实例操作来验证和理解 RSA 的…...

Docker的CMD指令

CMD指令是Dockerfile中的一个重要指令&#xff0c;用于指定容器启动时执行的默认命令。CMD为容器运行时提供了一个默认的执行指令&#xff0c;可以在容器启动时自动运行该命令。 * CMD指令用于指定容器启动时的默认命令 CMD指令指定的命令通常是容器启动后要执行的主要进程。…...

redis缓存篇知识点总结

1.缓存雪崩 当大量缓存数据在同一时间过期(失效)或者 Redis 故障宕机时,如果此时有大量的用户请求,都无法在 Redis 中处理,于是全部请求都直接访问数据库,从而导致数据库的压力骤增,严重的会造成数据库宕机,从而形成一系列连锁反应,造成整个系统崩溃 发生缓存雪崩有两…...

onlyoffice编辑服务部署

下载官方镜像 下载onlyoffice_7.4.1.tar.gz镜像包 安装官方镜像 上传镜像包后执行 docker load -i onlyoffice_7.4.1.tar.gz 将镜像部署到本地仓库 下载onlyoffice编辑服务包 下载onlyoffice.zip包 启动onlyoffice编辑服务 上传包至服务器&#xff0c;解压包&#xff0c;…...

RPC实现原理,怎么跟调用本地一样

回答1 要让⽹络通信细节对使⽤者透明&#xff0c;我们需要对通信细节进⾏封装&#xff0c;我们先看下⼀个 RPC 调⽤的流程涉及到哪些通 信细节&#xff1a; 1. 服务消费⽅&#xff08; client &#xff09;调⽤以本地调⽤⽅式调⽤服务&#xff1b; 2. client stub 接收到调…...

JDK下载安装配置

一.JDK安装配置。 1.安装注意路径,其他直接下一步。 2.配置。 下接第4步. 或者 代码复制: JAVA_HOME D:\Program Files\Java\jdk1.8.0_91 %JAVA_HOME%\bin 或者直接配置 D:\Program Files\Java\jdk1.8.0_91\bin 3.验证(CMD)。 java javac java -version javac -version 二.下…...

C++(3)

1.顺序表封装 #include <iostream>using namespace std;//类型重命名 using datatype int;//定义一个顺序表类 class SeqList { private:datatype *data;//指向堆区空间的指针int size 0;//数组大小int len 0;//顺序表实际长度public://无参构造SeqList():data(new d…...

工具学习_Conan_Install

1. 依赖关系获取 为了获取TPL间的依赖关系&#xff0c;我们首先从 GitHub 项目中提取 Conan 包含的组件&#xff0c;如下所示&#xff1a; 在获取组件名之后&#xff0c;我们根据组件名从 Conan 中获取 TPL 间的依赖关系&#xff0c;如下图所示&#xff1a; 之后获得包含TPL间…...

忘记了PDF文件的密码,怎么办?

PDF文件可以加密&#xff0c;大家都不陌生&#xff0c;并且大家应该也都知道PDF文件有两种密码&#xff0c;一个打开密码、一个限制编辑密码&#xff0c;因为PDF文件设置了密码&#xff0c;那么打开、编辑PDF文件就会受到限制。忘记了PDF密码该如何解密&#xff1f; PDF和offi…...