Apache SeaTunnel 及 Web 功能部署指南(小白版)

来源:https://www.cnblogs.com/DolphinScheduler/p/18046082
-Advertisement-
Play Games

在大數據處理領域,Apache SeaTunnel 已成為一款備受青睞的開源數據集成平臺,它不僅可以基於Apache Spark和Flink,而且還有社區單獨開發專屬數據集成的Zeta引擎,提供了強大的數據處理能力。隨著SeaTunnel Web的推出,用戶界面(UI)操作變得更加友好,項目部署和管 ...


在大數據處理領域,Apache SeaTunnel 已成為一款備受青睞的開源數據集成平臺,它不僅可以基於Apache Spark和Flink,而且還有社區單獨開發專屬數據集成的Zeta引擎,提供了強大的數據處理能力。隨著SeaTunnel Web的推出,用戶界面(UI)操作變得更加友好,項目部署和管理更加便捷。

file

本指南旨在提供一個簡明扼要的步驟,幫助用戶成功部署SeaTunnel及其Web界面。小主已經把可能遇到的坑都填過了,希望大家都能安安穩穩上路,不掉坑,話不多說,走起~

1.預置環境

1.1.所需軟體包及版本要求

  • CentOS 7.6.18_x86_64

  • JDK >= 1.8.151

  • Maven >= 3.6.3

  • Apache Seatunnel ==2.3.3

  • Apache Seatunnel Web == 1.0.0

  • MySQL >= 5.7.28

file

1.2.下載地址

官網下載入口: 下載入口

apache-seatunnel-2.3.3: apache-seatunnel-2.3.3-bin.tar.gz

file

apache-seatunnel-web-1.0.0: apache-seatunnel-web-1.0.0

file

1.3.準備工作

1.3.1.安裝JDK

安裝及配置系統環境變數略過,自行百度

1.3.2.安裝Maven

安裝及配置系統環境變數、配置阿裡雲倉庫鏡像, 略過,自行百度

1.3.3.創建安裝軟體目錄

創建SeaTunnel後端服務安裝目錄

mkdir -p /opt/bigdata/seatunnel-2.3.3/backend

創建SeaTunnel前端服務安裝目錄

mkdir -p /opt/bigdata/seatunnel-2.3.3/web
file

1.3.4.下載或者本地上傳安裝包

下載apache-seatunnel-2.3.3-bin.tar.gz

進入1.3.2中創建好的安裝目錄

cd /opt/bigdata/seatunnel-2.3.3/backend

下載安裝包

wget https://dlcdn.apache.org/seatunnel/2.3.3/apache-seatunnel-2.3.3-bin.tar.gz

