1.初始环境的搭建

1.1环境要求:

  1. Spring Boot 3.2.5
    • 基于最新的 Spring Framework 6.x。
    • 支持现代化开发模式,帮助开发更加高效。
  1. JDK 17 或更高版本:
    Spring Boot 3.x 开始要求 Java 17 作为最低运行环境。

Spring Boot 与 Spring Cloud Alibaba 版本对应关系

  • 2023.x 分支对应的是 Spring Cloud 2023 与 Spring Boot 3.2.x,最低支持 JDK 17。

请根据您使用的 Spring Boot 版本,选择兼容的 Spring Cloud Alibaba 版本

Spring Boot Version

Spring Cloud Alibaba Version

Spring Cloud Version

3.0.2

2022.0.0.0

Spring Cloud 2022.0.0

3.0.2

2022.0.0.0-RC2

Spring Cloud 2022.0.0

3.0.0

2022.0.0.0-RC1

Spring Cloud 2022.0.0

2.6.13

2021.0.5.0

Spring Cloud 2021.0.5

2.6.11

2021.0.4.0

Spring Cloud 2021.0.4

2.6.3

2021.0.1.0

Spring Cloud 2021.0.1

2.4.2

2021.1

Spring Cloud 2020.0.1

2.3.12.RELEASE

2.2.10-RC1

Spring Cloud Hoxton.SR12

2.3.12.RELEASE

2.2.9.RELEASE

Spring Cloud Hoxton.SR12

2.3.12.RELEASE

2.2.8.RELEASE

Spring Cloud Hoxton.SR12

2.3.12.RELEASE

2.2.7.RELEASE

Spring Cloud Hoxton.SR12

2.3.2.RELEASE

2.2.6.RELEASE

Spring Cloud Hoxton.SR9

2.2.5.RELEASE

2.2.1.RELEASE

Spring Cloud Hoxton.SR3

2.2.X.RELEASE

2.2.0.RELEASE

Spring Cloud Hoxton.RELEASE

2.1.13.RELEASE

2.1.4.RELEASE

Spring Cloud Greenwich.SR6

2.1.X.RELEASE

2.1.2.RELEASE

Spring Cloud Greenwich

2.0.X.RELEASE

2.0.4.RELEASE(停止维护,建议升级)

Spring Cloud Finchley

1.5.X.RELEASE

1.5.1.RELEASE(停止维护,建议升级)

Spring Cloud Edgware

1.2.创建Spring Boot 作为父工程

将Spring boot版本更换为3.2.5

将此项目作为父工程使用,引入Spring cloud及其Spring Cloud Alibaba的版本控制:    <dependencyManagement> 该标签表示控制子工程引入这些依赖时的版本,子工程引入该依赖不需要写版本号

<dependencyManagement><dependencies><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>2023.0.1.0</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>2023.0.3</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>

