I.はじめに
急増は、 .NETのコアサービスエンジンに基づいています。最初のバージョンは、インキュベーションNCCコミュニティの2年後、2017年6月に生まれた、バージョン2.0は2019年8月28日、開発経験の二年間にリリースされる、マイクロ・サービス・テクノロジー・スタックアーキテクチャを含むすべてのでし忙しく動き、カバーを持っていますサービス、サービスの発見、ミドルウェア、プロトコル、ホストと、リンクの追跡、およびルールマイクロサービスのセット、仕様の統一された一連の形成を開発するための登録。以下のサービスは、エンジンのアーキテクチャ図を急増しています
図診断は、サービス全体のリンクを収集するために、各種の情報を可能にします。
そのような実行時間指定されたソースアドレス、リモートアドレス、として、Grpc Skywakingミドルウェアミドルウェアに押さSkywakingする取得が完了した後、次いでSkywaking WebUIを介して表示、すべてのプロトコルタイプおよびパラメータが収集され、リンクを呼び出します。
契約は物事エンド・ソリューションのモバイル、Webおよびインターネットのためのフロントエンドです。
エンジンが提供するサービスが続きます。
第二に、サービスコールトラッキングリンク
リンクトレースは、集積Skywalking、参照SkyAPM-DOTNET拡張Surging.Apm.Skywalkingエンジン部品を、のみバージョン2.0を実装し、RPCリンクトレース呼び出しを置く、次のように特定の構成であります
ルートディレクトリまたはエンジンに置かまず、ファイルskyapm.jsonを作成するには、次のようにコンフィギュレーションコードは、rootpathgルートディレクトリを指定します
{ "SkyWalking":{ "ServiceNameは": "Surging.Services.Server"、 "名前空間": ""、 "HeaderVersions":[ "SW6" ]、 "サンプリング":{ "SamplePer3Secs":-1、 "割合":-1.0 }、 "ロギング":{ 「レベル」:「情報」、 "ファイルパス": ".logのログ/ skyapm- {日付}" }、 "交通":{ "間隔":3000、 "はprotocolVersion": "V6"、 "QueueSizeに":30000、 "のBatchSize":3000、 "gRPC":{ "サーバー": "ローカルホスト:11800"、 "タイムアウト":100000、 "のconnecttimeout":100000、 "ReportTimeout":600000 } } } }
2.次いでSkywalkingに収集されたデータを送信することができるであろう基準またはスキャニングアセンブリをSurging.Apm.Skywalking参照を追加します
3.データ取得または、次のように構成DisableDiagnosticを使用して無効に構成されていてもよいです
{ "サージング":{ "DisableDiagnostic":真、 } }
http://127.0.0.1:281/api/user/getusername/222?serviceKey=Userアドレスステージコンポーネントを呼び出すGETすると、あなたはSkywalkingのWebUIで、次のインターフェイスを見ることができます
三、ステージのルールを、白いサポートブラックリストを設定しHTTPMETHOD
1.ホワイトRoutePathブラックリストはブラックリストの設定よりも高いグローバルコンフィギュレーションRoutePath構成ホワイトリストを指定せずに、指定することができ、IPの重複があると言うことで、ホワイトリストがカバーされ、以下のように、構成コードであります
"ステージ":{ "AccessSetting":[ { "ブラックリスト": "$ {}ブラックリスト| 127.0.0.1"、 「有効」:偽 }、 { "ホワイトリスト": "$ {ホワイトリスト} | 192.168.10.50,192.168.43.0 / 24,127.0.0.1"、 "ブラックリスト": "$ {}ブラックリスト| 192.168.2.50,192.168.1.0 / 16"、 "RoutePath": "API /ユーザー/存在しています"、 「有効」:真 } ] }
2. 通过配置HttpPost ,HttpPut , HttpDelete 和 HttpGet就能配置rest的请求方式,如果不配置,所有请求都支持。而 设置isRegisterMetadata为True,就会把httpmethod注册为服务元数据。如果是微服务可以设置为true ,如果是中转服务或者聚合服务可以设置为false
[ServiceBundle("api/{Service}/{Method}")] //[ServiceBundle("api/{Service}")] //[ServiceBundle("api/{Service}/{Method}/test")] //[ServiceBundle("api/{Service}/{Method}/test",false)] public interface IUserService: IServiceKey { /// <summary> /// 判断是否存在 /// </summary> /// <param name="id">用户编号</param> /// <returns></returns> [ServiceRoute("{id}")] [HttpPost(),HttpPut(), HttpDelete(), HttpGet()] // [ServiceBundle("api/{Service}/{id}", false)] Task<bool> Exists(int id); /// <summary> /// 报错用户 /// </summary> /// <param name="requestData">请求参数</param> /// <returns></returns> [Authorization(AuthType = AuthorizationType.JWT)] [HttpPost(true),HttpPut(true)] Task<IdentityUser> Save(IdentityUser requestData); }
四、总结
2019年08月28日发布2.0版本,敬请期待