1.はじめにマイクロサービス
1.1マイクロサービスアーキテクチャは何ですか
- マイクロサービスアーキテクチャは、システムのアーキテクチャ上の設計スタイルです
- N小さなサービスに分割する大規模なシステム
- これらの小さなサービスは、独自のスレッドで実行します
- HTTPプロトコル経由の小さなサービスが通信
- 独自のデータストレージ、事業開発、自動テストおよび展開機構の独立を持っています
- これは、異なる言語で記述することができ
要約:マイクロサービスアーキテクチャの考え方は、単に設計、開発、テスト、リリース、運用・保守およびその他のソフトウェアのライフサイクルを通る開発段階に滞在しません。
2.システムアーキテクチャ
アーキテクチャの例:
2.1マイクロサービス公開 - 継続的インテグレーション
3.マイクロサービスアーキテクチャ9特性
- サービスコンポーネントの
-ユニットをアップグレードする、別々に交換可能な構成要素です。PCのメモリと同様に、同じCPU。 - ビジネス組織のチームが
-スキルはスタッフがフルスタックを必要と - 「製品」の態度ですか
製品ライフサイクル全体の責任ではなく、「プロジェクト」態度の配信をやって- - インテリジェントなエンドポイントとダムのパイプ
-マイクロサービスとの間の通信:
--- HTTP APIのRESTfulである
--- MessageMQメッセージキュー- 分散型ガバナンス
-ネイルなどなく、すべての問題ではなく、すべてのソリューションをハンマーです。 - 分散型データ管理
-データ・ストレージ・サービスの独立したメンテナンス、データの整合性の問題を維持するための補償機構によっていわゆる「ノーもの」遠くできるだけルームサービス - インフラ自動化
-自動テスト
-自動展開 - フォールト・トレラント・デザイン
-各サービス実装の重要なデータを監視し、そのようなサービスの状態、回路ブレーカの状態、スループット、およびその他のネットワーク・データ・ダッシュボードなどのロギング・コンポーネント - 進化的設計
-初期モノマー、徐々には、共通の成分を抽出分割します
- 分散型ガバナンス
4.マイクロサービス選択
-
Dubbo 是阿里多年构建生产级分布式微服务的技术结晶,服务治理能力非常丰富,在国内技术社区具有很大影响力,目前 github 上有超过 16k 星。Dubbo 本质上是一套基于 Java 的 RPC 框架,当当 Dubbox 扩展了 Dubbo 支持 RESTful 接口暴露能力。
-
Dubbo 主要面向 Java 技术栈,跨语言支持不足是它的一个弱项,另外因为治理能力太丰富,以至于这个框架比较重,完全用好这个框架的门槛比较高,但是如果你的企业基本上投资在 Java 技术栈上,选 Dubbo 可以让你在服务框架一块站在较高的起点上,不管是性能还是企业级的服务治理能力,Dubbo 都做的很出色。
- 新浪微博开源的 Motan(GitHub 4k stars)也不错,功能和 Dubbo 类似,可以认为是一个轻量裁剪版的 Dubbo。
5. Spring Cloud 介绍
-
Spring Cloud技术栈提供了分布式系统和微服务中所需要的约大多数公共模块和功能
-
Spring Cloud的出现,可以说是对微服务架构巨大的支持和强有力的后盾
- 使用Spring Cloud就像直接购买品牌机一样,在Spring 社区的整合下,做了大量的兼容性测试,拥有更好的稳定性。
6. Spring Cloud 版本管理
7. Spring Cloud 组件
- 微服务基础
- 微服务构建 Spring Boot
- 服务治理 Spring Cloud Eureka
- 客户端负载均衡 Spring Cloud Ribbon
- 服务容错保护 Spring Cloud Hystrix
- 声明式服务调用 Spring Cloud Feign
- Api网关服务 Spring Cloud Zuul
- 分布式配置中心 Spring Cloud Config
- 消息总线 Spring Cloud Bus
- 消息驱动的微服务 Spring Cloud Stream
- 分散型サービスの追跡春クラウドスルース