中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

低代碼應用在TSF實現服務治理的解決方案是什么

發布時間:2021-12-06 15:06:54 來源:億速云 閱讀:140 作者:柒染 欄目:云計算

低代碼應用在TSF實現服務治理的解決方案是什么,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

01
業務場景

當企業有大型應用需要拆分成多個微服務的需求時,Mendix在不依賴任何云平臺,如Mendix Cloud、Openshift、K8S等情況下,無法滿足服務治理所有的功能,對于Private Cloud環境的運行更是如此。即便是在開源的上如K8S、Openshift、Mesos、Rancher、Docker-swarm容器平臺等也不具備較強的服務治理能力。對于代碼侵入式較高的服務治理框架,SpringCloud、Dubbo等對于Mendix應用的開發難度較高(對于Mendix應用目前可以通過javaAction方式自定義代碼,對于Springcloud,自定義代碼的權限遠遠不夠),固不適用;而對于專業的無代碼侵入式Service Mesh服務治理框架,如Istio,Linkerd、Nginmesh、Maistra等卻需要有專業的團隊去維護, 時間成本,運維成本都大大增加項目預算,因此在Private Cloud環境下需要一套快速實現服務治理的一套解決方案。


擁有可以用低代碼的方式創建一個基于微服務集群的大型企業級應用,幫助企業快速應用最新的互聯網技術,加速企業創新更好的支持敏捷快速迭代開發,提升整體IT管理能力。

02      
  應用范圍

使用騰訊云微服務平臺TSF來實現Mendix應用之間的服務治理。


如服務路由、服務限流、服務鑒權規則。用戶可以通過配置、權重標簽的形式進行細粒度的流量控制,實現灰度發布、就近路由、流量限制、訪問權限控制等功能 。



03      
  TSF服務治理能力

Mesh 微服務平臺(Tencent Service Mesh Framework,簡稱 TSF Mesh),基于 Service Mesh 的理念,為應用提供服務自動注冊與發現、服務路由、鑒權、限流、熔斷等服務治理能力,且應用無需對源代碼進行侵入式改造,即可與該服務框架進行集成。了解TSF Mesh更多信息點擊此處請查看《騰訊云中間件團隊在Service Mesh中的實踐與探索》。


通過騰訊云的TSF微服務平臺,提供Mendix開發的微服務之間治理的解決方案。  
  • 服務      線上管理      ,實現      服務可視化全生命周期管理。
  • 業務自定義標簽,應用于用戶自定義服務鑒權與服務路由規則。
  • API列表與調試,方便用戶API接口信息查看及遠程調試。
  •  服務統計,提供服務運營監控數據,用于快速定位服務異常,發現系統瓶頸。
  • 服務鑒權,防止服務非法調用。
  • 服務限流 ,保護自身服務,防止流量擊穿導致系統異常。
  • 服務路由,灰度發布,金絲雀發布,藍綠發布。
  • 服務熔斷,當下游的服務因為某種原因導致服務不可用或響應過慢時,上游服務為了保證自己整體服務的可用性,不再      繼續調用目標服務,直接返回。      當下游服務恢復后,上游服務會恢復調用。
  • 日志告警,快速發現系統異      常。
  • 實時日志,檢測服務啟動日志。
  • 日志檢索,快速發現系統異常。
  • 服務依賴拓撲,展示應用服務全景圖,用于快速定位服務異常,發現系統瓶頸。
  •      調用鏈查詢及詳情,以接口維度      快速定位服務異常,發現系統瓶頸。      彈性伸縮,保障服務高可用,減少人工操作,節約系統資源。
  • 全鏈路灰度發布。
  • 分布式事務,跨多個庫數據一致性保障。
  •      微服務網關,全局服務的鑒權,服務路由,服務管理。

 
04    
準備工作
 
為了順利完成本次實踐,您需要提前做好 以 下TSF的相關 準 備工作 :  
  • 登錄騰訊云控制臺,注冊并實名認證后,登錄騰訊云賬號:
    https://cloud.tencent.com。
  • 確認騰訊云賬戶余額大于100元。
  • 若使用主賬號進行登錄,則默認已有所有資源的訪問權限;若使用子賬號進行登錄,則需要提前授予相關權限,可前往下面鏈接查看如何使用CAM策略進行授權:
    https://cloud.tencent.com/document/product/598/10600。
  •  一臺可以訪問公網的機器(可在騰訊云CVM頁面進行購買),用于上傳Mendix應用鏡像。
  •  容器服務TKE。

 
05    
Mendix鏡像構建      

1. 通過Mendix Studio Pro 開發的多個微服務  

如ilink.mpk、native.mpk項目包,兩者相互調用彼此提供的服務。

傳統的Rest API調用:http://ip:port


低代碼應用在TSF實現服務治理的解決方案是什么  


改造后的Rest API調用, http://service-name/,使用服務名字實現服務之間的相互調用。


低代碼應用在TSF實現服務治理的解決方案是什么  

 2. 構建鏡像

(1)下載相關的腳本文件


git clone https://github.com/mendix/docker-mendix-buildpack.git
 


(2)文件目錄結構


├── Dockerfile

├── Dockerfile.rootfs.bionic

├── Dockerfile.rootfs.trusty

├── LICENSE

├── Makefile

├── README.md

├── scripts

│ ├── cleanupjdk

│ ├── compilation

│ ├── git

│ ├── startup

│ └── vcap_application.json

└── tests

    ├── docker-compose-azuresql.yml

    ├── docker-compose-k8s.yml

    ├── docker-compose-mysql.yml

    ├── docker-compose-postgres.yml

    ├── docker-compose-sqlserver.yml

    ├── stop.sh

└── test-generic.sh
 


(3)將開發好的MPK包放到與docker-mendix-buildpack同級目錄

低代碼應用在TSF實現服務治理的解決方案是什么  

ilink.mpk和native.mpk為Mendix所開發的兩個微服務。docker-mendix-buildpack-ilink和docker-mendix-buildpack-native是這兩個app鏡像構建,容器部署相關的腳本,主要文件包括Dockerfile、Makefile、startup啟動文件。


(4)Makefile文件修改

修改前:  
低代碼應用在TSF實現服務治理的解決方案是什么  
修改后:    
低代碼應用在TSF實現服務治理的解決方案是什么  
(5)創建nativeService.tar.gz文件,內容如下:    
文件目錄:
 
├── apis

│ └── native.yaml

├── logs

└── spec.yaml
 


##Spec.yaml文件主要是定義服務及健康檢查相關的內容:
apiVersion: v1
kind: Application
spec:
  services:
    - name: native
      ports:
        - targetPort: 8080
          protocol: http
      healthCheck:
        path: /
##native.yaml主要定義相關的api,不做強求,內容如下:

openapi: 3.0.0
info:
  version: "1.0.0"
  title: native service
paths:
  /api/v6/user/create:
    get:
      responses:
        '200':
           description: OK
        '401':
           description: Unauthorized
        '402':
           description: Forbidden
        '403':
           description: Not Found
  /api/v6/user/account/query:
    get:
      responses:
        '200':
           description: OK
        '401':
           description: Unauthorized
        '402':
           description: Forbidden
        '403':
           description: Not Found
  /health:
    get:
      responses:
        '200':
           description: OK
        '401':
           description: Unauthorized
        '402':
           description: Forbidden
        '403':
           description: Not Found
 


nativeService.tar.gz文件所處的位置如下所示:

低代碼應用在TSF實現服務治理的解決方案是什么  
(6)同理創建ilinkService.tar.gz文件,內容如下  

文件目錄:

├── apis

│ └── native.yaml

├── logs

└── spec.yaml
 


##Spec.yaml文件主要是定義服務及健康檢查相關的內容:
apiVersion: v1
kind: Application
spec:
  services:
    - name: ilink
      ports:
        - targetPort: 8080
          protocol: http
      healthCheck:
        path: /
 

(7)修改Dockerfile文件

修改后的內容如下:

低代碼應用在TSF實現服務治理的解決方案是什么  
低代碼應用在TSF實現服務治理的解決方案是什么  

(8)修改script目錄下的startup文件

在末尾添加內容:    
os.system('mkdir -p /opt/tsf/app_config/apis')
os.system('cp /opt/app/nativeService/spec.yaml /opt/tsf/app_config/')
os.system('cp -r /opt/app/nativeService/apis /opt/tsf/app_config/')
 
