finds.dev← search

// the find

scalecube/scalecube-services

★ 640 · Java · Apache-2.0 · updated Sep 2026

Microservices library - scalecube-services is a high throughput, low latency reactive microservices library built to scale. It features: API-Gateways, service-discovery, service-load-balancing, the architecture supports plug-and-play service communication modules and features. built to provide performance and low-latency real-time stream-processing

A Java library for building microservices on Project Reactor. Services are plain interfaces annotated with @Service and @ServiceMethod, and nodes find each other through SWIM-based cluster membership instead of a central registry. It suits Java teams that want peer-to-peer discovery and Reactor streams and are willing to depend on a small, niche stack. It is a poor fit for teams that want a general-purpose service mesh.

- Service contracts are typed Reactor signatures: Mono<T> for request-response, Flux<T> for request-stream, and a Flux<T> parameter for bidirectional. The interaction mode is visible in the method shape, so the interface doubles as the wire contract.

- Discovery has no central registry. Membership runs over scalecube-cluster's SWIM implementation, so no single process is a point of failure, and the failure detector also serves as the circuit-breaker signal. That is a cleaner design than most homegrown discovery layers.

- The services-api module is separate from the transport and discovery modules and is loaded through ServiceLoader, so the contract jar carries no transport dependency. docs/adr records at least one design decision (RSocket message size limits), which is more than most libraries this size bother to write down.

- The README is mostly repeated feature bullets and marketing prose. The setup material is one example block, and that example has a stray closing brace after the GreetingsService interface, so it will not compile as pasted.

- The Maven section lists only the RSocket transport artifact, but the feature list promises TCP and Aeron as well. To learn which transports exist and which are production-ready, you have to read the source or the external user guide.

- Most of the documentation lives on an external GitHub Pages site. Those pages are not in this repo, so they can drift from the code without anyone noticing.

- Adoption is small at 640 stars, and the audience is limited to Java and Reactor. If the core team's pace slows, you carry most of the maintenance. Several listed features (namespace partitioning, pluggable security, multiple encoders) need to be checked in code before you rely on them.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →