springcloud簡單了解及上手

springcloud微服務框架簡單上手

文章目錄

  • springcloud微服務框架簡單上手
    • 一、SpringCloud簡單介紹
      • 1.1 單體架構
      • 1.2 分布式架構
      • 1.3 微服務
    • 二、SpringCloud與SpringBoot的版本對應關系
      • 2022.x 分支
      • 2021.x 分支
      • 2.2.x 分支
    • 三、Nacos注冊中心
      • 3.1 認識和安裝Nacos
      • 3.2 配置Nacos
      • 3.3 nacos部署springboot項目
    • 四、http客戶端Feign
      • 4.1 Feign的介紹
      • 4.2 自定義實現Feign
      • 4.3 Feign實踐
    • 五、統一網關Gateway
      • 5.1 為什么要使用網關
      • 5.2 搭建網關服務
      • 5.3 測試網關GateWay

前言:作者是通過自己的項目所運用作為講解,分享只是作者用到的方面

一、SpringCloud簡單介紹

  • SpringCloud是目前國內使用最廣泛的微服務框架。官網地址:https://spring.io/projects/spring-cloud。
  • SpringCloud集成了各種微服務功能組件,并基于SpringBoot實現了這些組件的自動裝配,從而提供了良好的開箱即用體驗:

在這里插入圖片描述

1.1 單體架構

單體架構:將業務的所有功能集中在一個項目中開發,打成一個包部署。

**優點 **:
架構簡單
部署成本低

缺點
耦合度高

如下就是簡單的單體架構圖

在這里插入圖片描述

1.2 分布式架構

分布式架構:根據業務功能對系統進行拆分,每個業務模塊作為獨立項目開發,稱為一個服務。
優點
降低服務耦合
有利于服務升級拓展

如下就是簡單的分布式架構圖

在這里插入圖片描述

1.3 微服務

微服務:是一種經過良好架構設計的分布式架構方案

微服務架構特征
單一職責:微服務拆分粒度更小,每一個服務都對應唯一的業務能力,做到單一職責,避免重復業務開發
面向服務:微服務對外暴露業務接口
自治:團隊獨立、技術獨立、數據獨立、部署獨立
隔離性強:服務調用做好隔離、容錯、降級,避免出現級聯問題

如下就是簡單的微服務架構圖

在這里插入圖片描述

二、SpringCloud與SpringBoot的版本對應關系

2022.x 分支

適配 Spring Boot 3.0,Spring Cloud 2022.x 版本及以上的 Spring Cloud Alibaba 版本按從新到舊排列如下表(最新版本用*標記): (注意,該分支 Spring Cloud Alibaba 版本命名方式進行了調整,未來將對應 Spring Cloud 版本,前三位為 Spring Cloud 版本,最后一位為擴展版本,比如適配 Spring Cloud 2022.0.0 版本對應的 Spring Cloud Alibaba 第一個版本為:2022.0.0.0,第個二版本為:2022.0.0.1,依此類推)

Spring Cloud Alibaba VersionSpring Cloud VersionSpring Boot Version
2022.0.0.0*Spring Cloud 2022.0.03.0.2
2022.0.0.0-RC2Spring Cloud 2022.0.03.0.2
2022.0.0.0-RC1Spring Cloud 2022.0.03.0.0

2021.x 分支

適配 Spring Boot 2.4,Spring Cloud 2021.x 版本及以上的 Spring Cloud Alibaba 版本按從新到舊排列如下表(最新版本用*標記):

Spring Cloud Alibaba VersionSpring Cloud VersionSpring Boot Version
2021.0.5.0*Spring Cloud 2021.0.52.6.13
2021.0.4.0Spring Cloud 2021.0.42.6.11
2021.0.1.0Spring Cloud 2021.0.12.6.3
2021.1Spring Cloud 2020.0.12.4.2

2.2.x 分支

適配 Spring Boot 為 2.4,Spring Cloud Hoxton 版本及以下的 Spring Cloud Alibaba 版本按從新到舊排列如下表(最新版本用*標記):

Spring Cloud Alibaba VersionSpring Cloud VersionSpring Boot Version
2.2.10-RC1*Spring Cloud Hoxton.SR122.3.12.RELEASE
2.2.9.RELEASESpring Cloud Hoxton.SR122.3.12.RELEASE
2.2.8.RELEASESpring Cloud Hoxton.SR122.3.12.RELEASE
2.2.7.RELEASESpring Cloud Hoxton.SR122.3.12.RELEASE
2.2.6.RELEASESpring Cloud Hoxton.SR92.3.2.RELEASE
2.2.1.RELEASESpring Cloud Hoxton.SR32.2.5.RELEASE
2.2.0.RELEASESpring Cloud Hoxton.RELEASE2.2.X.RELEASE
2.1.4.RELEASESpring Cloud Greenwich.SR62.1.13.RELEASE
2.1.2.RELEASESpring Cloud Greenwich2.1.X.RELEASE
2.0.4.RELEASE(停止維護,建議升級)Spring Cloud Finchley2.0.X.RELEASE
1.5.1.RELEASE(停止維護,建議升級)Spring Cloud Edgware1.5.X.RELEASE
spring cloud alibaba、spring cloud、spring boot版本對應:來自 gitHub 中的spring cloud alibaba官方說明:https://github.com/alibaba/spring-cloud-alibaba/wiki/版本說明spring官網:https://spring.io/spring歷史官方文檔:https://docs.spring.io/spring-cloud/docs/spring離線依賴及文檔下載地址:https://repo.spring.io/ui/native/libs-release-local/org/springframework/

三、Nacos注冊中心

3.1 認識和安裝Nacos

Nacos 是一個開源的分布式服務發現、配置管理和服務管理平臺。它提供了服務注冊與發現、配置管理、服務健康監測等功能,可以幫助開發者構建和管理云原生微服務架構。

具體來說,Nacos 提供了以下核心功能:

  1. 服務注冊與發現(Service Discovery):允許服務實例注冊到 Nacos,并通過 Nacos 客戶端發現其他服務實例。這樣,服務之間可以動態地發現和通信,實現了微服務架構中的服務發現功能。
  2. 配置管理(Configuration Management):Nacos 提供了統一的配置管理平臺,允許開發者集中管理微服務的配置信息,支持配置的動態變更和實時推送,從而提高了配置管理的靈活性和可靠性。
  3. 服務健康監測(Health Check):Nacos 會定期檢查服務實例的健康狀態,確保只有健康的服務實例會被注冊到服務發現中,并且及時地將不健康的實例移除,從而提高了整個系統的穩定性和可用性。

Nacos下載

鏈接:https://pan.baidu.com/s/1gwHPkvylWLtrjQYQCwmqqw?pwd=T401
提取碼:T401

3.2 配置Nacos

Nacos的默認端口是8848,如果你電腦上的其它進程占用了8848端口,請先嘗試關閉該進程。如果無法關閉占用8848端口的進程,也可以進入nacos的conf目錄,修改配置文件中的端口:

在這里插入圖片描述

修改其中的內容為其他端口

在這里插入圖片描述

啟動nacos,進入bin目錄, 然后 cmd 進入該目錄執行命令

./startup.cmd -m standalone

出現下面內容即可

在這里插入圖片描述

如果覺得在cmd輸入命令麻煩可以修改腳本, 編輯start.cmd腳本,將集群模式修改為單機模式,在bin目錄下右擊startup.cmd文件,用記事本的方式打開,將MODE改成standalone即可,如下圖所示

在這里插入圖片描述

這樣直接雙擊startup.cmd即可運行nacos

在這里插入圖片描述

ctrl+左鍵點擊命令窗口給的地址

在這里插入圖片描述

nacos賬號: nacos

nacos密碼: nacos

在這里插入圖片描述

到此nacos安裝完成

3.3 nacos部署springboot項目

父工程

<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>2.2.5.RELEASE</version><type>pom</type><scope>import</scope>
</dependency>

添加nacos的客戶端依賴

 <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId><version>2.2.6.RELEASE</version></dependency>

修改需要更改服務的中的application.yml文件

spring:  application:  # 應用配置項name: dataAccountService  # 應用名稱為 dataAccountServicecloud:  nacos: server-addr: localhost:8848  # Nacos 服務端地址為 localhost:8848discovery:  # Nacos 服務發現配置項cluster-name: CQ  # 使用的 Nacos 集群名稱為 CQ

啟動springboot項目和nacos,出現自己配置的服務,及完成nacos的簡單部署,在我的項目中,nacos主要做的是服務注冊與發現,并沒有其他內容,如果有需要可以參考其他博客

