surging EFCore 服務實現入門

2022-02-17 14:18:17 字數 3496 閱讀 6103

本篇文章基於上篇基礎上進行的,請先了解此篇 

surging+centos7+docker+rancher2.0 菜鳥部署執行筆記

開發環境  visual studio 2017 15.5 

資料庫  sql server 2012

執行環境  虛擬機器centos 7+docker+rancher 2.0+consul+rabbmitmq

我參照surging 的原始碼將服務模組分離出來,這樣我們就不用操心閘道器怎麼實現了,安心寫我們的服務就行了。我也假模假樣的用下ddd思想。

surgingdemo.data 我這邊用於存放ef 實體,算是 基礎設施層

surgingdemo.imoduleservices.usermanager  使用者管理模組介面

surgingdemo.modules.usermanager 使用者管理模組實現

surgingdemo.sevices.server  服務層,配置好服務層閘道器會通過consul 發現服務

把 surgingdemo.data設為啟動項並 新增 nueget 包

install-package microsoft.entityframeworkcore   --ef框架的核心包

install-package microsoft.entityframeworkcore.sqlserver --針對sqlserver資料庫的擴充套件,使用sqlserver資料庫必須

install-package microsoft.entityframeworkcore.tools --使用者根據現有的資料庫生成模型**等 ,更多參考 :https://

根據資料生成實體模型,surgingdemo.data設為啟動項不然生成失敗!

scaffold-dbcontext "

server=.;database=test;trusted_connection=true;

" microsoft.entityframeworkcore.sqlserver -outputdir models --根據自己資料自行修改引數

生成成功會建立models檔案 效果如下圖

目前只是生成了預設的dbcontext 我們要修改一下做成自定義配置連線字串。稍後在啟動服務的時候註冊進去。

///

///資料連線字串

/// public

static

string connectionstring

protected

override

void

onconfiguring(dbcontextoptionsbuilder optionsbuilder)

}

依照surging中的surging.services.server 層我們將相關的配置檔案和啟動內容copy過來。

surging相關引用 可以通過nuget 進行安裝,若是自己對閘道器進行過定製,那就引用生成後dll。

生成成功後,修改surgingsettings.json 配置檔案

1

"connectionstring

": "

$|192.168.56.2:8500

" --設定consul的位址,根據實際情況配置2"

eventbusconnection

": "

$|192.168.56.2

" --設定rabbitmq 的位址

34 --在末尾增加sql連線字串配置檔案5"

connectionstrings

": |server=.;database=test;user id=sa;password=s1a2;trusted_connection=false;

"7 }

接下來新建乙個user的介面和實現,介面檔案以 service 結尾並整合iservicekey

")] --這是surging的路由設定 必須加上

介面實現,必須繼承 proxyservicebase

倉儲層 ,必須繼承 baserepository 

這樣我們的demo 程式算是完工了。。嘻嘻 開始run起來,前提是你要 surging 閘道器執行起來 consul和rabbitmq 配置好。

此處的ip 就是服務的ip位址在vs 本地除錯的時候可以設定成本機ip,不然在docker容器中的 閘道器找不到這個位址的。如果你surging是在本機vs 執行的設定成127.0.01 沒毛病。當我們發布到 服務端到docker容器中的時候,要設定成 0.0.0.0  切記切記

執行成功後閘道器介面如下圖

成功後我們在呼叫獲取用列表的方法 

本地測試沒毛病後,發布服務端 上傳到,centos 7 上,docker build 映象,對映好埠 ,資料庫字串的ip 記得改成本機ip 了用 . 執行不起來的,然後run起來 。。。(不清楚可以參考上篇閘道器發布教程)

如有疑問可加surging官方群:615562965 

FTP服務 Web服務

ftp服務 web服務 一 ftp概述和搭建 1 ftp是一種應用層協議 採用c s結構設計,在傳輸層使用的是tcp的21 控制連線 與20 資料連線 2 搭建ftp站點 二 常用 ftp 服務端程式 1 iis windows server 2012 r2角色中的乙個可選角色服務 iis 元件主要...

SpringCloud服務調服務

org.springframework.cloud spring cloud starter feign enablefeignclients configuration public class mybatisplusconfig 資料許可權外掛程式 return datascopeinterce...

服務熔斷 服務降級

當某個微服務不可用或者響應時間太長時,會進行服務的降級,進而熔斷該節點微服務的呼叫,快速返回錯誤的響應資訊。當檢測到該節點微服務呼叫響應正常後,恢復呼叫鏈路。當伺服器壓力劇增的情況下,根據實際業務情況及流量,對一些服務和頁面有策略的不處理或換種簡單的方式處理,從而釋放伺服器資源以保證核心交易正常運作...