DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations
Building Scalable Real-Time Apps with AstraDB and Vaadin
Register Now

Trending

  • 13 Impressive Ways To Improve the Developer’s Experience by Using AI
  • Incident Response Guide
  • Demystifying SPF Record Limitations
  • DevOps Midwest: A Community Event Full of DevSecOps Best Practices

Trending

  • 13 Impressive Ways To Improve the Developer’s Experience by Using AI
  • Incident Response Guide
  • Demystifying SPF Record Limitations
  • DevOps Midwest: A Community Event Full of DevSecOps Best Practices
  1. DZone
  2. Software Design and Architecture
  3. Cloud Architecture
  4. RSocket Broker Use Case in Alibaba Cloud

RSocket Broker Use Case in Alibaba Cloud

Find out more about RSocket through an explanation of Alibaba Cloud FaaS offering and a description of the system architecture.

Andy Shi user avatar by
Andy Shi
CORE ·
Updated Nov. 29, 19 · Analysis
Like (0)
Save
Tweet
Share
2.87K Views

Join the DZone community and get the full member experience.

Join For Free

an outlet on the wall

Find out more about RSocket.
You may also like: Spring Tips: RSocket Messaging in Spring Boot 2.2 [Video]

Alibaba Cloud FaaS Offering

The Alibaba Cloud FaaS offering is part of Alibaba Cloud Service Engine on Alibaba cloud.

The functions are written in Node.js and they can consume various backend services, including java applications, data stores or messaging systems. This offering is more complicated than some other FaaS offerings where each service is standalone and isolated.

To achieve that, a resilient and powerful event-driven architecture is needed.

RSocket Broker

RSocket is an application protocol carrying reactive streams semantics. Being reactive brings high performance and resiliency to the system.

RSocket is used as the backbone communication protocol. Each component, including the Nodejs services, the backend services, and all the infrastructure pieces in the architecture will communicate via RSocket.

RSocket broker facilitates communication between different components of the FaaS platform. By using the broker deployment model, the components are decoupled from each other yet can have then using HTTP.

Other than communication, the RSocket broker can perform many management functionalities.

Since the RSocket protocol is connection-oriented, the broker keeps the session of the connections. It can serve as a service registry/discovery store. It can perform routing and load balancing. It can perform a health check.

The RSocket broker can also be used to perform traffic shaping, circuit breaking, etc. And since RSocket is a binary protocol, the broker only needs to look at the binary header of the frame to achieve all these features. It can achieve zero-copy.

System Architecture

This is the architecture diagram of the system:

map of Gateways

A system diagram.

The Gateways respond to triggering events from users. Proxies are installed in front of backend services. They both can translate the traffic from and to RSocket from their original protocol.

The Node functions talk to RSocket broker directly using RSocket protocol.

The broker's cluster has several brokers. They are independent of each other and do not exchange routing information (for now).

All the gateways, functions and proxies communicate with each other via RSocket broker in RSocket protocol.

System Performance

With the current deployment, we can achieve peak QPS at 62k/sec, with the daily average invocation of 27 million.

RSocket broker has proven to be reliable and high performance.


Further Reading

RSocket vs. gRPC Benchmark

Reactive Service-to-Service Communication With RSocket (Part 1)

RSocket With Spring Boot + JS: Zero to Hero

RSocket Alibaba Cloud Cloud Use case Spring Framework

Opinions expressed by DZone contributors are their own.

Trending

  • 13 Impressive Ways To Improve the Developer’s Experience by Using AI
  • Incident Response Guide
  • Demystifying SPF Record Limitations
  • DevOps Midwest: A Community Event Full of DevSecOps Best Practices

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com

Let's be friends: