Skip to content

Releases: esasmer-dou/rest-sample-dubbo-consumer

v0.4.0

Choose a tag to compare

@esasmer-dou esasmer-dou released this 17 Jul 14:31

rest-sample-dubbo-consumer 0.4.0

0.4.0 updates the sample to the generated REST and native Dubbo client line.

What's New

  • Uses rust-java-rest:4.0.0, java-rust-dubbo:0.5.0, and
    rest-sample-utility:0.3.0.
  • Replaces handwritten Dubbo client wrappers with build-time generated native clients.
  • Replaces handwritten startup index files with generated component and route metadata.
  • Centralizes measured runtime plans and route budgets in explicit immutable configuration classes.
  • Keeps full, native-static, and ZooKeeper profiles as separate build/runtime choices.
  • Removes the duplicate /api/v1/catalog/db/customers alias. Use the canonical
    /api/v1/customers/db route.

Run

mvn clean package
java -jar target/rest-sample-dubbo-consumer-0.4.0.jar

REST handlers, validation, response decisions, and service orchestration remain Java code. Rust owns
HTTP I/O and the bounded native Dubbo transport path.

v0.3.2

Choose a tag to compare

@esasmer-dou esasmer-dou released this 17 Jul 06:01

rest-sample-dubbo-consumer v0.3.2

English | Turkish

This patch release aligns with rust-java-rest:3.4.1, java-rust-dubbo:0.4.1,
rest-sample-utility:0.2.0, and rust-sample-model:0.2.0.

What Changed

  • The micro-2x2 profile now gives the raw and typed customer-create routes a 4 request limit
    and a 250 ms queue wait each.
  • Both routes share the same two native workers, provider permits, Hikari connections, and
    PostgreSQL commit path. The new limits prevent a hidden sixteen-request queue in front of that
    shared backend.
  • A repeatable c16 write gate checks maximum p99, run-to-run p99 spread, and non-2xx rate instead of
    accepting one favorable run.
  • English and Turkish configuration guides explain how route limits add up when endpoints share a
    provider and database pool.

Measured Result

Under the same Docker Desktop micro-2x2 limits, the final three-run c16 gate measured:

Metric Before v0.3.2
Average RPS 340.93 501.74
Average p99 234.45 ms 132.91 ms
Maximum p99 485.22 ms 143.83 ms
p99 spread 329.92 ms 25.36 ms
Non-2xx rate 0.020% 0.014%

These numbers are sample-environment evidence, not a universal production guarantee. Run the gate
with your own provider, PostgreSQL storage, CPU limits, and pod memory limits before changing a
production profile.

Compatibility

Java REST annotations, handler signatures, Dubbo service contracts, JSON payloads, and native ABI
requirements are unchanged. Existing application code does not need to change.

v0.3.1

Choose a tag to compare

@esasmer-dou esasmer-dou released this 16 Jul 17:47

rest-sample-dubbo-consumer v0.3.1

This sample aligns with rust-java-rest:3.4.1 and java-rust-dubbo:0.4.1.

  • Uses the ABI 24/7/6 native runtime line.
  • Adds the native idle-connection TTL to the copy-paste configuration.
  • Keeps the memory-first Dubbo profile bounded at two workers and two endpoint connections.
  • Keeps route admission explicit so overload returns controlled 503 responses instead of growing
    an unbounded queue.
  • Updates Docker/Jlink workspace builds and runtime configuration tests.
  • Preserves all Java REST annotations, handlers, Dubbo interfaces, and response payloads.

v0.3.0

Choose a tag to compare

@esasmer-dou esasmer-dou released this 16 Jul 06:28

rest-sample-dubbo-consumer v0.3.0

This sample aligns with rust-java-rest:3.4.0 and java-rust-dubbo:0.4.0.

  • Keeps Java handlers and REST annotations unchanged.
  • Uses the ABI 24/6/6 native runtime line.
  • Documents and configures the bounded native Dubbo thread stack.
  • Keeps blocking and tokio-demux transport resource planes mutually exclusive.
  • Updates native-static health diagnostics to report the selected transport and pool counts.
  • Refreshes the Jlink workspace images with the current low-memory OpenJ9 options.

v0.2.0

Choose a tag to compare

@esasmer-dou esasmer-dou released this 15 Jul 07:44

Uses rust-java-rest 3.3.0 and java-rust-dubbo 0.3.0 with declarative startup, shared generated JSON models and isolated full, native-static and ZooKeeper profiles. See the bilingual README for production recipes.