
云原生技术
文章平均质量分 82
深入探讨云原生生态系统的各个方面,包括容器技术、微服务架构、持续集成与持续部署(CI/CD)、DevOps最佳实践,以及Kubernetes和云原生应用的开发和运维。我们的内容旨在提供实用的指南和深入的洞察,帮助您在快速发展的云原生领域中保持领先。无论您是云计算的新手还是希望深化已有知识的专业人士,
优惠券已抵扣
余额抵扣
还需支付
¥19.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
阿寻寻
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【云原生技术】在 Spring Boot 中,许多依赖和配置是通过 自动配置 和 Starter POMs 机制来处理
通过 Starter POMs 和自动配置,Spring Boot 使得应用的构建和配置变得非常简单。你只需要在pom.xml中添加少量依赖,Spring Boot 会处理其余的工作,并自动配置所需的库和组件。这种方式极大地提升了开发效率。原创 2025-04-26 01:00:00 · 1427 阅读 · 0 评论 -
【云原生技术】部署后报错Unhealthy Liveness probe failed / Unhealthy Readiness probe failed: dial tcp
通过上面方法,能判断容器是否真的监听了Liveness/Readiness探活所配置的端口,并进一步排查端口配置不一致或应用尚未启动完成等问题。依然提示 “Connection refused”,通常意味着容器里没有任何进程在该端口上监听,或者监听尚未就绪。只要将容器暴露的端口与探活 probe 的设置对上,并保证应用如期启动,一般就能通过探活检查。通过这两种方式,就能准确知道容器里应用真正绑定和监听的端口。要确认容器里有没有在指定端口监听,常用的做法是。进入容器后,就能在容器里的终端执行命令了。原创 2025-04-23 00:15:00 · 853 阅读 · 0 评论 -
【云原生技术】容器中启动java应用的具体命令怎么可以看到?
1. 在 Deployment 里挂卷 + 设置 `SPRING_CLOUD_BOOTSTRAP_LOCATION=file:/app/cfg/…`; 2. 保证 bootstrap 机制处于开启状态(或用 Config Import); 3. `java -jar /app/app.jar` 启动时 Spring 就会把该 yml 自动加载。原创 2025-04-25 00:30:00 · 1297 阅读 · 0 评论 -
【云原生技术】Spring Boot 通过应用配置文件(通常是 `application.properties` 或 `application.yml`)来集中管理应用的配置
在这个示例中,我们通过或文件集中管理了应用的配置,包括服务器端口、数据库配置以及 JPA 设置。Spring Boot 在启动时会自动读取并应用这些配置,这样我们不需要手动对数据库连接、端口等进行繁琐的配置。你可以轻松地修改这些配置,而不必深入到代码中。这种配置方式不仅结构清晰,还能让你在不同环境(开发、测试、生产)之间轻松切换配置,比如通过使用 Spring Profiles 来管理不同环境的配置文件。原创 2025-04-27 00:30:00 · 937 阅读 · 0 评论 -
【云原生技术】作为大型项目的开发管理者,如何选择「同一分支多个POM」或「不同分支不同POM」方案
在大多数情况下,同一分支多POM更适合需要灵活切换构建配置的中大型项目,但需通过严格的版本管理避免冲突;若项目要求绝对隔离或长期维护多版本,则多分支策略更可靠。实际选择时,可结合团队技术栈成熟度、CI/CD自动化水平及项目生命周期综合决策。原创 2025-05-09 01:00:00 · 1136 阅读 · 0 评论 -
【云原生技术】详细介绍 Tomcat、Spring MVC、JPA 的 EntityManager
下面我将逐个详细介绍 Tomcat、Spring MVC、JPA 的 EntityManager。这三者在 Java Web 应用程序开发中占有重要的地位,各自有不同的功能和工作原理。Tomcat是一个 Web 服务器和 Servlet 容器,用于运行 Java Web 应用。可以通过配置和部署 WAR 文件来使用它。Spring MVC是构建现代 Web 应用的强大框架,实现了 MVC 模式,能够有效管理请求和响应。JPA 的 EntityManager负责处理实体的持久化操作,简化与数据库的交互。原创 2025-04-27 01:00:00 · 789 阅读 · 0 评论 -
【云原生技术】如何把sonar里面陪着某个代码规则去掉?
如果你想在SonarQube 页面(Web UI)上直接配置自定义规则,一般只能基于现有的 “Rule Template”来生成新的规则。进入“Rules”页面在 SonarQube 顶部菜单中找到 “Rules”,点击进入。搜索或筛选“Template”在搜索栏中,可以将“Type”或“Show”筛选为“Template”。这样就能列出所有支持从模板派生的规则。挑选模板并“Create Custom Rule”在想要基于的模板规则详情里,你会看到类似“Create Custom Rule”的按钮。原创 2025-04-23 01:00:00 · 1500 阅读 · 0 评论 -
【云原生技术】容器启动后,如何查看容器启动日志?
以上命令都会输出容器启动过程中以及运行时的标准输出日志。若要查看更早期的日志,可去容器/Pod 所在机器上查看容器的历史日志文件,或者启用日志持久化方案。在 Kubernetes 的 Pod 或 Deployment 等 YAML 中,如果要自定义容器的启动命令与参数,可以在容器级别加上。简而言之,这两部分合起来,会在容器里执行一条 shell 命令脚本,脚本内容就是先打印“Hello World”,然后让进程。文件中的自定义命令,则一般在。会覆盖容器原先的默认启动命令。,就会覆盖镜像的默认。原创 2025-04-23 00:15:00 · 596 阅读 · 0 评论 -
【云原生技术】当使用 mvn -f pom-fat.xml clean deploy 命令时,为什么会出现重复拉取不同版本的pom的传递依赖的情况
mvn -f pom-fat.xml clean deploy 会出现拉两次传递依赖包就是pom-fat指定的和pom里指定的,但是直接mvn clean deploy的时候为什么不会拉两次,只会拉取pom里面的呢?当使用 命令时,若出现重复拉取传递依赖的情况,而直接运行 (默认使用 )时不会重复,这通常与 Maven 的依赖解析逻辑和 POM 文件配置差异有关。以下是具体原因和解决方案:默认依赖解析规则当执行 时,Maven 仅基于 的依赖声明解析传递性依赖。此时:• Maven 遵循 最短路径原创 2025-05-08 15:42:42 · 522 阅读 · 0 评论 -
【云原生技术】在 Spring Boot 中,除了 SPRING_APPLICATION_JSON 这个参数外,还有哪些环境变量和系统属性可用于配置应用程序
使用上述环境变量,Spring Boot 应用将会根据设置调整其配置,而不需要在源代码中进行改变。假设我们有一个 Spring Boot 应用,需要在不同环境下配置数据库连接和服务配置。如果你的微服务需要读取外部配置,使用该变量设置配置服务器的地址。:设置应用程序的名称,有助于服务注册(在使用服务发现时如 Eureka)。:指定 Redis 服务器的主机名,适用于使用 Redis 的应用程序。:在使用 Spring Security 时设置默认用户的用户名和密码。:用于配置数据库连接的用户名和密码。原创 2025-04-25 00:45:00 · 938 阅读 · 0 评论 -
【云原生技术】 Spring Boot 的相关概念
和:你可以选择其中一种来配置应用,二者的方式并无强制要求。JPA 设置:配置了默认数据库和数据源,Spring Boot 能根据这些配置与数据库交互。:允许应用根据不同环境使用不同配置,非常适合开发、测试和生产环境。连接数据库:应用在启动过程中就会连接数据库,JPA 和 Repository 提供了便捷的数据库操作功能。原创 2025-04-25 01:30:00 · 1066 阅读 · 0 评论 -
【云原生技术】Spring Boot、Spring Cloud、JPA 设置、Spring Profiles 以及 应用配置文件的使用
通过这种结构化整理,你可以清晰地理解 Spring Boot 和 Spring Cloud 相关概念及其相互关系。这些概念涵盖了应用程序的配置、数据访问、服务管理等多个方面,为你未来的开发工作奠定了良好的基础。原创 2025-04-26 01:15:00 · 1735 阅读 · 0 评论 -
【云原生技术】如何解决pom-fat.xml 与原 pom.xml 的依赖配置未完全隔离,导致 Maven 解析时触发了多版本传递路径
• 优先级排序:直接声明 >原创 2025-05-09 00:45:00 · 1239 阅读 · 0 评论 -
【云原生技术】Java应用启动的工作原理是什么?
是基础框架,提供便捷的开发和配置方式。是用于微服务架构的高级框架,增强了 Spring Boot 的功能。Bootstrap 阶段是 Spring Cloud 特有的,负责加载配置和服务注册。是一种环境变量,用于传递配置参数。Java 应用不必依赖 Spring Boot,启动原理涵盖了类加载、对象实例化和上下文初始化等过程。通过这个简单的例子,您可以看到 Spring Boot 提供的易用性和强大功能。自动配置:你不需要手动配置 Tomcat 和其他依赖,Spring Boot 会为你处理。原创 2025-04-26 00:30:00 · 942 阅读 · 0 评论 -
【云原生技术】mvn deploy是干嘛的?
(通常是 Nexus、Artifactory、JFrog、AWS CodeArtifact 等)。• 上传失败找不到目标路径:仓库中未为该 groupId 开启相应 hosted-repo;= “打包 + 安装 + 上传到远程仓库”,是将代码产物正式交付给其他项目或生产流程的最后一步。• 多模块项目:父 POM 必须放在最上层 module,否则上传顺序可能被仓库拒绝。会自动完成编译、测试、打包、安装(写入本地仓库)之后再上传远程仓库。,然后再上传到远程仓库,供团队或 CI/CD 服务器使用。原创 2025-04-23 03:00:00 · 211 阅读 · 0 评论 -
【云原生技术】dockerfile里面可以配置容器中启动java应用命令吗?
只要把java …写在这两条指令中,镜像启动(docker run、Compose、K8s 等)时就会自动执行该 Java 应用,无需再手动在docker run后面拼命令。一、最常见写法说明• 采用exec形式(JSON 数组),可避免/bin/sh -c额外进程;• 想在运行时追加参数,例如,可在docker run二、ENTRYPOINT + CMD 组合如需覆盖CMD若要连 ENTRYPOINT 一起替换,可在运行时加。三、用脚本封装(便于注入 JAVA_OPTS)原创 2025-04-24 00:45:00 · 920 阅读 · 0 评论 -
【云原生技术】Spring Cloud 除了有bootstrap 阶段,还有哪些阶段?
Spring Cloud 提供了丰富的特性来支持微服务架构的开发和管理。这些阶段从引导阶段到监控阶段,每个阶段都发挥着重要作用,确保微服务系统的健壮性、可伸缩性和可维护性。理解这些阶段可以帮助开发者更有效地设计和实现复杂的分布式系统。原创 2025-04-25 00:15:00 · 1004 阅读 · 0 评论 -
【云原生技术】同一分支下多个版本pom.xml,如何确保在部署 pom-fat.xml 时不受默认 pom.xml 的依赖版本影响
同一个分支下,有两个pom,pom.xml 和pom-fat.xml,我的java项目拉依赖的时候存在传递性依赖,pom里面配置的和pom-fat的配置,拉取的依赖的版本会不一样,那如果我想要deploy pom-fat版本的,我的mvn命令应该怎么写,不会让pom里面的包影响到?中声明所需依赖版本(优先级高于传递性依赖)。• 统一版本管理:如果使用多模块结构,可在。通过分析输出,定位并解决潜在的版本冲突。中统一管理版本,避免传递性依赖冲突。或直接声明依赖版本,确保优先级。的影响,确保部署时仅使用。原创 2025-05-08 15:39:46 · 427 阅读 · 0 评论 -
【云原生技术】两条思路把Smart-Sugar 插件收集到的依赖包
• Smart-Sugar 的 GET /api/tree 就是最方便的查询接口,取到的 JSON 完整保留所有依赖信息。• 如果不方便访问服务端,用 dumpFile 让插件本地生成同份数据。• 纯粹想看/拿依赖,Maven 自带的 dependency:* 系列 goal 也可以独立完成。原创 2025-05-18 00:45:00 · 591 阅读 · 0 评论 -
【云原生技术】mvn clean complie 和mvn -f pom-fat.xml -B clean compile -revision=FAT-1.0-SNAPSHOT的区别是什么
第一条是“本地默认 POM + 交互模式”,第二条是“指定 POM + 批处理 + 传入版本属性”的 CI 友好版,构建逻辑(clean → compile)一致,但作用域与生成的产物可能完全不同。第二条是在“指定 POM + 无交互 + 动态版本”这一 CI 友好环境中,完成与相同的测试构建流程;不同的 POM 文件和版本属性可能让产物内容、名称乃至编译目标大相径庭。原创 2025-05-11 00:30:00 · 744 阅读 · 0 评论 -
【云原生技术】 Servlet、Spring Framework、Spring Boot 和 Spring Cloud 及其关系的详细解释
Servlet是 Java Web 应用的一部分,用于处理 HTTP 请求和响应。是一个全面的 Java 开发框架,提供强大的功能支持。和是 Spring Framework 的扩展,分别用于快速应用开发和微服务架构。CRUD 操作是数据管理的基本操作,适用于几乎所有数据库交互场景。原创 2025-05-11 01:00:00 · 703 阅读 · 0 评论 -
【云原生技术】如何在 Jenkins 中安装 OWASP Dependency-Check 插件
如之前所述,您需要脚本来将 Maven 依赖转换为 JSON 格式,然后用脚本进行比对。通过在 Jenkins 中使用 OWASP Dependency-Check 插件,您可以自动化检查项目依赖项中的安全性,并与公司标准清单进行有效比对。此外,利用自定义的依赖提取和比对脚本,可以确保使用的第三方组件符合公司的标准。通过这种组合,您可以提高代码库的安全性和合规性。原创 2025-05-14 00:15:00 · 938 阅读 · 0 评论 -
【云原生技术】要确认容器里有没有在指定端口监听,常用的做法是进入容器执行网络命令,或查看应用日志
通过上面方法,能判断容器是否真的监听了Liveness/Readiness探活所配置的端口,并进一步排查端口配置不一致或应用尚未启动完成等问题。依然提示 “Connection refused”,通常意味着容器里没有任何进程在该端口上监听,或者监听尚未就绪。” 是 Service 端口(集群内访问时用),“要确认容器里有没有在指定端口监听,常用的做法是。进入容器后,就能在容器里的终端执行命令了。在 Deployment(或 Pod)的。在 Kubernetes 中,在 Service 的。原创 2025-05-10 00:30:00 · 837 阅读 · 0 评论 -
【云原生技术】 Smart-Sugar Maven 插件的使用方法、POM 片段中各字段作用,以及“为什么一加这段配置就能在浏览器里看到依赖树”的工作原理
• Smart-Sugar Maven 插件通过 依赖树采集 ➜ JSON ➜ HTTP 上传 把本地构建信息同步到 Smart-Sugar Server。• POM 里的 groupId/artifactId/version 用来下载插件本身;showLog & url 是插件的自定义参数。• 配置生效后,只要执行一次 Maven 构建,服务端就立刻收到了依赖数据,因此浏览器能够实时展示。原创 2025-05-16 16:36:57 · 929 阅读 · 0 评论 -
【云原生技术】./gradlew这个命令是干嘛的?
/gradlew命令是用来执行 Gradle 构建相关任务的工具,Gradle Wrapper 提供了一种一致的构建环境,使得项目构建和依赖管理更为简单和高效。原创 2025-05-13 00:45:00 · 853 阅读 · 0 评论 -
【云原生技术】mvn -f 的作用是什么?
mvn -f 就是“换入口 POM”的开关:• 只解析指定的那一份 POM;• 让你在同一源码树里自由切换不同构建方案;• 只能指定一个文件,不能用通配符。原创 2025-05-10 00:15:00 · 280 阅读 · 0 评论 -
【云原生技术】Spring Framework Spring Boot 和 Spring Cloud的关系与区别
是一个开源框架,旨在简化 Java 企业级应用程序的开发。控制反转(IoC):通过 IoC 容器管理对象的创建和生命周期,提高松耦合性。面向切面编程(AOP):支持横切关注点的处理,例如日志记录和事务管理。数据访问:方便地集成各种数据访问技术,如 JDBC 和 Hibernate。Web 开发支持:提供 Spring MVC 构建 Web 应用程序的能力。是 Spring Framework 的一个子项目,旨在简化 Spring 应用程序的配置和开发过程。原创 2025-05-12 00:15:00 · 957 阅读 · 0 评论 -
【云原生技术】Smart-Sugar 插件 有get依赖信息的api接口吗?
• “GET 依赖信息的 API” 并不在 插件,而在 Smart-Sugar Server。• 官方 Server 已经实现了一整套 REST 接口(如 /api/tree),可直接用;自建 Server 只要遵循相同 JSON 结构,也可以暴露任意查询端点。原创 2025-05-16 16:40:14 · 696 阅读 · 0 评论 -
【云原生技术】Tomcat、Spring MVC 和 JPA 的 EntityManager 的详细使用场景介绍
1. Tomcat 使用场景1.1 什么是 Tomcat?1.2 使用场景2. Spring MVC 使用场景2.1 什么是 Spring MVC?2.2 使用场景3. JPA 的 EntityManager 使用场景3.1 什么是 JPA 的 EntityManager?3.2 使用场景3.3 详细示例3.3.1 使用 Tomcat3.3.2 使用 Spring MVC3.3.3 使用 JPA 的 EntityManager总结下面是针对TomcatSpring MVC和。原创 2025-05-12 02:00:00 · 581 阅读 · 0 评论 -
【云原生技术】Smart-Sugar服务端 REST 接口地址。插件会把 JSON POST 到这个 URL,这个服务端是指谁的服务端?我可以用我自己的服务器的url去接受这串json吗?
Smart-Sugar 体系分两部分: • **客户端**:`smart-sugar-maven-plugin`(你在 POM 里声明的插件)。 • **服务端**:与插件配套的 **Smart-Sugar Web/REST** 应用,默认启动后会暴露接口 `POST /smartsugar/api/tree`、`GET /smartsugar/api/tree?id=…` 等,用来接收依赖树并把结果存库,再由前端页面可视化。一句话:插件只是“采集 + 上传”,真正保存数据、渲染页面的是原创 2025-05-17 00:30:00 · 1294 阅读 · 0 评论 -
【云原生技术】mvn生命周期有哪些阶段?
Maven 一共有 3 条内建生命周期(Lifecycle),每条生命周期由若干组成。最常用的是默认生命周期,其余两条很少直接调用,这里一起列出。原创 2025-05-10 00:45:00 · 923 阅读 · 0 评论 -
【云原生技术】两种常见做法让 Smart-Sugar Maven 插件把它上传到服务端的那份依赖树 JSON 同时落到本地磁盘
把 `<dumpFile>…</dumpFile>` 填进 `<configuration>`,或运行时加 `-Dsugar.dump=…`,插件就会把同一份依赖树 JSON 写到本地文件。 • 生成的内容与上传给 Smart-Sugar Server 的完全一致——可直接用来离线分析、入库、做 GitLab Artifacts 等。原创 2025-05-17 01:00:00 · 222 阅读 · 0 评论 -
【云原生技术】三方组件检查介绍
1. 三方组件检查的必要性1.1 潜在风险2. 需要检查的内容2.1 安全检查2.2 许可证合规性2.3 版本一致性3. 如何进行三方组件检查3.1 使用工具3.2 方法示例4. 配置阈值的意义4.1 定义阈值4.2 配置原因5. 保证依赖版本与公司规定一致5.1 使用版本管理工具5.2 依赖清单比较5.3 举例实现5.4 流水线和标准维护总结三方组件(即第三方库或依赖)是软件项目中使用的外部代码包或库,这些代码通常并非由项目的开发团队直接编写,而是由其他开发者或公司提供。原创 2025-05-13 00:45:00 · 1061 阅读 · 0 评论 -
【云原生技术】虚机和物理机是可以一起正常用的吗?
虚拟机和物理机的结合在现代IT架构中非常常见,能够灵活应对多种业务需求。通过合理的配置和管理,它们可以有效地共同工作。需要注意的是,实施过程中务必关注网络和安全配置,以确保系统的稳定性和安全性。物理机与虚拟机之间的连通是可以实现的,前提是正确配置网络和防火墙设置。通过合适的网络模式和配置,物理机可以方便地访问虚拟机中的服务和资源。原创 2025-05-14 00:45:00 · 410 阅读 · 0 评论 -
【云原生技术】mvn smart-sugar:tree 和mvn dependency:tree 两种方式得到的依赖信息区别
dependency:tree 重在“即时人眼查看”;smart-sugar:tree 在解析层面与之相同,但通过 JSON+持久化+WebUI 把依赖数据“资产化”,更适合合规、安全、统计等后续场景。如果你只想确认眼前有没有版本冲突,直接用官方 dependency:tree;如果你希望“一次构建→团队都能在网页上看到依赖、License、CVE”,或者把数据交给下游系统处理,就用 Smart-Sugar 的 tree/upload。原创 2025-05-18 01:00:00 · 903 阅读 · 0 评论 -
【云原生技术】后端定时任务失败的时候,前台页面可以做到实时通知吗
将“任务失败”事件写入队列,再用 WebSocket / SSE 把最新待处理数量推送给前端即可实现真正实时的红圈提示;轮询只能作为兼容兜底方案。原创 2025-05-15 00:30:00 · 483 阅读 · 0 评论 -
【云原生技术】镜像和容器的关系是什么?
镜像 Image • 只读模板:包含文件系统快照(可执行文件、依赖、配置默认值)和元数据(Entrypoint、Env 等)。 • 静态工件:放在本地或镜像仓库(Registry)里,像 “安装包/ISO”。容器 Container • 镜像的运行时实例:启动时把镜像解压成多层文件系统,再加一层可写层(Copy-on-Write)。 • 有进程、有 PID 与 网络 命名空间,真正消耗 CPU/内存。 • 生命周期短:停止或删除后,可写层一起消失;镜像本身不变,可被拿去再启新容器。原创 2025-05-24 00:15:00 · 150 阅读 · 0 评论 -
【云原生技术】SonarQube如何重启
# 1. Linux 系统服务(最常见)────────────────────────────• systemd sudo systemctl restart sonarqube• SysV init(老系统) sudo service sonarqube restart # 或 sudo /etc/init.d/sonarqube restart────────────────────────────# 2. 直接用自带脚本──────────原创 2025-05-24 00:30:00 · 217 阅读 · 0 评论 -
【云原生技术】./sonar.sh start 的时候报错 wrapper报错无法执行二进制文件
# 快速修复思路------------------------------------------------------------1. 换用官方 ZIP/TAR 包重新部署,确保解压到干净路径; 2. 确保服务器是 64-bit x86_64 且 glibc ≥ 2.17; 3. `chmod +x bin/linux-x86-64/wrapper`; 4. 再次执行 ```bash $SONAR_HOME/bin/linux-x86-64/sonar.sh start原创 2025-05-24 00:45:00 · 285 阅读 · 0 评论 -
【云原生技术】在你的 Jenkins 流水线中,如果你先进入一个 JDK 17 的容器,然后执行 `mvn compile` 和 SonarQube 扫描,这里有几个关键点需要注意
如果我是用的jenkinsfile走的流水线代码扫描流程,我jenkinsfile先进入到一个jdk17的容器里面,然后执行 mvn compile 然后进行sonar的代码扫描,我的代码项目是需要用jdk版本17编译构建的,但是我现在soanrqube装的版本是9.2.2 里面支持的jdk版本是jdk11,那么我的代码在进行扫描的时候会影响到我的代码扫描吗?我代码扫描的时候到底是jdk11还是jdk17?原创 2025-05-26 16:34:14 · 343 阅读 · 0 评论