在這里插入圖片描述

四、http客戶端Feign

4.1 Feign的介紹

Feign是一個聲明式的http客戶端,官方地址:https://github.com/OpenFeign/feign
其作用就是幫助我們優雅的實現http請求的發送,解決上面提到的問題。

Feign 的主要優勢在于:

  1. 聲明式 API 定義:Feign 允許開發者使用接口和注解來定義 RESTful 服務的請求和響應,而無需關心底層的 HTTP 請求和響應處理邏輯。通過編寫簡單的 Java 接口和添加 Feign 注解,就可以定義服務調用的各種細節,比如 URL、HTTP 方法、請求參數、請求頭等。
  2. 模板化請求:Feign 提供了一套模板化的請求構建和發送機制,使得開發者可以輕松地構造 HTTP 請求并發送到目標服務端點。Feign 會根據接口定義和注解配置,自動構造出對應的 HTTP 請求,并將請求參數、請求頭等信息注入到請求中。
  3. 集成了負載均衡和服務發現:Feign 可以與 Spring Cloud 中的服務發現組件(如 Eureka、Consul 等)和負載均衡組件(如 Ribbon)集成,從而實現服務之間的負載均衡和自動服務發現。開發者可以直接通過服務名來調用其他微服務,而無需硬編碼服務的地址和端口。
  4. 可擴展性:Feign 提供了豐富的擴展點,開發者可以通過自定義編碼器、解碼器、攔截器等來擴展 Feign 的功能,從而滿足各種特定的業務需求。

在這里插入圖片描述

Feign運行自定義配置來覆蓋默認配置,可以修改的配置如下:

類型作用說明
feign.Logger.Level修改日志級別包含四種不同的級別:NONE、BASIC、HEADERS、FULL
feign.codec.Decoder響應結果的解析器http遠程調用的結果做解析,例如解析json字符串為java對象
feign.codec.Encoder請求參數編碼將請求參數編碼,便于通過http請求發送
feign. Contract支持的注解格式默認是SpringMVC的注解
feign. Retryer失敗重試機制請求失敗的重試機制,默認是沒有,不過會使用Ribbon的重試

4.2 自定義實現Feign

導入依賴

如果服務A需要調用服務B的方法,則將依賴寫入服務A的pom文件中,既服務A是消費者

        <!--        feign消費者--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId><version>2.2.6.RELEASE</version></dependency>

配置Feign日志有兩種方式:
方式一:配置文件方式
全局生效:

feign:httpclient:enabled: trueclient:config:default:  # 這里用default就是全局配置,如果是寫服務名稱,則是針對某個微服務的配置logger-level: NONE #日志級別

局部生效

feign:httpclient:enabled: trueclient:config:dataAssetService:  # 這里用dataAssetService就是局部配置,只對dataAssetService服務生效logger-level: NONE #日志級別

方式二:編程方式,先聲明一個Bean:

public class FeignClientConfiguration {@Beanpublic Logger.Level feignLogLevel(){return Logger.Level.BASIC; }
}

而后如果是全局配置,則把它放到@EnableFeignClients這個注解中

@EnableFeignClients(defaultConfiguration = FeignClientConfiguration.class) 

如果是局部配置,則把它放到@FeignClient這個注解中:

@FeignClient(value = "dataAssetService", configuration = FeignClientConfiguration.class) 

4.3 Feign實踐

方式一(繼承):給消費者的FeignClient和提供者的controller定義統一的父接口作為標準。

  • 服務緊耦合

  • 父接口參數列表中的映射不會被繼承

    自定義Feign 客戶端接口


//被消費的服務名稱
@FeignClient(name = "dataManagementService")
public interface dataAssetClient {/*** 獲取數據標準信息* @param dataStandardCode * @return* /dataStandard/getDataStandardInfo為被消費的接口路徑*/@GetMapping("/dataStandard/getDataStandardInfo")R getDataStandard(@RequestParam("dataStandardCode") String dataStandardCode);
}

消費者的controller


