Spring CloudマイクロサービスにおけるMinIOを使用したファイルアップロード・ダウンロードAPIの実装方法
ファイルアップロード機能の実装
まずMinIOをデプロイし、設定情報を記述します。ここではNacosから動的にYML設定を読み込む方式を採用しています。
サービス層の実装:
@Autowired
private MinioStorageConfig storageConfig;
@Autowired
private MinioClient minioClient;
@Autowired
private FileMetadataRepository metadataRepository;
/**
* シンプルファイルア ...
8月17日 00:26 投稿
Spring Cloud FeignクライアントのBean定義衝突:`FeignClientSpecification`登録エラーの解決
Spring BootアプリケーションでSpring Cloud Feignを使用している際に、以下のようなエラーが発生することがあります。
Description:
The bean 'external-catalog-service.FeignClientSpecification', defined in null, could not be registered. A bean with that name has already been defined in null and overriding is disabled.
Action:
Consider renaming one o ...
8月4日 20:54 投稿
HystrixとTurbineを用いたサービスモニタリングの実装
マイクロサービスアーキテクチャにおけるHystrixおよびTurbineの活用方法について解説します。この記事では、Hystrixの基本設定やサービスのデグレード処理、そしてTurbineを使った複数サービスの集約監視に焦点を当てます。
Hystrixによる回路遮断の概念
Hystrixは、システム全体の安定性を保つために特定の部分で問題が発生した場合にその影響を最小限に抑えるための ...
7月29日 22:25 投稿
Spring BootとSpring Cloudの統合:基本実践入門
Spring Cloudの概要
Spring Cloudは分散システム向けの包括的ソリューションです。設定管理、サービスディスカバリ、サーキットブレーカーなどの分散システム機能を迅速に構築するためのツールセットを提供します。
主要コンポーネント
サービスディスカバリ:Netflix Eureka
クライアント側負荷分散:Netflix Ribbon
サーキットブレーカー:Netflix Hystrix
API ...
7月29日 01:55 投稿
Spring Cloud Gatewayによるルーティング設定と述語の活用
Spring Cloud Gatewayの概要
Spring Cloud GatewayはSpring CloudエコシステムにおけるAPIゲートウェイで、非同期非ブロッキング処理を特徴としています。マイクロサービスアーキテクチャにおいて統一されたルーティング管理を提供し、Netflix Zuulの代替を目指しています。
主要コンポーネント
Route(ルート): ルーティングの基本単位で、ID、宛先URI、述語セット、フ ...
7月12日 16:41 投稿
Ribbonの基本概念と実装原理
Ribbonは、Netflixが開発したオープンソースのロードバランサーコンポーネントで、サービス消費者側にロードバランサーのロジックを組み込むことで、サーバーへのリクエストを分散します。
Ribbonはデフォルトで7つのロードバランシング戦略を提供しています:
BestAvailableRule:最も少ないリクエストを受けているサーバーを選択
ClientConfigEnabledRoundRobinRule:ラ ...
7月6日 20:18 投稿
Spring Cloud Eurekaを利用したマイクロサービス間連携:クライアント側のサービス呼び出し実装
マイクロサービスアーキテクチャにおけるサービス間通信は、REST形式のHTTPリクエストが一般的ですが、リモートプロシージャコール(RPC)も基盤となる重要な手法の一つです。
RPCとHTTP通信の技術的差異
RPC(Remote Procedure Call)は、ネットワークを介して離れたホスト上のプログラムを、ローカルのメソッド呼び出しのように透明に実行するためのプロトコル群です。R ...
6月5日 16:00 投稿
Spring Cloud Config による分散設定管理の実装
マイクロサービスアーキテクチャでは、多数のサービスが協調して動作しますが、各サービスには固有の設定が必要です。サービス数が増大するにつれ、個別の設定ファイルを個別に管理・更新することは運用コストを著しく増大させます。Spring Cloud Configは、これらの設定を外部化・一元管理するためのソリューションを提供します。
Spring Cloud Config の構成要素
...
6月1日 11:13 投稿
Spring Cloud環境でのAPIゲートウェイ実装:Zuulによるリクエスト転送とルーティング設定
APIゲートウェイの役割とZuulの概要
マイクロサービスアーキテクチャにおいて、外部クライアントからのリクエストを一元管理するための中間層としてAPIゲートウェイが利用されます。Netflix社が提供しているZuulは、Servlet仕様準拠のWebアプリケーションとして動作し、動的ルーティング、フィルタリング、モニタリング、およびセキュリティ検査を実装するための基盤フレー ...
5月24日 18:24 投稿
Feignクライアントによるマイクロサービス呼び出しとサーキットブレーカーの内部メカニズム
Feignは宣言型のHTTPクライアントとして設計されており、マイクロサービス間通信を簡略化します。Spring CloudではRibbonとEurekaとの統合により、負荷分散を実現したHTTPクライアントとして利用可能です。
環境設定:
<spring-boot.version>2.3.2.RELEASE</spring-boot.version><br></br><spring-cloud.version>Hoxton.SR9</spring-clou ...
5月22日 03:11 投稿