低代碼應用在TSF實現服務治理的解決方案是什么  

(9)鏡像構建

##make get-sample 相當于解壓文件到build文件夾
##make build-image 構建鏡像并指定相應的鏡像的tag
 
低代碼應用在TSF實現服務治理的解決方案是什么  
需要關注dockerfile修改的文件內容  
低代碼應用在TSF實現服務治理的解決方案是什么  

當出現以下內容則構建成功

低代碼應用在TSF實現服務治理的解決方案是什么  

3. 騰訊云鏡像倉庫功能存儲構建的鏡像

使用說明: 
https://cloud.tencent.com/document/product/457/9118

 

低代碼應用在TSF實現服務治理的解決方案是什么  
低代碼應用在TSF實現服務治理的解決方案是什么  


將本地構建的鏡像包上傳到鏡像倉庫:  
低代碼應用在TSF實現服務治理的解決方案是什么  


06      
騰訊微服務平臺      



 
1. 創建2臺微服務云服務器
 

(1)具體的創建過程請參考:https://cloud.tencent.com/document/product/213/2936

低代碼應用在TSF實現服務治理的解決方案是什么  
(2)設置安全組    
低代碼應用在TSF實現服務治理的解決方案是什么  

(3)添加相應的安全規則

低代碼應用在TSF實現服務治理的解決方案是什么  


參考:

https://cloud.tencent.com/document/product/213/12452  
2. 登陸微服務平臺    

(1)打開控制面板,搜索TSF

低代碼應用在TSF實現服務治理的解決方案是什么  

(2)進入騰訊微服務平臺TSF

低代碼應用在TSF實現服務治理的解決方案是什么  
3. 新建集群  
(1)新建集群, 該 容器集 群 是利用了騰訊云的容器服務TKE平臺。  


低代碼應用在TSF實現服務治理的解決方案是什么  

(2)導入云主機,以下是已經綁定過的,選擇之間創建好的2臺云服務器即可。

低代碼應用在TSF實現服務治理的解決方案是什么  

(3)集群信息如下圖所示,包括兩臺云主機:

低代碼應用在TSF實現服務治理的解決方案是什么  



 
4. 新建應用  

 
低代碼應用在TSF實現服務治理的解決方案是什么  
低代碼應用在TSF實現服務治理的解決方案是什么  

同理

低代碼應用在TSF實現服務治理的解決方案是什么  

 
5. 新建日志配置項  
低代碼應用在TSF實現服務治理的解決方案是什么  
6. 配置

 
(1)編輯配置信息。  

 
低代碼應用在TSF實現服務治理的解決方案是什么  

(2)添加發布規則

低代碼應用在TSF實現服務治理的解決方案是什么  

 
7. 新建部署組  
低代碼應用在TSF實現服務治理的解決方案是什么  

(1)新建部署,編輯相關信息:

低代碼應用在TSF實現服務治理的解決方案是什么  
低代碼應用在TSF實現服務治理的解決方案是什么  
(2)在保存下一步之前需要檢測是否有足夠的資源。 同理創建另外一個mendix-ilink。 創建完成,如下圖所示:  
低代碼應用在TSF實現服務治理的解決方案是什么  

8. 創建后端數據庫服務

(1)打開容器服務平臺

低代碼應用在TSF實現服務治理的解決方案是什么  

(2)可以看到剛才在微服務平臺創建好的集群,點擊集群id

低代碼應用在TSF實現服務治理的解決方案是什么  
(3)新建Deployment  
低代碼應用在TSF實現服務治理的解決方案是什么  
MYSQL_USER=mendix
MYSQL_PASSWORD=mendix
MYSQL_DATABASE=mendix
MYSQL_ROOT_PASSWORD=root
 


低代碼應用在TSF實現服務治理的解決方案是什么  
 
低代碼應用在TSF實現服務治理的解決方案是什么  
低代碼應用在TSF實現服務治理的解決方案是什么  
(4)創建好的mysql數據庫服務  
低代碼應用在TSF實現服務治理的解決方案是什么  

(5)Pod管理

低代碼應用在TSF實現服務治理的解決方案是什么  

(6)為mysql再創建一個數據庫實例

低代碼應用在TSF實現服務治理的解決方案是什么  
低代碼應用在TSF實現服務治理的解決方案是什么  
低代碼應用在TSF實現服務治理的解決方案是什么  


create  database  mxIlink;
GRANT ALL ON *.* TO 'mendix'@'%';
flush privileges ;
 

9. 為微服務應用添加環境變量

(1)編輯yaml文件

低代碼應用在TSF實現服務治理的解決方案是什么  

為其中一個添加內容:

低代碼應用在TSF實現服務治理的解決方案是什么  


- name: ADMIN_PASSWORD
   value: Password1!
 - name: DATABASE_URL
    value: mysql://mendix:mendix@ilink-mysql:3306/mendix
##另外一個添加內容:
- name: ADMIN_PASSWORD
   value: Password1!
 - name: DATABASE_URL
    value: mysql://mendix:mendix@ilink-mysql:3306/mxIlink
##兩者數據庫實例不同即可
 

(2)當pod的數量和期望一致時,則應用部署完成

低代碼應用在TSF實現服務治理的解決方案是什么  

 
07    
服務驗證
     

     

     

 
由于之前我們設置主機端口的形式訪問應用,兩個應用的端口對外分別為   30080、30089,通過任一臺云服務器即可訪問。  
將新建的Task通過Rest 形式POST到另外一個微服務,GET會從另外一個微服務獲取發送的數據,如下所示:  
低代碼應用在TSF實現服務治理的解決方案是什么  


另外一個微服務平臺接收到的Task數據

低代碼應用在TSF實現服務治理的解決方案是什么  

在構建鏡像的時候提到了Rest API,傳統的方式是ip+port,現在可以直接使用service-name的方式調用。傳統方式:

低代碼應用在TSF實現服務治理的解決方案是什么  

現在的方式:

低代碼應用在TSF實現服務治理的解決方案是什么  

同理相互調用。TSF提供服務注冊、服務發現等服務治理相關的功能。

低代碼應用在TSF實現服務治理的解決方案是什么  

 
08    
微服務服務治理
     

     

     

 

 
1. 服務治理查詢  

 
低代碼應用在TSF實現服務治理的解決方案是什么  

目前我們部署的服務都是一個實例,可通過容器服務平臺進行彈性伸縮。

低代碼應用在TSF實現服務治理的解決方案是什么  

 
2. 服務依賴拓撲
低代碼應用在TSF實現服務治理的解決方案是什么  


兩個服務之間相互調用相關的依賴關系如上圖所示。 調 用概覽圖如下圖所示:  
低代碼應用在TSF實現服務治理的解決方案是什么  
低代碼應用在TSF實現服務治理的解決方案是什么  
低代碼應用在TSF實現服務治理的解決方案是什么  
3.     
調用鏈查詢    
低代碼應用在TSF實現服務治理的解決方案是什么  

TraceId追蹤

低代碼應用在TSF實現服務治理的解決方案是什么  
低代碼應用在TSF實現服務治理的解決方案是什么  

   
4. 服務監控
低代碼應用在TSF實現服務治理的解決方案是什么  

服務健康狀況:

低代碼應用在TSF實現服務治理的解決方案是什么  

 延時狀態碼統計:

低代碼應用在TSF實現服務治理的解決方案是什么  
5. 日志服務


由于之前已經創建了日志配置項,因此可以通過TSF的日志服務可以對日志進行檢索。

低代碼應用在TSF實現服務治理的解決方案是什么  


通過通過多種查詢方式如基本查詢、Lucene語法、正則表達式。如下所示:

低代碼應用在TSF實現服務治理的解決方案是什么  
低代碼應用在TSF實現服務治理的解決方案是什么

關于低代碼應用在TSF實現服務治理的解決方案是什么問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

察隅县| 文安县| 富阳市| 名山县| 上蔡县| 宣汉县| 防城港市| 扎鲁特旗| 翁牛特旗| 长沙县| 揭西县| 鄂州市| 武胜县| 临湘市| 句容市| 绥棱县| 合作市| 普宁市| 本溪| 娄底市| 河西区| 甘孜县| 无锡市| 涪陵区| 通州区| 武定县| 维西| 连南| 昌图县| 克山县| 衡东县| 泸定县| 冕宁县| 蕉岭县| 邵阳县| 云安县| 郑州市| 连云港市| 崇义县| 密山市| 乾安县|