Giter Site home page Giter Site logo

wso2 / reference-architecture Goto Github PK

View Code? Open in Web Editor NEW
1.7K 104.0 318.0 30.11 MB

The Reference Architecture for Agility is a technology-neutral logical architecture based on a disaggregated cloud-based model.

License: Other

decentralized microservices cloud-native architecture

reference-architecture's Issues

Can the "User" be another system or an application?

Description:
In the first section, the "user" is defined as a human interacting with the system. But in enterprise systems, there can be B2B interactions where an application or a system can interact with the system.

Am I already using CBA?

Description:
Hi,
I think what I have been calling Microservices, actually is Cell Based Architecture. Because I split my "services"(lets call this a boundry) into a set of smaller runnable services e.g. HTTP API (client based communication), GRPC API (internal based communication other than anything on the broker, using service discovery on a scaled service to send the message to), business logic worker, projections worker and a service for testing the boundary.
These smaller services are all deployed typically in one go, seperate deployables, as a boundary / version.

The query flow of this would be something like:

  • user requests products to the products HTTP API
  • products HTTP API validates the request and then from the read database and sends the data back.

The command flow is more like this:

  • User requests to create a product to the products HTTP API
  • Products HTTP API validates the query, does extra validation with the read database to see if the product already exists or not. Then fires a command (with the data) over the bus for any services that consume it. Sends a no content response to the user (to create a non blocking HTTP request)
  • The business logic worker picks up the command adds the data to the event store, and fires off an event (can be many services consuming again) to the bus saying that it is successful in storing
  • Both the HTTP API and Projections pick this message up
    -- The HTTP API says that the request was successful via websocket with data that is needed from the event
    -- The Projections worker adds the data to the read models.

Without going into much more detail, do you think this is the case?

Also please may I ask what you are using to create your diagrams? it looks clean and clear!

Thanks,
Jamie

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.