spring-cloud / spring-cloud/spring-cloud-gateway

[Discussion] UI aggregator / gateway / fragment service

Open
#29 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

icebox
Dominant language
Java
Stars
4.9k
Forks
3.5k
Avg merge
20h 57m
Merged PRs (30d)
8

Description

First at all that project seems really promising, far better then Zuul 1 version!

Last day I was talking with @dsyer about designing/prototyping a kind of layout service / ui composition service (whatever the name) inspired from Zalando Tailor project (from global Mosaic project - Microservices for the Frontend).

Goal of such service is to avoid getting a well designed and decoupled backend service used by a big monster monolith (SPA?) frontend. Each microservices could be responsible on their own frontend/ui fragments, layout service / ui composition service will be only responsible to aggregate every fragments using a base/master template and returns it.

diagram16

I wanted to develop by myself a kind of closely inspired fork to Zalando Tailor but using Java + Spring 5 + Spring Boot 2.0 + Reactor. Though I really need such piece of service on my current stack, at start that project was also a good candidate for training myself to Spring 5 + Spring Boot 2.0 + Reactor.

When I spoke that to @dsyer I also proposed an possible architecture based on Zalando one

diagram

And mine (Yes is a totally a clone of Zalando one :trollface: )(Attention is a prototype, any box is not necessary a dedicated services. Is more a logical view)

page-service2

At this point, @dsyer ask me why I have separated gateway and layout service. I don't really have a clear answer but in my mind, only reasons was separation of concerns and resilience (if layout service get down, you can continue using API). But I didn't think more.

That why I open you an issue (is more a discussion, I'm not asking feature request) to

  1. Have your feedback to such service in microservices/cloud architecture
  2. Your point about integrating it inside gateway or should be a dedicated services

Existing alternative or similar project to Zalando Tailor

Here some sources of inspirations about Microservices for Frontend topic:

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

This is an architectural discussion about a UI aggregator or gateway, not an implementation request, and it names no project files, tests, or code entry points. Start by reviewing the proposed Zalando Tailor-inspired architectures and the question of integrating the layout service into the gateway. Done would require a maintainer decision on scope and architecture before implementation can be defined.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, spring, spring-boot
Domain
api, backend, distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.