feat: Phase 2.0 - Server-Sent Events (SSE) Implementation #4
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Phase 2.0: Server-Sent Events (SSE)
This pull request marks the completion of Phase 2.0, which introduces server-to-client streaming and the GraalVM native executable. All work has been completed, including server-side implementation, containerization, frontend development, robust benchmarking, and final documentation.
Summary of Key Deliverables
GET /stream/tickeris implemented inTickerResource.java, streaming JSON payloads every second.Dockerfile.nativeis added to produce a minimal, secure, and fast-starting GraalVM native executable.docker-compose.ymlis updated to run bothserver-jvmandserver-nativeservices concurrently for direct comparison.demo-clienthas been architecturally refactored into a feature-based structure with a central navigation hub, and a new SSE demo page has been added to visualize the streams from both backends.k6binary with thexk6-sseextension for accurate, native streaming tests.rest_benchmark.sh,sse_benchmark.sh,measure-startup.sh) are standardized to accept a logical service name (server-jvmorserver-native) and use a reliable, shared Docker network for communication.Dockerfile.jvmis updated with an explicitENTRYPOINTto ensure it is a portable, correctly configured artifact.v2.0-sseREADME now being complete and accurate.Next Steps
Upon merging this PR, the
v2.0-ssetag will be created to freeze this state, and theREADME.mdon themainbranch will be updated to its "index" role.