Skip to content

[Discussion] UI aggregator / gateway / fragment service #29

Open
@kakawait

Description

@kakawait

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:

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions