Streams

Page for release 1.8.4. See this page for: release 1.8.2, release 1.8.1

As explained below, Redcurrant is client centric. This means that the most important part of communication happens between the client and Redcurrant services, not between services.

Inter process communication

The following table describes streams and types between Redcurrant processes.

From process To process Type Usage
Meta0 Zookeeper TCP Master election mechanism
Meta0 gridagent UNIX Statistics management
Meta1 Zookeeper TCP Master election mechanism
Meta1 gridagent UNIX Statistics management
Meta1 Meta0 TCP Configuration loading
Meta2 Zookeeper TCP Master election mechanism
Meta2 gridagent UNIX Statistics management
Meta2 Meta1 TCP Bases locations
Meta2 Meta1 TCP Quotas updates
Meta2 Meta2 TCP Replication orders
gridagent conscience TCP Statistics management
gridagent * TCP Availability monitoring
sqlx Zookeeper TCP Master election mechanism
sqlx gridagent UNIX Statistics management
sqlx Meta1 TCP Bases locations
sqlx sqlx TCP Replication orders
vns-agent Meta1 TCP Per-VNS quotas compuations

Client Server communication

Connexion diagram for a simple PUT operation in a container

  1. Client - Conscience. Find meta0
  2. Client - meta0 : find meta1 for the prefix of the container
  3. Client - meta1 : find which meta2 services manages this container
  4. Client - meta2 : find available RAWX to store content with the given storage policy
  5. Client - RAWX : upload chunks
  6. Client - meta2 : validate chunk location

Some response can be put in cache for performance reason


User Tools