完整Maven

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><!-- 定义版本属性 --><properties><java.version>17</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><spring-boot-version>3.2.5</spring-boot-version><!-- 版本的控制--><spring-cloud-alibaba-dependencies-version>2023.0.1.0</spring-cloud-alibaba-dependencies-version><spring-cloud-dependencies-version>2023.0.3</spring-cloud-dependencies-version></properties><modelVersion>4.0.0</modelVersion><!-- 父工程 坐标--><groupId>com.xiaog</groupId><artifactId>xiaoG-Cloud</artifactId><version>0.0.1-SNAPSHOT</version><name>xiaoG-Cloud</name><description>xiaoG-Cloud</description><!-- ✅聚合工程 必须设置为 pom --><packaging>pom</packaging><!-- 模块(当父工程使用Maven命令时子工程也一并执行该命令) --><modules><module>cloud-order</module></modules><!--子工程继承父工程时会自动继承dependencies 中的包--><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!-- 引入SpringCloud的依赖 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud-dependencies-version}</version><type>pom</type><scope>import</scope></dependency><!--引入alibaba依赖--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring-cloud-alibaba-dependencies-version}</version><type>pom</type><scope>import</scope></dependency></dependencies><!--该标签用户控制子模块 引入这些包时不需要写版本号--><dependencyManagement><dependencies><!-- 引入SpringCloud Alibaba的依赖 --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring-cloud-alibaba-dependencies-version}</version><type>pom</type><scope>import</scope></dependency><!-- 引入SpringCloud的依赖 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud-dependencies-version}</version><type>pom</type><scope>import</scope></dependency><!-- 引入SpringBoot的依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${spring-boot-version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><configuration><source>17</source><target>17</target><encoding>UTF-8</encoding></configuration></plugin><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>${spring-boot-version}</version><configuration><mainClass>com.xiaog.xiaogcloud.XiaoGCloudApplication</mainClass><skip>true</skip></configuration><executions><execution><id>repackage</id><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></build></project>

1.3安装 配置 nacos

发布历史 | Nacos 官网

去到该官网选择合适的naocs版本,本篇文章采用Nacos 2.3.2,的Windows版本。

        选择版本的小技巧,ctrl+左键点击进入,搜索nacos,里面会写有需要哪个版本的Nacos客户端

解压后进入文件夹,创建对应所需要的数据库进行持久化,否者重启数据就会丢失

先执行命令

CREATE DATABASE nacos2_3_2;

创建对应的数据库

在该库下执行该sql命令 创建对应的表

修改nacos的连接数据库的配置文件 application.properties

回到主目录,将bin/startup.cmd 修改为单机启动,默认使用集群启动

将 cluster 更换为 standalone

然后双击 startup.cmd 启动Nacos

访问http://localhost:8848/nacos

进入该页面表示启动成功

2.创建订单服务

在父工程下新建模块

新建模块口诀,建pom 写 yml 启动类

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.xiaog</groupId><artifactId>cloud-order</artifactId><version>0.0.1-SNAPSHOT</version><name>cloud-order</name><description>cloud-order</description><properties><java.version>17</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding></properties><parent><groupId>com.xiaog</groupId><artifactId>xiaoG-Cloud</artifactId><version>0.0.1-SNAPSHOT</version></parent><dependencies></dependencies></project>

然后再添加服务注册 和 服务发现 依赖:

    <!--集成 Nacos 作为配置中心。--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency><!--集成 Nacos 作为服务注册中心。--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency>

配置yml配置文件

server:port: 8081spring:application:name: order-service # 服务名称 表示这个服务cloud:nacos:#指定 Nacos 服务器的地址,这里是本地运行的 Nacos 服务serverAddr: 127.0.0.1:8848config:import:#含义:从 Nacos 配置中心加载与当前应用名称(spring.application.name)匹配的配置文件。#optional 如果找不到该文件则不报错- optional:nacos:${spring.application.name}.yaml

启动类上加上

@EnableDiscoveryClient
注解

启动服务

查看nacos服务

服务注册成功

3.创建库存服务

先建目录

口诀:先建pom再建yml 最后启动类

添加为Maven项目

复制订单服务的Maven内容,粘贴到库存服务中

并修改画红线的位置为cloud-stock

完整maven为:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.xiaog</groupId><artifactId>cloud-stock</artifactId><version>0.0.1-SNAPSHOT</version><name>cloud-stock</name><description>cloud-stock</description><properties><java.version>17</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding></properties><parent><groupId>com.xiaog</groupId><artifactId>xiaoG-Cloud</artifactId><version>0.0.1-SNAPSHOT</version></parent><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--集成 Nacos 作为配置中心。--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency><!--集成 Nacos 作为服务注册中心。--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency></dependencies></project>

建yml

server:port: 8084spring:application:name: stock-servicecloud:nacos:serverAddr: 127.0.0.1:8848config:import:#含义:从 Nacos 配置中心加载与当前应用名称(spring.application.name)匹配的配置文件。#optional 如果找不到该文件则不报错- optional:nacos:${spring.application.name}.yaml

启动类:

@SpringBootApplication
@EnableDiscoveryClient
public class CloudStockApplication {public static void main(String[] args) {SpringApplication.run(CloudStockApplication.class, args);}}

完整:结构

启动服务

查看nacos

服务添加成功

4.编写Api公共模块(OpenFeign远程调用)

使用Api模块可以使调用进行分离,还可以将实体类放入该模块进行统一管理。

结构如下(不需要启动类 yml 和web框架的引用)

maven:(包含OpenFeign的依赖及loadbalancer(必须两个依赖一起引入),不需要指定版本的原因是父类中指定了coud 的版本,会自动帮忙选择合适的Openfeign版本)

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.xiaog</groupId><artifactId>cloud-api-commons</artifactId><version>0.0.1-SNAPSHOT</version><name>cloud-api-commons</name><description>cloud-api-commons</description><properties><java.version>17</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding></properties><parent><groupId>com.xiaog</groupId><artifactId>xiaoG-Cloud</artifactId><version>0.0.1-SNAPSHOT</version></parent><dependencies><!--lombok--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.28</version><scope>provided</scope></dependency><!--openfeign--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency><!--LoadBalancer--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-loadbalancer</artifactId></dependency></dependencies><packaging>jar</packaging><!--    <build>-->
<!--        <plugins>-->
<!--            &lt;!&ndash; 彻底跳过从父工程继承的 spring-boot-maven-plugin &ndash;&gt;-->
<!--            <plugin>-->
<!--                <groupId>org.springframework.boot</groupId>-->
<!--                <artifactId>spring-boot-maven-plugin</artifactId>-->
<!--                <executions>-->
<!--                    <execution>-->
<!--                        <phase>none</phase> &lt;!&ndash; 表示不执行 &ndash;&gt;-->
<!--                    </execution>-->
<!--                </executions>-->
<!--                <configuration>-->
<!--                    <skip>true</skip> &lt;!&ndash; 可选 &ndash;&gt;-->
<!--                </configuration>-->
<!--            </plugin>--><!--            &lt;!&ndash; 保证普通 jar 被正常打包 &ndash;&gt;-->
<!--            <plugin>-->
<!--                <groupId>org.apache.maven.plugins</groupId>-->
<!--                <artifactId>maven-jar-plugin</artifactId>-->
<!--                <version>3.3.0</version>-->
<!--                <configuration>-->
<!--                    <skipIfEmpty>false</skipIfEmpty>-->
<!--                </configuration>-->
<!--            </plugin>-->
<!--        </plugins>--><!--    </build>--></project>

给父工程maven添加模块

    <!-- 模块(当父工程使用Maven命令时子工程也一并执行该命令) --><modules><module>cloud-order</module><module>cloud-stock</module><module>cloud-api-commons</module></modules>

编写统一返回体

ResultData:
@Data
@Accessors(chain = true)
public class ResultData<T> {private String code;private String message;private T data;private long timestamp;//调用方法的时间戳public ResultData() {this.timestamp = System.currentTimeMillis();}public static <T> ResultData<T> success(T data) {ResultData<T> resultData = new ResultData<>();resultData.setCode(ReturnCodeEnum.RC200.getCode());resultData.setMessage(ReturnCodeEnum.RC200.getMessage());resultData.setData(data);return resultData;}public static <T> ResultData<T> fail(String code, String message) {ResultData<T> resultData = new ResultData<>();resultData.setCode(code);resultData.setMessage(message);return resultData;}
}
ReturnCodeEnum:
@Getter
public enum ReturnCodeEnum {//1.举值RC999("999", "操作XXX失败"),RC200("200", "success"),RC201("201", "服务开启降级保护,请稍后再试!"),RC202("202", "热点参数限流,请稍后再试!"),RC203("203", "系统规则不满足要求,请稍后再试!"),RC204("204", "授权规则不通过,请稍后再试!"),RC403("403", "无访问权限,请联系管理员授予权限"),RC401("401", "匿名用户访问无权限资源时的异常"),RC404("404", "404页面找不到的异常"),RC500("500", "系统异常,请稍后重试"),RC375("375", "数学运算异常,请稍后重试"),INVALID_TOKEN("2001", "访问令牌不合法"),ACCESS_DENIED("2003", "没有权限访问该资源"),CLIENT_AUTHENTICATION_FAILED("1001", "客户端认证失败"),USERNAME_OR_PASSWORD_ERROR("1002", "用户名或密码错误"),BUSINESS_ERROR("1004", "业务逻辑异常"),UNSUPPORTED_GRANT_TYPE("1003", "不支持的认证模式");//2.构造private final String code;//自定义状态码,对应前面枚举的第一个参数private final String message;//自定义信息,对应前面枚举的第二个参数ReturnCodeEnum(String code, String message) {this.code = code;this.message = message;}//3.遍历public static ReturnCodeEnum getReturnCodeEnum(String code) {//传入一个状态码,如果有,就返回整个枚举信息,如果没有就返回空for (ReturnCodeEnum element : ReturnCodeEnum.values()) {if (element.getCode().equalsIgnoreCase(code)) {return element;}}return null;}}

目前为止我们的远程服务就搭建得差不多完成了。

Api模块引入库存服务订单服务中   ,此时还需要在库存服务中编写一个扣减库存的controller和在Api模块编写一个远程扣减库存调用的接口,实现在订单服务下单时远程调用库存扣减接口

1.库存服务 订单服务都 引入Api模块

        <dependency><groupId>com.xiaog</groupId><artifactId>cloud-api-commons</artifactId><version>0.0.1-SNAPSHOT</version></dependency>

库存服务cloud-stock中编写一个Controller

@RestController
@RequestMapping("/praise")
public class StockManageController {//扣减库存@GetMapping("/reduceInventory")public ResultData<String> reduceInventory() {return ResultData.success("扣减库存成功");}}

在Api公共模块中编写调用接口

//value 指定生产者服务名称 ,也就是stock模块中的 yml 文件中的 spring.application.name
//path 指定生产者服务中的请求路径
@FeignClient(name = "stock-service",path = "/praise")
public interface stockApi {//库存扣减@GetMapping("/reduceInventory")public ResultData<String> reduceInventory() ;}

在订单服务创建Controller并尝试远程调用

@RestController
public class orderManageController {@Autowired  // 注入stockApiprivate com.xiaog.api.stockApis.stockApi stockApi;@RequestMapping("/createOrder")public String createOrder(){ResultData<String> stringResultData = stockApi.reduceInventory();if (stringResultData.getCode().equals("200")) {System.out.println("库存服务返回消息为"+stringResultData.toString());return "被调用者 库存服务返回消息为"+stringResultData.toString()+"创建订单成功";}return "创建失败";}
}

并在订单启动类上打上启动OpenFeign注解

访问地址 localhost:8082/createOrder

返回

表示远程调用成功

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/90043.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/90043.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/90043.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring AI 工具调用

文章目录简述工具定义工具上下文直接返回方法&#xff1a;直接返回工具执行框架控制工具执行用户控制的工具执行异常处理简述 工具调用&#xff08;也称为函数调用&#xff09;是 AI 应用程序中的一种常见模式&#xff0c;允许模型与一组 API 或工具进行交互&#xff0c;从而增…

GitHub 趋势日报 (2025年07月20日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图2033maybe737remote-jobs674Hyprland581n8n572shadPS4341bknd281Resume-Matcher249…

替代标准库:实用 C++ 开源组件推荐

C17 及 C20 引入了许多现代化的标准库组件&#xff0c;如 std::filesystem、std::optional、std::format、std::chrono 的增强&#xff0c;以及 std::expected 等。然而&#xff0c;在一些项目中&#xff0c;受限于老版本编译器、不完善的标准库实现&#xff0c;或跨平台兼容性…

夯实基础:配置Java开发环境JDK与构建工具Maven

摘要&#xff1a;在前面两个章节中&#xff0c;我们一同探讨了Spring Boot的革命性优势&#xff0c;并深入其内部&#xff0c;理解了起步依赖、自动配置和内嵌容器这三大核心基石。理论的铺垫是为了更稳健的实践。从本章开始&#xff0c;我们将正式“卷起袖子”&#xff0c;搭建…

PyCharm 未正确关联 .jpg 为图片格式

1. PyCharm 未正确关联 .jpg 为图片格式PyCharm 可能错误地将 .jpg 文件识别为文本文件&#xff0c;导致无法预览图片。解决方法手动关联 .jpg 为图片格式&#xff1a;Windows/Linux: File → SettingsmacOS: PyCharm → Preferences进入 Editor → File Types。在 Recognized …

DM8数据库Docker镜像部署最佳实践

DM8数据库Docker镜像部署最佳实践一、Docker加载DM8镜像二、Docker创建DM8容器三、验证目录是否挂载成功一、Docker加载DM8镜像 1.下载DM8镜像&#xff0c;由于官网暂未提供docker镜像下载&#xff0c;可通过网盘下载&#xff1a;https://pan.quark.cn/s/fe38ba821a2a 2.打开…

数据结构——树(2)

数据结构基础&#xff08;12&#xff09; 文章目录数据结构基础&#xff08;12&#xff09;二叉树的先序遍历先序遍历中序遍历后序遍历二叉树的层序遍历由遍历序列构造二叉树前序 中序遍历序列后序 中序遍历序列层序 中序遍历序列二叉树的中序遍历&#xff08;缺点&#xff…

【C语言进阶】结构体练习:通讯录

要求&#xff1a; 实现一个通讯录。 (1)人的信息&#xff1a; 包括姓名、年龄、性别、电话地址。 (2)功能&#xff1a; ①存放一百个人的信息。 ②增加联系人。 ③删除指定联系人。 ④查找指定联系人。 ⑤修改联系人。 ⑥排序。 ⑦显示联系人。 (3)文件&#xff1a; ①contact.…

缓存三剑客解决方案

缓存三剑客解决方案 1.缓存雪崩 定义&#xff1a; 大量缓存数据在同一时间点集体失效&#xff0c;导致所有请求直接穿透到数据库&#xff0c;引发数据库瞬时高负载甚至崩溃。 解决方案&#xff1a; 设置过期随机值&#xff0c;避免大量缓存同时失效。 // 缓存雪崩防护&#xff…

HTML 页面禁止缩放功能

页面禁止缩放 代码如下&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"utf-8"><meta name"viewport" content"widthdevice-width, initial-scale1, shrink-to-fitno, maximum-scale1.0, us…

在github上搭建自己主页

主要是这篇博客进行一些补充。 第一步照做就行 首先是第二步 克隆仓库到本地 先下载一个git&#xff0c;电脑创建一个新文件夹&#xff0c;然后 git clone xxxxx 注意即使你使用了代理&#xff0c;这里大概率也会报错&#xff0c;Failed to connect to github.com port 443 …

Laravel 框架NOAUTH Authentication required 错误解决方案-优雅草卓伊凡

Laravel 框架NOAUTH Authentication required 错误解决方案-优雅草卓伊凡NOAUTH Authentication required 错误这个错误通常出现在以下几种情况&#xff1a;Redis 认证问题&#xff1a;如果你的应用使用了 Redis 且配置了密码API 认证问题&#xff1a;请求需要认证的 API 端点但…

kafka生产端和消费端的僵尸实例以及解决办法

目录 一 生产端僵尸 1.1 原因 1.2 问题 1.3解决办法 1.4 案例 1.4.1 案例1&#xff1a;生产者崩溃后重启 (同一 transactional.id) 1.4.2 案例2&#xff1a;短暂网络分区导致的脑裂 1.4.3 案例3&#xff1a;正确 - 解决僵尸 1.4.4 案例4&#xff1a;错误 - 无法解决僵…

国产电科金仓数据库金仓KES V9 2025:AI时代的数据库融合标杆

国产电科金仓数据库金仓KES V9 2025&#xff1a;AI时代的数据库融合标杆 在AI技术迅猛发展的今天&#xff0c;企业数据管理面临着前所未有的挑战&#xff1a;异构数据库兼容难题、多数据模型融合需求、高并发场景性能瓶颈、跨中心容灾压力……这些痛点如同数据流转的大问题&am…

【STM32】关于STM32F407写Flash失败问题的解决办法

问题描述 在使用正点原子的STM32F407写flash例程时&#xff0c;发现STMFLASH_Write函数没办法写入数据到flash&#xff0c;原始代码输入下&#xff1a; 随后对每一行代码的结果进行分析&#xff0c;发现87行的“FLASH_ProgramWord(WriteAddr,*pBuffer)”返回值是7&#xff0c;一…

CUDA与RISC-V的融合:打破架构霸权,重塑AI计算未来

当x86和Arm统治数据中心十余年后,一家GPU巨头正悄悄将十亿颗RISC-V核心嵌入其系统。如今,它决定拆除CPU架构的围墙。 2025年7月,上海张江科学会堂。英伟达硬件工程副总裁Frans Sijstermanns在第五届RISC-V中国峰会上宣布:英伟达正式启动CUDA向RISC-V架构的移植工作。 这个…

微信二维码扫描登录流程详解

二维码扫描登录流程细节&#xff08;项目经验&#xff09; 1&#xff1a; 获取二维码信息 PC会优先存放服务器生成的唯一密钥&#xff1a; 比如 source、secret 以密文形式存储大致发送字段&#xff1a; sourcesecretmac(mac 地址) 服务器生成 二维码信息&#xff1a;二维码字符…

日本上市IT企业|8月125日将在大连举办赴日it招聘会

株式会社GSD的核心战略伙伴贝斯株式会社&#xff0c;将于2025年8月25日在大连香格里拉大酒店商务会议室隆重举办赴日技术人才专场招聘会。本次招聘会面向全国范围内的优秀IT人才&#xff0c;旨在为贝斯株式会社东京本社长期发展招募优质的系统开发与管理人才。招聘计划&#xf…

Python 数据分析与可视化:从基础到进阶的技术实现与优化策略

数据分析与可视化是数据科学领域的核心技能,Python 凭借其丰富的库生态和灵活的编程范式,成为该领域的首选工具。本文将系统讲解 Python 数据分析与可视化的技术栈实现,从基础操作到性能优化,结合实战场景提供可复用的解决方案。 数据分析核心库技术解析 Pandas 数据处理…

Rust Web 全栈开发(十):编写服务器端 Web 应用

Rust Web 全栈开发&#xff08;十&#xff09;&#xff1a;编写服务器端 Web 应用Rust Web 全栈开发&#xff08;十&#xff09;&#xff1a;编写服务器端 Web 应用创建成员库&#xff1a;webappmodelshandlersrouterserrorsmodsvrstaticteachers.htmlregister.htmlbootstrap.m…