ALL_SERIES
SERIES_OVERVIEW // CURRICULUM_MAP

Learn Java Microservices Communication

// Mental model komunikasi microservices: call, message, event, stream, coupling, failure, dan decision model untuk memilih bentuk komunikasi yang tepat.

96 Lessons1273 Min Total04 Phases

This overview is designed to help you choose the right entry point quickly. Follow the full track from lesson one, continue from your last checkpoint, or jump straight into a phase that matches what you need right now.

abstractionaclaction-apiadmission-controladr+228 more

Curriculum Map

Navigate by phase, then choose the lesson that matches your current depth.

01

Communication Mental Model

14 min

Mental model komunikasi microservices: call, message, event, stream, coupling, failure, dan decision model untuk memilih bentuk komunikasi yang tepat.

02

Distributed Boundary Thinking

13 min

Distributed boundary thinking untuk Java microservices: mengapa network bukan detail implementasi, bagaimana mendesain boundary, deadline, failure, ownership, dan observability.

03

Communication Taxonomy

18 min

Taksonomi komunikasi microservices: request/response, fire-and-forget, command queue, pub/sub, event notification, event-carried state transfer, streaming, dan bagaimana memilihnya secara sadar.

04

Sync vs Async Decision Model

14 min

Decision model untuk memilih komunikasi synchronous atau asynchronous berdasarkan invariants, latency budget, consistency, coupling, failure handling, dan operability.

05

Learn Java Microservices Communication Part 005 Coupling Axis

19 min

06

Learn Java Microservices Communication Part 006 Latency Throughput Reliability Tradeoff

20 min

07

Learn Java Microservices Communication Part 007 Failure First Communication Design

21 min

08

Learn Java Microservices Communication Part 008 Communication Invariants

18 min

09

HTTP as Microservice Transport

17 min

HTTP as a microservice transport, from protocol semantics to production usage boundaries, failure modes, observability, and Java implementation posture.

10

HTTP Method Semantics: Safety, Idempotency, Cacheability

17 min

Deep practical guide to HTTP method semantics for Java microservices; safety, idempotency, cacheability, state transitions, retries, and production API design.

11

Status Code Design for Service-to-Service APIs

20 min

Production-grade guide to HTTP status code design for Java service-to-service APIs; success, client failure, server failure, retriability, Problem Details, and Java implementation patterns.

12

Headers, Metadata, Correlation, and Context Propagation

16 min

Deep practical guide to HTTP headers, metadata, correlation, distributed tracing, deadline propagation, idempotency keys, tenancy context, and safe context propagation in Java microservices.

13

Timeout Budgeting for HTTP Calls

14 min

Production-grade timeout budgeting for HTTP service-to-service calls in Java microservices, covering deadline propagation, per-attempt timeout, total budget, retries, cancellation, observability, and failure semantics.

14

Connection Pooling, Keep-Alive, DNS, and Socket Lifecycle

15 min

Production-grade guide to HTTP connection pooling, keep-alive, DNS behavior, socket lifecycle, connection reuse, HTTP/1.1 vs HTTP/2 pooling implications, and Java client operational tuning.

15

HTTP/1.1 vs HTTP/2 in Internal Communication

19 min

Production-grade guide to HTTP/1.1 vs HTTP/2 for internal Java microservice communication, covering framing, multiplexing, connection reuse, flow control, head-of-line blocking, Java client behavior, proxy behavior, and decision criteria.

16

HTTP/3 and QUIC Considerations for Microservices

15 min

Production-grade guide to HTTP/3 and QUIC considerations for Java microservices, covering QUIC transport, UDP realities, TLS, stream multiplexing, connection migration, Java support, proxies, service mesh implications, and adoption decision criteria.

17

Compression, Payload Size, and Wire Efficiency

15 min

Production-grade guide to compression, payload size, representation design, and wire efficiency for Java microservice HTTP communication.

18

Error Response Modeling: Problem Details, Retriability, Diagnostics

13 min

Production-grade guide to modeling HTTP error responses in Java microservices using status codes, Problem Details, retriability classification, diagnostics, and safe operational contracts.

