從零搭建Cloud Alibaba

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…