Windows環境におけるConsulのインストールとマイクロサービスのサービス登録・発見
1. ダウンロードとインストール
公式サイトからダウンロードしてください:https://www.consul.io/downloads.html
ダウンロードしたファイルを解凍し、そのフォルダでコマンドプロンプトを開きます。以下のコマンドを実行して開発モードでConsulを起動します。
consul agent -dev
以下のようなメッセージが表示されれば起動成功です。UIは http://localhost:8500/ からアク ...
6月29日 17:00 投稿
Eurekaの導入と活用方法
基本概念
EurekaはSpring Cloudが提供するサービス登録と発見機能です。各サービスは登録センターに登録され、他のサービスがその存在を知ることができます。
Eurekaには以下の3つの役割があります:
登録センター:サービスの状態を管理する中心サーバ
サービス提供者:Eurekaに登録されるマイクロサービス
サービス消費者:Eurekaを利用してサービスを検索するマイクロ ...
6月25日 22:26 投稿
Apache APISIX 高性能 API ゲートウェイ – 開発ドキュメント
Apache APISIX は、Nginx と etcd を基盤としたクラウドネイティブな高性能 API ゲートウェイです。動的ルーティングやプラグインのホットロードをサポートし、マイクロサービス環境での API マネジメントに特化しています。
APISIX の特徴
動的設定: サービス再起動不要で設定やプラグインをリアルタイムに更新可能
多プロトコルサポート: HTTP(S)/TCP/UDP/MQTT/gRPC/W ...
6月25日 16:12 投稿
Spring Cloud SleuthとZipkinによる分散トレーシングの実装
分散システムにおけるトレーシングの必要性
マイクロサービスアーキテクチャの採用に伴い、システム間の呼び出し関係が複雑化しています。単一のフロントエンドリクエストが複数のバックエンドサービスを経由する場合、パフォーマンス低下や障害発生時の根本原因特定が困難となります。この課題を解決するため、分散トレーシングシステムが重要な役割を果たします。
Sprin ...
6月21日 20:22 投稿
Spring Cloud Eurekaによる高可用サービスレジストリの構築
Spring Cloudの概要
Spring CloudはSpring Boot上に構築された分散システム開発のためのツールセットであり、開発者が分散システムにおける一般的なパターンを迅速に実装することを支援します。
主な機能として、設定管理、サービスディスカバリ、サーキットブレーカー、インテリジェントルーティング、マイクロプロキシ、コントロールバス、ワンタイムトークン、グローバ ...
6月21日 01:07 投稿
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 投稿
APIゲートウェイKongと管理UI Kongaの導入運用ガイド
概要
KongはOpenResty(Nginx + Luaモジュール)を基盤とした高可用性・拡張性の高いAPIゲートウェイソリューションです。NGINXとApache CassandraまたはPostgreSQLで構築され、RESTful APIによる設定管理を提供します。水平スケーリングが可能で、複数のKongサーバーにリクエストを分散処理できます。
主要コンポーネント
Kong Server:NGINXベースのAPIリクエスト処 ...
6月18日 21:10 投稿
ドメイン駆動設計(DDD)の基礎
はじめに
ドメイン駆動設計(Domain-Driven Design, DDD)は、エリック・エバンスによって2003年に提唱された、複雑なビジネスシステムを扱うためのソフトウェア開発手法です。その核心思想は、**ビジネスドメインをソフトウェア設計の中心に据え、精密なドメインモデルを構築することで、ビジネスの複雑性と技術的な複雑性を分離し、最終的にコードとビジネスを高度に一致 ...
6月18日 20:57 投稿
Spring Bootによるサービスディスカバリと登録の実装
サービスディスカバリの基本概念
分散システムにおけるサービスディスカバリは、動的なサービス位置特定と通信を実現する基盤技術です。Eurekaはこの機能を提供するオープンソースツールであり、サービス登録センターとして機能します。
Eurekaサーバの構築
依存関係の追加
<dependency>
<groupId>org.springframework.cloud</groupId>
<ar ...
6月16日 16:28 投稿
Consulを用いたカスタムサービス登録実装の最適化パターン
設定モデルの再設計
サービスディスカバリーの設定構造を再構築します。以下は再設計された構成オブジェクトです:
namespace ServiceDiscovery.Configuration
{
public class DiscoveryConfig
{
public ClusterEndpoint Cluster { get; set; }
public ServiceRegistration Service { get; set; }
}
}
namespace ServiceDiscovery.Configurat ...
6月13日 20:50 投稿