/*** <p>* 數據資產表 前端控制器* </p>** @author 不入青山入我懷* @since 2024-03-21*/
@RestController
@RequestMapping("/dataAsset")
public class DataAssetController {@Autowiredprivate dataAssetClient dataassetClient;//數據標準目錄/*** 遠程調用其他接口* /dataAsset/getDataStandard 在該服務調用其他服務的接口路徑* @return*/@GetMapping("getDataStandard")public R getDataStandard() {return dataassetClient.getDataStandard("");}}

被消費者controller(正常寫就行)

    /*** 獲取數據標準信息* @param dataStandardCode* @return*/@GetMapping("getDataStandardInfo")public R getDataStandardInfo(@RequestParam("dataStandardCode") String dataStandardCode){return dataStandardService.getDataStandardInfo(dataStandardCode);//實現具體邏輯}

作者的Feign的實現邏輯

在這里插入圖片描述

你也可以將FeignClient抽取為獨立模塊,并且把接口有關的POJO、默認的Feign配置都放到這個模塊中,提供給所有消費者使用,如下圖

在這里插入圖片描述

五、統一網關Gateway

5.1 為什么要使用網關

  1. 路由與負載均衡:網關可以作為請求的入口,根據請求的路徑或者其他條件將請求路由到不同的后端服務。這樣可以實現請求的負載均衡,將流量合理地分發到不同的服務實例上,從而提高整個系統的性能和可擴展性。
  2. 安全性:網關可以作為安全屏障,用于保護后端服務免受惡意攻擊或者非法訪問。通過網關可以實現訪問控制、身份認證、權限驗證等安全功能,確保只有合法的請求可以訪問后端服務。
  3. 監控與統計:網關可以對請求進行監控和統計,記錄請求的響應時間、成功率、失敗率等指標,并生成相應的監控報告和統計數據。這樣可以幫助開發者實時了解系統的運行狀況,及時發現和解決問題。
  4. 日志與審計:網關可以記錄請求的日志,包括請求的來源、目的地、參數、響應狀態等信息,用于后續的審計和分析。這對于排查問題、追蹤請求流程、分析用戶行為等都非常有幫助。
  5. 服務聚合與協議轉換:網關可以將多個后端服務的接口聚合成一個統一的接口供客戶端調用,從而簡化客戶端的調用邏輯。同時,網關還可以實現不同協議之間的轉換,比如將 HTTP 請求轉換為 WebSocket 請求,或者將 RESTful 接口轉換為 GraphQL 接口等。

5.2 搭建網關服務

創建新的module,引入SpringCloudGateway的依賴和nacos的服務發現依賴:

   <!--        網關gateway--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId><version>2.2.6.RELEASE</version></dependency><!--        nacos服務注冊發現--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId><version>2.2.6.RELEASE</version></dependency>

編寫路由配置及nacos地址

網關路由可以配置的內容包括:

  • 路由id:路由唯一標示
  • uri:路由目的地,支持lb和http兩種
  • predicates:路由斷言,判斷請求是否符合要求,符合則轉發到路由目的地
  • filters:路由過濾器,處理請求或響應
spring:  application:  name: gateway  # 應用名稱為 gatewaycloud: nacos: discovery: server-addr: localhost:8848  # Nacos 服務端地址為 localhost:8848gateway: routes:  # 網關路由配置項,定義了多個路由規則- id: server-provice  # 第一個路由規則的標識符uri: lb://serve-provide  # 路由到服務名為 serve-provide 的服務predicates:  # 定義了路由匹配的條件- Path=/api/serve/**  # 匹配路徑以 /api/serve/ 開頭的請求filters:  # 定義了對請求和響應的處理規則- RewritePath=/api/(?<segment>/?.*),/$\{segment}  # 重寫請求路徑,將 /api/ 后面的路徑段作為參數傳遞給后端服務- id: data-asset-service  # 第二個路由規則的標識符uri: lb://dataAssetService  # 路由到服務名為 dataAssetService 的服務predicates:  # 定義了路由匹配的條件- Path=/api/dataAsset/** ,/api/dataAssetField/** ,/api/dataAssetRelationCategory/**  # 匹配多個路徑的請求filters:  # 定義了對請求和響應的處理規則- RewritePath=/api/(?<segment>/?.*),/$\{segment}  # 重寫請求路徑,將 /api/ 后面的路徑段作為參數傳遞給后端服務server:port: 8989 

GatewayFilter是網關中提供的一種過濾器,可以對進入網關的請求和微服務返回的響應做處理:

在這里插入圖片描述

5.3 測試網關GateWay

利用Postman來測試,通過訪問網關的端口8989,成功把接口轉發到對應的服務中去

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/12468.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/12468.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/12468.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++ 并發編程指南(11)原子操作 | 11.6、計算機內存結構

文章目錄 一、計算機內存結構1、內存的基本組成2、內存的類型3、內存的結構層次4、CPU架構5、局部性原理6、總結 前言 在探討計算機的運行效率和數據處理能力時&#xff0c;內存結構無疑是一個至關重要的部分。內存&#xff0c;作為計算機系統中的關鍵組件&#xff0c;承擔著存…

vue從入門到精通(一):Vue模板語法

一&#xff0c;模板語法 Vue 使用一種基于 HTML 的模板語法&#xff0c;使我們能夠聲明式地將其組件實例的數據綁定到呈現的 DOM 上。所有的Vue模板都是語法層面合法的 HTML&#xff0c;可以被符合規范的瀏覽器和 HTML 解析器解析。 Vue模板語法有2大類: 插值語法: 功能:用于解…

請介紹下H264的多參考幀技術及其應用場景,并請說明下為什么要有多參考幀?

H.264&#xff08;也稱為H.264/AVC&#xff09;的多參考幀機制是其編碼效率和質量提升的關鍵部分。這個機制允許編碼器在編碼當前幀時&#xff0c;參考多個之前已編碼的幀。這種多參考幀的方法為編碼器提供了更多的選擇&#xff0c;使其能夠更準確地預測當前幀的內容&#xff0…

【保姆級介紹自動化的講解】

&#x1f308;個人主頁: 程序員不想敲代碼啊 &#x1f3c6;CSDN優質創作者&#xff0c;CSDN實力新星&#xff0c;CSDN博客專家 &#x1f44d;點贊?評論?收藏 &#x1f91d;希望本文對您有所裨益&#xff0c;如有不足之處&#xff0c;歡迎在評論區提出指正&#xff0c;讓我們共…

SCP‘s Story

越過“第二夜”的星星&#xff0c;越過“邁克爾連續線”和“禁運線”&#xff0c;在“煤炭之路”最遠的一站&#xff0c;有一顆眼淚。這不是織物或紙上的撕裂&#xff0c;而是現實中的撕裂&#xff0c;是物理定律和常識失效的地方。 有些人稱之為黑洞&#xff0c;銀河系中最大…

【C語言】4.C語言數組(2)

文章目錄 6. 二維數組的創建6.1 ?維數組的概念6.2 ?維數組的創建 7. 二維數組的初始化7.1 不完全初始化7.2 完全初始化7.3 按照?初始化7.4 初始化時省略?&#xff0c;但是不能省略列 8. 二維數組的使用8.1 ?維數組的下標8.2 ?維數組的輸?和輸出 9. 二維數組在內存中的存…

利用一段代碼輕松繞過PHP授權系統

利用一段代碼輕松繞過PHP授權系統 第一步&#xff1a;首先你需要改名全局文件 比如說全局文件 common.php&#xff0c;那么 你將他改為core.php 第二步&#xff1a;創建文件 創建一個文件&#xff0c;和改名前的全局文件名稱一樣&#xff0c;然后把以下代碼復制進去就OK了 …

行列視在做報表之前需要準備哪些前期工作

行列視是一款功能強大的生產數據分析和報表生成工具&#xff0c;使用它進行報表制作之前&#xff0c;確實需要一些前期準備工作&#xff0c;以確保報表的準確性和有效性。以下是進行行列視報表制作前需要準備的一些關鍵步驟&#xff1a; 1.明確報表需求&#xff1a; - 確定報表…

【MySQL01】【 Explain 命令詳解】

文章目錄 一、前言二、Explain 概覽三、Explain 詳解1. id2. select_type3. table4. type5. possible_keys6. key7. key_len8. ref9. rows10. filtered11. extra 列 四、補充1. EXPLAIN 擴展1.1 Extend EXPLAIN1.2 JSON 格式的執行計劃 2. Intersection、Union、Sort-Union 索引…

使用C++實時讀取串口數據(window使用已編譯LibModbus庫并用QT實現一個實時讀取串口數據)

先看這篇文章&#xff0c;寫得很詳細: QT應用篇 四、window編譯LibModbus庫并用QT編寫一個Modbus主機 手把手教學 編譯好的LibModbus庫可以在上面文章里下載&#xff0c;也可以在我的鏈接里下載&#xff1a; 為了在Qt Creator中創建新項目并嵌入上述C代碼&#xff0c;請執行以…

Linux監控apache腳本

監控apache腳本&#xff1a; 1、每十分鐘檢查apache是否正常運行 分析&#xff1a;進程在運行如何判斷 1&#xff09;lockfile是否存在 2&#xff09;pid是在后臺存在 3&#xff09;能否正常訪問頁面 2、如果apache運行不正常&#xff08;進程死亡、頁面訪問也不正常等情況&am…

C++進階:紅黑樹介紹及模擬實現(圖示詳解過程)

C進階&#xff1a;紅黑樹介紹及模擬實現 上次介紹了AVL樹&#xff1a;C進階&#xff1a;AVL樹詳解及模擬實現&#xff08;圖示講解旋轉過程&#xff09; 今天就來緊接著來紅黑樹啦!!! 文章目錄 1.紅黑樹介紹約束規則 2.項目文件規劃3.整體框架&#xff08;節點和Tree&#xf…

whisper報錯:hp, ht, pid, tid = _winapi.CreateProcess [WinError 2] 系統找不到指定的文件。

in _execute_child hp&#xff0c; ht&#xff0c; pid&#xff0c; tid _winapi.CreateProcess&#xff08;executable&#xff0c; args&#xff0c; FileNotFoundError&#xff1a; [WinError 2] 系統找不到指定的文件。 原因&#xff1a; 沒裝ffmpeg 或者 ffmpeg沒添加到…

k8s pod就緒探針

Pod 可能需要時間來加載配置或數據&#xff0c;或者可能需要執行預熱過程以防止第一個用戶請求時間太長影響了用戶體驗。在這種情況下&#xff0c;不希望該 pod 立即開始接收請求&#xff0c;尤其是在運行的實例可以正確快速地處理請求的情況下。不要將請求轉發到正在啟動的 po…

YOLOv5獨家改進:backbone改進 | 微軟新作StarNet:超強輕量級Backbone | CVPR 2024

??????創新點:star operation(元素乘法)在無需加寬網絡下,將輸入映射到高維非線性特征空間的能力,這就是StarNet的核心創新,在緊湊的網絡結構和較低的能耗下展示了令人印象深刻的性能和低延遲 ??????如何跟YOLOv5結合:替代YOLOv5的backbone 收錄 YOL…

電容筆記匯總

電容 一、電容理論基礎 1、電容的本質 兩個相互靠近的導體&#xff0c;中間夾一層不導電的絕緣介質&#xff0c;這就構成了電容器。當電容器的兩個極板之間加上電壓時&#xff0c;電容器就會儲存電荷。 兩個相互靠近的金屬板中間夾一層絕緣介質組成的器件&#xff0c;當兩端…

豆漿機缺水檢測功能如何實現的

豆漿機缺水檢測功能的實現是通過光學液位傳感器來完成的。這種傳感器具有多種優勢&#xff0c;如內部所有元器件經過樹脂膠封處理&#xff0c;沒有任何機械活動部件&#xff0c;免調試、免檢驗、免維護等特點。它采用了光電液位傳感器內置的光學電子元件&#xff0c;體積小、功…

Docker常用鏡像安裝

1. mysql 1.1 安裝 獲取鏡像 docker pull mysql:8.0.30創建文件掛載目錄 創建容器并運行 docker run -p 3306:3306 --name mysql8 \ -v /home/docker/mysql8/log:/var/log/mysql \ -v /home/docker/mysql8/data:/var/lib/mysql \ -v /home/docker/mysql8/mysql-files:/va…

保研機試之【設備驅動程序】

B選項&#xff1a; 綜上&#xff0c;我認為這道題選擇D~

一些近來對內網攻防的思考

我知道我最近托更托了很久了&#xff0c;其實也不是小編懶啊 這小編也是一直在寫&#xff0c;但是遇到的問題比較多&#xff08;我太菜了&#xff09;&#xff0c;所以一直拖著。 但是總不能不更吧 那就講一下進來的一些內網攻防的思考吧 1.CrossC2上線Linux到CS(成功) …