下載[apache-seatunnel-web-1.0.0.tar.gz

進入1.3.2中創建好的安裝目錄

cd /opt/bigdata/seatunnel-2.3.3/web

下載安裝包

wget https://dlcdn.apache.org/seatunnel/seatunnel-web/1.0.0/apache-seatunnel-web-1.0.0-bin.tar.gz

如果你已經將安裝包下載到本地, 可通過FTP工具上傳安裝包到前後端各自的安裝目錄。

2.安裝Apache Seatunnel

2.1.解壓安裝包

解壓後端安裝包

tar -zxf /opt/bigdata/seatunnel-2.3.3/backend/apache-seatunnel-2.3.3-bin.tar.gz

重命名安裝包

mv apache-seatunnel-2.3.3-bin apache-seatunnel-2.3.3
file

解壓前端安裝包

tar -zxf /opt/bigdata/seatunnel-2.3.3/web/apache-seatunnel-web-1.0.0-bin.tar.gz

重命名安裝包

mv apache-seatunnel-web-1.0.0-bin apache-seatunnel-web-1.0.0
file

2.2.配置環境變數

/etc/profile中配置環境變數
file
讓修改配置立即生效

source /etc/profile

2.3.下載JAR包

2.3.1.創建目錄

mkdir -p /opt/bigdata/seatunnel-2.3.3/backend/apache-seatunnel-2.3.3/connectors/flink

mkdir -p /opt/bigdata/seatunnel-2.3.3/backend/apache-seatunnel-2.3.3/connectors/flink-sql

mkdir -p /opt/bigdata/seatunnel-2.3.3/backend/apache-seatunnel-2.3.3/connectors/spark

mkdir -p /opt/bigdata/seatunnel-2.3.3/backend/apache-seatunnel-2.3.3/connectors/seatunnel

file

2.3.2.修改下載腳本

下載腳本的位置

/opt/bigdata/seatunnel-2.3.3/backend/apache-seatunnel-2.3.3/bin
file

修改install-plugin.sh之前請先備份

mvn加速下載seatunnel相關jar包

安裝seatunnel過程中,解壓文件後官方預設提供的connector的jar包只有2個,要想連接mysql,oracle,SqlServer,hive,kafka,clickhouse,doris等時,還需下載對應的jar包。

file

使用本地Maven加速下載connector相關jar包

seatunnel下載connector的jar時,使用mvnw來下載jar包,預設是從https://repo.maven.apache.org 下載,速度及其緩慢。我們可以改成自己在linux系統上安裝的mvn,配置阿裡雲遠程倉庫地址,從阿裡雲mvn源下載會快很多, 下麵教大家如何進行修改。

修改其安裝插件相關腳本,複製bin目錄下install-plugin.sh重命名為install-plugin.sh.bak

file

替換腳本中的${SEATUNNEL_HOME}/mvnw為mvn,即可使用本地mvn,配合阿裡雲的mvn源,可加速下載。

file

2.3.3.執行下載

自動下載

執行命令即可,一般不推薦,因為從官網下載速度太慢,可以通過修改相關的代碼進行手動加速下載。

系統預設自動下載時會下載所有的連接器JAR, 如果暫時不需要使用, 可以在執行下載腳本執行之前先在/opt/bigdata/seatunnel-2.3.3/backend/apache-seatunnel-2.3.3/config/pulgun_config配置中註釋掉不需要的連接器
file

shell
sh /opt/bigdata/seatunnel-2.3.3/backend/apache-seatunnel-2.3.3/bin/install-plugin.sh

file

自動下載完成之後, 將/opt/bigdata/seatunnel-2.3.3/backend/apache-seatunnel-2.3.3/connectors/seatunnel下所有的jar包都拷貝到/opt/bigdata/seatunnel-2.3.3/backend/apache-seatunnel-2.3.3/lib目錄下

手動下載

修改代碼,通過阿裡雲的mvn源快速下載,然後將相關jar包複製到對應目錄即可。

seatunnel-connectors下載地址

註意:下載jar複製到兩個文件夾,一個是lib文件夾,一個是connectors/seatunnel文件夾。

2.3.4.測試驗證

進入安裝目錄

cd /opt/bigdata/seatunnel-2.3.3/backend/apache-seatunnel-2.3.3

啟動服務

./bin/seatunnel.sh --config ./config/v2.batch.config.template -e local

file

file
file
file

2.4.啟動服務

進入安裝目錄

cd /opt/bigdata/seatunnel-2.3.3/backend/apache-seatunnel-2.3.3

啟動服務

nohup sh bin/seatunnel-cluster.sh 2>&1 &

在seatunnel的安裝目錄下查看日誌

tail -f logs/seatunnel-engine-server.log 有以下類似信息列印出,說明啟動成功。

file

必須保證Apache SeaTunnel的Server正常運行,Web端服務才能正常運行。

3.安裝Apache Seatunnel Web

3.1.安裝配置Seatunnel引擎集群

在SeaTunnel的Web端機器上需要安裝SeaTunnel客戶端,如果服務端與Web端在同一臺機器,則可直接跳過這個步驟。

本文檔的安裝過程中,Seatunnel服務端和web是安裝在同一臺機器上, 所以直接跳過此步安裝步驟。

這裡所說的Seatunnel引擎客戶端其實就是我們章2中安裝的Seatunnel服務端, 下麵講解一下如何進行Seatunnel集群的安裝配置

3.1.1.準備伺服器節點

我們現在需要搭建Seatunnel引擎集群,需要準備n台伺服器節點, 我這裡使用了3台伺服器。比如, 已知我們的3台伺服器的IP分別是

192.168.1.110

192.168.1.111

192.168.1.112

我們直接在章2中已經安裝部署好的Seatunnel單節點中進行集群的配置,主要的配置修改包含以下幾項:

3.1.2.修改JVM參數

在seatunnel的安裝目錄,找到$SEATUNNEL_HOME/bin/seatunnel-cluster.sh

file

將 JVM 選項添加到$SEATUNNEL_HOME/bin/seatunnel-cluster.sh第一行

JAVA_OPTS=“-Xms2G -Xmx2G”

file

如果不想這樣進行修改,也可以, 不過需要在進行集群啟動時,自行增加JVM參數進行啟動, 啟動命令如下:

nohup sh $SEATUNNEL_HOME/bin/seatunnel-cluster.sh -DJvmOption="-Xms2G -Xmx2G" 2>&1 &

file

3.1.3.SeaTunnel Engine配置

SeaTunnel Engine Server配置是在sh $SEATUNNEL_HOME/config/seatunnel.yaml .

詳細配置想可參考官方文檔4. Config SeaTunnel Engine,這裡不贅述

3.1.4.SeaTunnel Engine Server配置

SeaTunnel Engine Server配置是在sh $SEATUNNEL_HOME/config/hazelcast.yaml .

集群名稱配置

SeaTunnel Engine 節點使用集群名稱來確定對方是否與自己是一個集群。 如果兩個節點之間的集群名稱不同,SeaTunnel 引擎將拒絕服務請求。

網路配置

SeaTunnel Engine 集群基於 Hazelcast,是運行 SeaTunnel Engine Server 的集群成員的網路。 集群成員自動連接在一起形成集群。 這種自動加入是通過集群成員用來查找彼此的各種發現機制來實現的。

請註意,集群形成後,集群成員之間的通信始終通過 TCP/IP 進行,無論使用何種發現機制。

SeaTunnel 引擎使用以下發現機制。

TCP

您可以將 SeaTunnel Engine 配置為完整的 TCP/IP 集群。 有關配置詳細信息,請參閱通過 TCP 發現成員部分。

hazelcast.yaml配置示例如下:

hazelcast:
  cluster-name: seatunnel
  network:
    join:
      tcp-ip:
        enabled: true
        member-list:
          - hostname1
    port:
      auto-increment: false
      port: 5801
  properties:
    hazelcast.logging.type: log4j2

在獨立 SeaTunnel 引擎集群中我們建議使用TCP方式。

另一方面,Hazelcast 提供了一些其他的服務發現方法。 詳情請參考hazelcast網

3.1.4.3 Map配置
  • type

imap持久化類型,目前僅支持hdfs。

  • namespace

命令空間用於區分不同業務的數據存儲位置,例如OSS的桶名。

  • clusterName

這個參數主要用於集群隔離,我們可以通過這個來區分不同的集群,比如cluster1、cluster2,這個也可以用來區分不同的業務

  • fs.defaultFS

We used hdfs api read/write file, so used this storage need provide hdfs configuration

if you used HDFS, you can config like this:

map:
    engine*:
       map-store:
         enabled: true
         initial-mode: EAGER
         factory-class-name: org.apache.seatunnel.engine.server.persistence.FileMapStoreFactory
         properties:
           type: hdfs
           namespace: /tmp/seatunnel/imap
           clusterName: seatunnel-cluster
           storage.type: hdfs
           fs.defaultFS: hdfs://localhost:9000

如果沒有 HDFS 並且您的集群只有一個節點,您可以配置為使用本地文件,如下所示:

map:
    engine*:
       map-store:
         enabled: true
         initial-mode: EAGER
         factory-class-name: org.apache.seatunnel.engine.server.persistence.FileMapStoreFactory
         properties:
           type: hdfs
           namespace: /tmp/seatunnel/imap
           clusterName: seatunnel-cluster
           storage.type: hdfs
           fs.defaultFS: file:///

如果你使用OSS,你可以這樣配置:

map:
    engine*:
       map-store:
         enabled: true
         initial-mode: EAGER
         factory-class-name: org.apache.seatunnel.engine.server.persistence.FileMapStoreFactory
         properties:
           type: hdfs
           namespace: /tmp/seatunnel/imap
           clusterName: seatunnel-cluster
           storage.type: oss
           block.size: block size(bytes)
           oss.bucket: oss://bucket name/
           fs.oss.accessKeyId: OSS access key id
           fs.oss.accessKeySecret: OSS access key secret
           fs.oss.endpoint: OSS endpoint
           fs.oss.credentials.provider: org.apache.hadoop.fs.aliyun.oss.AliyunCredentialsProvider

3.1.5.SeaTunnel Engine Client配置

SeaTunnel Engine Client配置是在sh $SEATUNNEL_HOME/config/hazelcast-client.yaml .

集群名稱配置

客戶端必須與 SeaTunnel 引擎具有相同的集群名稱。 否則,SeaTunnel 引擎將拒絕客戶端請求。

網路配置

cluster-members

所有 SeaTunnel 引擎伺服器節點地址都需要添加到此處。

hazelcast-client:
  cluster-name: seatunnel
  properties:
      hazelcast.logging.type: log4j2
  network:
    cluster-members:
      - hostname1:5801

3.1.6.啟動Seatunnel引擎服務端節點

mkdir -p $SEATUNNEL_HOME/logs

cd $SEATUNNEL_HOME

./bin/seatunnel-cluster.sh -d

如果集群存在多台節點, 需要啟動所有節點上的Seatunnel引擎服務。

3.1.7.安裝Seatunnel引擎客戶端並啟動

您只需將SeaTunnel引擎節點上的安裝目錄目錄複製到客戶端節點主機的相同安裝目錄下,並像SeaTunnel引擎伺服器節點一樣配置SEATUNNEL_HOME,之後啟動服務即可。

3.2.配置Seatunnel Web服務

3.2.1.資料庫初始化

修改資料庫連接配置

script/seatunnel_server_env.sh相關配置改為你的對應的資料庫信息

file
file

以上截圖中原始文件中配置的是HOSTNAME,PORT,USERNAME,PASSWORD等,但是因為的機器上有全局配置文件也用了這幾個變數名,但是鏈接的資料庫信息和seatunnel連接的資料庫不是一個資料庫, 因為名稱衝突導致在啟動web服務時連接數據哭失敗,

所以我這裡修改了seatunnel_server_env.shinit_sql.sh腳本中的HOSTNAME,PORT,USERNAME,PASSWORD可以加上首碼SEATUNNEL_,變成了

SEATUNNEL_HOSTNAME,SEATUNNEL_PORT,SEATUNNEL_USERNAME,SEATUNNEL_PASSWORD

一定要記住, 如果你按照文檔修改了seatunnel_server_env.sh腳本的變數名, 一定要將init_sql.sh腳本中對應的變數名稱進行同步修改,如下圖:
file

執行初始化資料庫命令

進入seatunnel-web的安裝目錄,然後執行命令sh init_sql.sh,無異常則執行成功。

file

3.2.2.配置WEB後端服務

修改後端基礎配置

web後端服務的配置文件都在${web安裝目錄}/conf

file

vim conf/application.yml修改埠號和數據源連接信息

file

配置client信息

將seatunnel引擎服務節點的安裝目錄下的config目錄下的關於引擎客戶端的配置文件拷貝到seatunnel-web安裝目錄下的conf目錄下

同一臺機器下部署直接使用以下拷貝命令(註意修改服務的安裝目錄為你自己的安裝目錄)

sudo cp /opt/bigdata/seatunnel-2.3.3/backend/apache-seatunnel-2.3.3/config/hazelcast-client.yaml /opt/bigdata/seatunnel-2.3.3/web/apache-seatunnel-web-1.0.0/conf

如果不在同一臺機器上, 可以使用scp命令或者下載下來然後上傳到web服務的安裝主機的安裝目錄下的conf目錄下即可。

配置支持的插件信息

將seatunnel引擎服務節點的安裝目錄下的connectors目錄下的plugin-mapping.properties配置文件拷貝到seatunnel-web安裝目錄下的conf目錄下

sudo cp /opt/bigdata/seatunnel-2.3.3/backend/apache-seatunnel-2.3.3/connectors/plugin-mapping.properties /opt/bigdata/seatunnel-2.3.3/web/apache-seatunnel-web-1.0.0/conf

同一臺機器下部署直接使用以下拷貝命令(註意修改服務的安裝目錄為你自己的安裝目錄)如果不在同一臺機器上, 可以使用scp命令或者下載下來然後上傳到web服務的安裝主機的安裝目錄下的conf目錄下即可。

3.2.3.下載配置數據源JAR包

這一步非常關鍵, 這一步如果沒有配置好, 即使你正常啟動了web應用,可能也會遇到下列問題:

  • 數據源類型選擇頁面為空, 我這裡因為正常配置, 所以正常顯示

file

  • 沒有Source或者Sink進行選擇

file

  • 任務無法正常執行
獲取下載腳本

數據源JAR包的下載腳本在seatunnel-web的源碼包中存在,它的目錄在:

file

修改配置文件如下:

file

執行腳本,下載數據源JAR包

file

正在下載

file

成功下載下所有的datasourceJAR包

file

上傳到Seatunnel-Web項目的libs目錄

將以上所有jar包複製到/opt/bigdata/seatunnel-2.3.3/web/apache-seatunnel-web-1.0.0/libs目錄下

file

上傳到Seatunnel引擎服務的lib目錄

將以上所有jar包複製到/opt/bigdata/seatunnel-2.3.3/backend/apache-seatunnel-2.3.3/lib目錄下

file

3.2.4.配置元數據MySQL的驅動JAR包

MySQL的驅動包mysql-connector-java-8.0.20.jar自行下載

file

上傳到SeaTunnel引擎服務的lib目錄

mysql-connector-java-8.0.20.jar包複製到/opt/bigdata/seatunnel-2.3.3/backend/apache-seatunnel-2.3.3/lib

file

3.2.5.啟動WEB服務

這一步也很容易出錯,很多人都配置對了,但是最後啟動起來,發現無法通過瀏覽訪問, 查看日誌列印如下:

file

造成這樣的問題就是你執行啟動命令的位置不對, 註意web服務安裝之後的目錄結構如下圖:

file

所以啟動服務必須要保證服務可以訪問到ui目錄下的index.html文件才可以,因為項目啟動前端的項目路徑預設添加了/ui的首碼,所以後端項目的啟動路徑必須在ui目錄的父級目錄才可以,所以這裡需要再web服務的安裝目錄下執行啟動腳本,舉例:

我這裡的安裝目錄是/opt/bigdata/seatunnel-2.3.3/web/apache-seatunnel-web-1.0.0, 所以我這裡直接切換到該目錄下,執行以下啟動命令:

#進入web服務的安裝目錄
cd /opt/bigdata/seatunnel-2.3.3/web/apache-seatunnel-web-1.0.0
#執行啟動腳本
sudo sh bin/seatunnel-backend-daemon.sh start

訪問http://主機IP:12306 (此埠為conf/application.yml中配置的埠), 頁面自動跳轉到http://主機IP:12306/ui

預設登錄的用戶名和密碼:

username:admin

password:admin

file

file

OK, 至此所有的搭建流程就結束了。

4.資源鏈接

這裡面有些資源的下載特別慢, 這裡將整個配置好的前後端的項目資源打包存放到百度網盤,地址如下:

Seatunnel引擎及Web服務一鍵安裝包

提取碼rryz

下載下來之後,修改所有涉及資料庫連接的配置文件為你自己的連接配置信息, 然後執行3.2.1小節的初始化資料庫命令, 然後依次啟動SeaTunnel引擎服務、Web服務即可。

通過遵循上述步驟,你應該能夠成功部署SeaTunnel及其Web界面。這將為你的大數據處理任務提供一個強大的工具,同時享受到基於Web的界面帶來的便利。如果在部署過程中遇到任何問題,不要猶豫,查閱SeaTunnel官方文檔或加入社區尋求幫助。

創作不易,對您有幫助,點個贊唄,感謝~~~~

本文由 白鯨開源 提供發佈支持!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本文分享自華為雲社區《RDS for MySQL Serverless公測上線:彈性伸縮,最高可降成本超80%》,作者:GaussDB 資料庫。 隨著科技的快速發展,我們正在迅速步入一個全新的數字化時代。數字化時代,數據是最寶貴的資源。資料庫作為存儲數據的倉庫,重要性更是不言而喻。 一、業務背景及痛 ...
  • 最近碰到一個 case,值得分享一下。 現象就是一個 update 操作,在 mysql 客戶端中執行提示 warning,但在 java 程式中執行卻又報錯。 問題重現 mysql> create table test.t1(id int primary key, c1 datetime);Que ...
  • SpringData是Spring中數據操作的模塊,包含對各種資料庫的集成,其中對Redis的集成模塊就叫做SpringDataRedis。 技術支持 提供了對不同Redis客戶端的整合(Lettuce和Jedis) 提供了RedisTemplate統一API來操作Redis 支持Redis的發佈訂 ...
  • MySQL 8.0.x中,我們如果按安全規範配置了賬號密碼過期策略的話,那麼如何查看賬號密碼還有多長時間就會過期;如何做好賬號密碼過期監控;以及提前及時處理賬號密碼過期問題就是DBA必須處理的一些事情。這裡簡單討論一下這些事情。個人經驗僅供參考,如有不足或錯誤的地方,敬請指正一二。這篇文章的具體測試 ...
  • CloudCanal 最近對於全周期數據流動進行了初步探索,打通了 Hive 目標端的實時同步,為實時數倉的構建提供了支持,這篇文章簡要做下分享。 ...
  • 本操作在虛擬機上 安裝Redis 1)更新系統 sudo apt update sudo apt upgrade 2)安裝Redis sudo apt install redis-server 3)測試Redis是否工作 redis-cli --version systemctl status re ...
  • 指標是什麼? 業務發展過程中,企業內外部都會產生很多的業務數據,對這些數據進行採集、計算、落庫、分析後,形成的統計結果稱為指標。簡單來說,指標是業務被拆解、量化後形成的數量特征,企業利用數據指標對業務進行精準的號脈,實現對業務的科學管理和有效優化。 在我們對多家企業展開深入調研的過程中,發現數據指標 ...
  • 2024年2月27日,在“2024年世界移動通信大會”(Mobile World Congress 2024,簡稱MWC 2024)上,以“雲原生×AI,躍遷新機遇”為主題的創原會圓桌成功舉辦。會上,全球企業技術精英面對面交流,圍繞雲原生×AI技術變革,分享企業在架構、算力、存儲、數智、應用開發、媒 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...