ボーは、共有への皆のためのソート何かに、長年にわたって、最近持っていた時間を送信しませんでした。
githubのプロジェクトに関するすべてのコンテンツの私は、デモ/-CN liuzhibin SpringBootに基づいて、プレゼンテーションダボマイクロサービス+ Mycat、シャーディング・プロキシサブライブラリーのサブテーブル+ Seata分散トランザクション管理+ ZipKin、SkyWalking、ピンポイントのパフォーマンス分析リンクトレースAPMツール、詳細なドキュメントは、迅速に実行することができます
デモンストレーションアーキテクチャ
デモプロジェクトを実行
package.shスクリプトをパッケージとして:
sh package.sh
:最も簡単に実行する方法は、単一のMySQLデータベースを使用して、ナコスレジストリ、4つの実行ダボのサービスやWebアプリケーションを、sh package.sh -mycat
:使用Mycatサブライブラリーのサブテーブル。sh package.sh -sharding-proxy
:使用シャーディング・プロキシサブライブラリーサブテーブル。sh package.sh -seata
:使用Seataは、トランザクション管理を分散しました。sh package.sh -zipkin
:使用ZipKinリンクトラッキングのために、性能分析。sh package.sh -pinpoint
:使用ピンポイントリンクトラッキングのために、性能分析。sh package.sh -skywalking
:使用SkyWalkingリンクトラッキングのために、性能分析。
パラメータは、例えば、組み合わせてもよいsh package.sh -mycat -seata -zipkin
、サブサブテーブルリポジトリは唯一のパラメータ、APM 3つのツールを1つだけ選択してください。
手順を実行する最も簡単な方法:
- JDK 8+;
- ダボレジストリの展開ナコス、;
シンプル、参照ナコス高速起動が可能。 - MySQLデータベース、
データベーススクリプトの構築SQL-schema.sqlを、データベーススクリプトを構築していることを実行するだけの簡単な方法必要とし、サブライブラリーサブテーブルの使用方法を示しmydemo-dn1
、単一のライブラリをすることができます。 - プロジェクトの設定情報を変更します;
内の構成情報、親のpom.xml、データベースなどの接続情報、ナコスアドレス。 - コンパイラパッケージ;
実行はsh package.sh
、Windows環境でのgit bashが実行することができますインストールされています。 デモプロジェクトを実行します。
サービスやWebアプリケーションを起動します:java -jar item-service\target\item-service-0.0.1-SNAPSHOT.jar java -jar stock-service\target\stock-service-0.0.1-SNAPSHOT.jar java -jar user-service\target\user-service-0.0.1-SNAPSHOT.jar java -jar order-service\target\order-service-0.0.1-SNAPSHOT.jar java -jar shop-web\target\shop-web-0.0.1-SNAPSHOT.jar
// localhostを::HTTP 8090 /ショップ訪問、操作の実装の効果を確認します。
分散トランザクション管理
アリクラウド分散トランザクション管理は、オープンソースのうち、オープンソース版Seata、2019インディアン1越をGTS、バージョン1.0.0がリリースされました。参照の概念、展開と使用分散管理フレームワークの概要Seata情勢。
AT、TCC、佐賀柔軟なトランザクションモードの3種類を提供Seata、ATモードでは、使いやすい、現状のアプリケーションにほぼ透明です。
- パフォーマンスのオーバーヘッドは比較的高いです。
- シャーディングプロキシライブラリサブテーブルが分割され、Seataがフルスライス多くのルートが実行されるSQL操作を生成使用Mycatでは、詳細な参照Seataはトランザクション管理フレームワークの概要分散末尾にテキストを、
サブライブラリーサブテーブルデータベース
このプロジェクトは、の使用を示していMycatとシャーディング・プロキシ除算ライブラリサブテーブル、関連する概念、導入および使用、参照MyCatサブライブラリーのサブテーブルの概要、シャーディング・プロキシサブライブラリーのサブテーブルの概要は、これらの2つのサブライブラリーのサブテーブルのオープンソースプログラムをそして、DRDSのコントラスト、参照DRDS製品概要。
データは、別々の読み出し、書き込み、及び実装言語独立に格納され、Mycat、シャーディングプロキシとDRDS MySQLのプロトコルは、独立したミドルウェアとして実装され、アプリケーションプログラムは、弾性的に伸長スペーサ・サブライブラリサブテーブルであろう。
APMフルリンクモニタリング
実証プロジェクトのサポートピンポイント、SkyWalking、Zipkinフルリンク追跡およびパフォーマンス分析、概念、展開、および使用のためのAPMツールの3種類、参照ピンポイントデプロイおよび使用、展開および使用SkyWalking、Zipkinの展開と使用を。
APMツールの比較の三種類:
- 使用:特定しSkyWalking javaagent実施形態は、ほとんどのアプリケーション・コード侵襲を使用しない。Zipkin要件及びアプリケーション、およびアプリケーションに完成様々な構成を一緒に包装、強い依存性です。
- リンクトラッキング機能:総合少し差、基本的に言及グーグルDapperのも主流のサポート体制の多数を追跡、詳細にいくつかの違いがあります。
- 単一の分析上のRPC呼び出し、注釈ZipKin細かい定義、参照Zipkinの展開と使用。
- 特定しSkyWalkingはピンポイントコードを使用すると、メソッドに注釈を追加する必要がSkyWalking、侵襲しなかった、関数呼び出しの連鎖を追跡するために、追加のメソッドを追加することが可能です。
- ;カスタムタグ機能を追加サポートをSkyWalking、あなたは、このようなメソッドのパラメータは中スパンでの問題分析の賛成でスパン値などの追加情報を記録するには、この機能を使用することができます
- こうしたパフォーマンス統計インスタンスとしてレベルのアプリケーション/サービスを提供し、特定しSkyWalking UI機能が豊富な、両方の自分の特性を持っている。ZipKin UIは最も弱いを備え、依存関係のみを提供し、特定のコールチェーンの分析を参照してください。:UIが特徴
の追加UI機能、データはAPMツール、カスタム開発を読み取ることができます。 - コミュニティサポート:最高、春クラウドメッシュとサービス(ZipKin柔軟なアーキテクチャ、完全なドキュメント、コミュニティのサポートistio)公式ZipKinサポート、SkyWalking Huawei社のスタッフの開発は、Apacheプロジェクトとなっています。ピンポイントの韓国の会社の収入。