19

JDK HttpClient for Microservice Calls

12 min

Production-grade guide to using JDK HttpClient as the baseline synchronous and asynchronous HTTP client for Java microservice communication.

20

Spring RestClient: Synchronous HTTP Done Properly

10 min

Production-grade guide to using Spring RestClient as a modern synchronous HTTP client for Java microservice communication.

21

Spring WebClient: Reactive HTTP Without Magical Thinking

10 min

Production-grade guide to Spring WebClient for reactive and non-blocking HTTP communication in Java microservices.

22

OpenFeign: Declarative HTTP Clients and Their Hidden Costs

10 min

Production-grade guide to OpenFeign and Spring Cloud OpenFeign for declarative HTTP clients in Java microservices.

23

MicroProfile Rest Client for Jakarta/MicroProfile Systems

16 min

Production-grade guide to MicroProfile Rest Client for Jakarta/MicroProfile Java microservices.

24

Designing Client Abstraction Boundaries

13 min

Production-grade guide to designing client abstraction boundaries for Java microservices communication.

25

Client Configuration Model

18 min

Production-grade configuration model for Java microservice HTTP clients, covering timeout, retry, circuit breaker, bulkhead, pool, rate limit, TLS, payload, and per-operation policies.

26

Client-Side Observability

16 min

Production-grade client-side observability for Java microservice communication, covering traces, metrics, logs, context propagation, cardinality, error taxonomy, dashboards, and alerting.

27

HTTP Client Testing with Stubs, Fakes, and Contract Fixtures

15 min

HTTP client testing with stubs, fakes, contract fixtures, failure simulation, and CI gates for production-grade Java microservice communication.

28

Production-Grade HTTP Client Template

9 min

A production-grade Java HTTP client template covering package structure, configuration, resilience policy, observability, error mapping, tests, and operational readiness.

29

API Surface Area Control

18 min

API surface area control for internal HTTP services: why every endpoint is a dependency, how to shape stable boundaries, and how to prevent communication sprawl.

30

Resource APIs vs Action APIs

13 min

Resource APIs vs action APIs for Java microservices: how to choose between CRUD-shaped resources and explicit domain actions without abusing HTTP semantics.

31

Command/Query Split in Internal HTTP APIs

16 min

Command/query split in internal HTTP APIs: how to design read and write endpoints with different semantics, failure models, latency budgets, idempotency, and Java implementation boundaries.

32

Pagination, Filtering, Sorting, and Query Stability

13 min

Pagination, filtering, sorting, and query stability for internal Java microservice HTTP APIs: cursor tokens, stable ordering, index-aware filters, bounded result sets, and failure-safe contracts.

33

Bulk and Batch Endpoints Without Breaking Reliability

19 min

Bulk and batch endpoint design for Java microservices: bounded payloads, item-level outcome modeling, atomicity choices, async job handoff, concurrency limits, and operational safety.

34

Idempotency-Key Pattern for Commands

17 min

Idempotency-Key pattern for Java microservices: duplicate prevention, request fingerprinting, response replay, unknown outcomes, storage design, concurrency handling, and safe retries for side-effecting HTTP APIs.

35

Request Deduplication and Replay Safety

15 min

Request deduplication and replay safety for Java microservices: duplicate sources, identity model, dedup state machine, response replay, concurrency handling, TTL, outbox integration, testing, and operational runbook.

36

HTTP API Versioning for Internal Services

16 min

HTTP API versioning for Java microservices: compatibility lifecycle, additive and breaking changes, version placement, OpenAPI versioning, expand-contract migration, deprecation, consumer telemetry, Java implementation patterns, and governance.

37

OpenAPI for Internal Service Communication

11 min

OpenAPI for internal Java microservices: contract-first mindset, operation design, reusable components, error modeling, idempotency, pagination, governance, linting, diffing, testing, documentation, and production communication policy.

38

Generated Clients: Productivity, Drift, and Failure Modes

14 min

Generated client pitfalls for Java microservices: OpenAPI code generation trade-offs, hidden coupling, generated DTO leakage, enum traps, exception mapping, transport policy, versioning, build reproducibility, security, testing, and safe wrapper architecture.

39

Timeout Design: Connect, Read, Write, Total, Deadline

15 min

Timeout design for synchronous Java microservice calls: connect/read/write/total timeout, deadline propagation, timeout budget math, pool acquisition, DNS/TLS, server cancellation, gRPC deadlines, Resilience4j TimeLimiter, testing, observability, and production policy.

40

Retry Design: Backoff, Jitter, Budgets, and Retry Storms

15 min

Retry design for synchronous Java microservice calls: retry eligibility, idempotency, unknown outcome, exponential backoff, jitter, Retry-After, retry budgets, amplification, Resilience4j Retry, testing, observability, and production policy.

41

Circuit Breaker Design with Resilience4j

16 min

Circuit breaker design for Java microservices with Resilience4j: state machine, failure rate, slow call rate, sliding windows, half-open probes, exception classification, composition with timeout/retry/bulkhead, observability, testing, and production policy.

42

Bulkhead Isolation: Thread, Semaphore, Queue, Pool

14 min

Bulkhead isolation for Java microservices: semaphore and thread-pool bulkheads, dependency isolation, capacity math, queue limits, virtual threads considerations, Resilience4j Bulkhead, composition with timeout/retry/circuit breaker, observability, testing, and production policy.

43

Rate Limiting and Client-Side Throttling

16 min

Rate limiting for Java microservices: client-side and server-side throttling, quotas, token bucket, leaky bucket, fixed/sliding windows, RateLimit headers, Retry-After, Resilience4j RateLimiter, fairness, priority, testing, observability, and production policy.

44

Load Shedding and Graceful Degradation

15 min

Load shedding and graceful degradation for Java microservices: overload signals, admission control, priority-based shedding, brownout, fallback, queue management, retry shedding, Envoy overload manager, Kubernetes/gateway considerations, testing, observability, and production policy.

45

Hedged Requests: Tail Latency vs Amplified Load

15 min

Hedged requests for Java microservices: tail latency mitigation, duplicate request semantics, quorum/fan-out mental model, when to hedge, when not to hedge, cancellation, idempotency, load amplification, adaptive hedging, implementation sketches, testing, observability, and production policy.

46

Fallbacks, Stale Data, and Semantic Degradation

14 min

Fallbacks and stale data for Java microservices: semantic degradation, stale cache, stale-if-error, partial response, fallback taxonomy, command vs query fallback, data freshness contracts, brownout, cache design, testing, observability, and production policy.

47

Deadline Propagation Across Service Calls

12 min

Deadline propagation for Java microservices: end-to-end time budgets, HTTP deadline headers, gRPC deadlines, request context, cancellation, retry/hedging/fallback interaction, async boundaries, database timeouts, observability, testing, and production policy.

48

Production Resilience Policy Template

14 min

Production resilience policy template for Java microservices: unified policy design for timeout, deadline, retry, circuit breaker, bulkhead, rate limit, load shedding, hedging, fallback, observability, validation, governance, rollout, testing, and runbooks.

49

gRPC Communication Mental Model

6 min

gRPC communication mental model for Java microservices: RPC semantics, HTTP/2, Protobuf, service contracts, deadlines, status codes, metadata, streaming, load balancing, security, observability, and production fit.

50

Protocol Buffers Contract Design

5 min

Protocol Buffers contract design for Java microservices: message modeling, field numbering, compatibility, reserved fields, enums, optional fields, oneof, package naming, API evolution, validation, documentation, and CI gates.

51

Java gRPC Server Implementation

10 min

Production-grade Java gRPC server implementation: generated service base, service implementation, Netty server lifecycle, interceptors, metadata, deadlines, cancellation, error mapping, validation, observability, security, testing, and operational readiness.

52

Java gRPC Client Implementation

10 min

Production-grade Java gRPC client implementation: channel lifecycle, generated stubs, blocking/async/future stubs, deadlines, metadata, interceptors, error mapping, retry, load balancing, TLS, observability, testing, and operational readiness.