Eurekaの導入と活用方法
基本概念
EurekaはSpring Cloudが提供するサービス登録と発見機能です。各サービスは登録センターに登録され、他のサービスがその存在を知ることができます。
Eurekaには以下の3つの役割があります:
登録センター:サービスの状態を管理する中心サーバ
サービス提供者:Eurekaに登録されるマイクロサービス
サービス消費者:Eurekaを利用してサービスを検索するマイクロ ...
6月25日 22:26 投稿
Spring Cloud マイクロサービスアーキテクチャの実装例
親プロジェクトの構成
Mavenの親プロジェクトは、サブモジュール間で依存関係とバージョンを一元管理します。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
https ...
6月20日 20:23 投稿
Spring Bootによるサービスディスカバリと登録の実装
サービスディスカバリの基本概念
分散システムにおけるサービスディスカバリは、動的なサービス位置特定と通信を実現する基盤技術です。Eurekaはこの機能を提供するオープンソースツールであり、サービス登録センターとして機能します。
Eurekaサーバの構築
依存関係の追加
<dependency>
<groupId>org.springframework.cloud</groupId>
<ar ...
6月16日 16:28 投稿
Spring Cloud Feignによるサービス間通信の実装
本記事では、Spring Cloud Feignを利用したマイクロサービス間での内部API呼び出しについて解説します。サービスディスカバリ機構と連携し、サービス名に基づいて他のサービスを呼び出す方法に焦点を当てます。
設定
1. 依存関係の追加 (pom.xml)
まず、pom.xmlファイルにSpring Cloud Feignのスターター依存関係を追加します。
<dependency>
...
6月8日 18:25 投稿
Spring Cloudにおける複数のFeignClientが同一サービスを呼び出す際のカスタム設定の問題
@FeignClientアノテーションには、以下の主要な属性があります。
name: FeignClientの名前を指定します。Ribbonを使用している場合、この名前はサービスディスカバリに使用されるマイクロサービスの名前となります。
configuration: Feignのカスタム設定クラスを指定します。Encoder、Decoder、ログレベル、Contractなどをカスタマイズできます。
contextId: FeignClien ...
6月3日 18:35 投稿
マイクロサービス間での相互呼び出しの3つの一般的な方法(ソースコード付き)
マイクロサービスアーキテクチャにおいて、複数のサービスを連携させて機能を実現する必要がある場合が頻繁にあります。このような状況で、サービス間の通信方法は設計の重要な要素となります。ここでは3つの代表的なアプローチを紹介します。
一、RestTemplateによる通信
@Bean
public RestTemplate createRestClient() {
return new RestTemplate();
}
サービスコン ...
6月2日 21:05 投稿
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 投稿
JWTとマイクロサービス間通信の実装と仕組み
JWTの基本構造と実装
JWT(JSON Web Token)は、認証と認可を実現するためのオープン標準(RFC 7519)です。JSONベースの軽量なセキュリティトークンで、ヘッダー、ペイロード、署名の3部分で構成されます。システム間での安全なクレーム情報の伝達に利用されます。
JWTのメリット
軽量性: JSON形式のため、XMLよりも軽量で解析が容易
自己完結性: ユーザークレームを含 ...
5月19日 17:56 投稿