Node.jsを使用してDaprでクラウドネイティブマイクロサービスアプリを構築する0から1の迅速なガイド
Daprは、開発者が分散システムの複雑さに集中せず、柔軟な無状態・有状態アプリケーションを簡単に構築できるポータブルなイベント駆動型ランタイムです。クラウドまたはエッジ環境で動作し、複数のプログラミング言語とフレームワークをサポートしています。Daprは、現代的なクラウドネイティブアプリケーションの構築を大幅に簡素化します。
クラウドネイティブマイクロ ...
6月9日 16:19 投稿
Spring Cloud Gateway 実践ガイド:基本設定から応用テクニックまで
Spring Cloud Gateway は Spring Boot と Project Reactor を基盤とした API ゲートウェイで、リクエストルーティング、フィルタリング、モニタリングなどの機能を提供します。以下では、Spring Boot 3 プロジェクトへの組み込み手順から高度な活用方法までを詳しく解説します。
1. 依存関係の追加
まず、pom.xml に Spring Cloud Gateway スターターを追加します。Spring ...
6月3日 22:11 投稿
Spring Cloud Gatewayにおけるグローバルフィルターの活用: カスタム実装と基本概念
マイクロサービスアーキテクチャでは、APIゲートウェイがクライアントとバックエンドサービス間の重要な中継点として機能し、リクエストのルーティング、負荷分散、セキュリティ検証といった多岐にわたる役割を担います。数あるAPIゲートウェイフレームワークの中でも、Spring Cloud Gatewayはその強力な機能セットにより、多くのマイクロサービスプロジェクトで採用されて ...
6月3日 16:44 投稿
マイクロサービス間での相互呼び出しの3つの一般的な方法(ソースコード付き)
マイクロサービスアーキテクチャにおいて、複数のサービスを連携させて機能を実現する必要がある場合が頻繁にあります。このような状況で、サービス間の通信方法は設計の重要な要素となります。ここでは3つの代表的なアプローチを紹介します。
一、RestTemplateによる通信
@Bean
public RestTemplate createRestClient() {
return new RestTemplate();
}
サービスコン ...
6月2日 21:05 投稿
brpc分散型トレーシングの可視化ガイド:Jaeger UIを活用したRPC呼び出しチェーンの詳細分析
brpc分散型トレーシングの可視化ガイド:Jaeger UIを活用したRPC呼び出しチェーンの詳細分析
brpcはC++言語を使用した産業級RPCフレームワークで、検索、ストレージ、機械学習、広告、レコメンデーションなど、高性能システムで広く利用されています。"brpc"は"better RPC"を意味します。プロジェクトアドレス: https://gitcode.com/gh_mirrors/brpc3/brpc
本稿では、brp ...
5月28日 03:55 投稿
外部に公開してはならないAPI endpointの対処法
システム開発において、特定のAPIを外部ネットワークに公開せず、内部サービス間でのみ利用できるようにしたい場合、代表的な3つのアプローチが存在する。
内部向け・外部向けでマイクロサービスを分離する
ゲートウェイとRedisを活用したホワイトリスト方式
ゲートウェイとAOPによるリクエスト元判定
以下で、それぞれの方案の特徴と実装方法について詳しく解説する。
1 ...
5月23日 20:00 投稿
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 投稿
マイクロサービスの学習と実装
マイクロサービスの概要
単体アプリケーションを複数の小さなサービスに分割し、それぞれ独立してデプロイするアーキテクチャです。
使用ポート
黒馬モール: 18080
Nacos: 8848
Seata: 7099
Sentinel: 8090
RabbitMQ: 15672
Elasticsearch: 9200
Kibana: 5601
MyBatisPlusの導入
MyBatisPlusは、MyBatisの機能を拡張し、単 ...
5月18日 01:02 投稿
Spring Cloud Config Serverのサービス化と高可用性実装
これまでの実装内容を振り返ります:
Gitリポジトリ連携したconfig-server-gitの構築
Gitee上でのconfig-repoディレクトリ作成(設定情報保存用)
Git設定情報取得用config-clientの構築
config-clientでのRefresh機能による動的設定更新
本稿ではSpring Cloud Configの高度な機能について解説します。
高可用性の課題解決
従来のアプローチ
本番環境ではConfig Serverを ...
5月15日 16:08 投稿