mirror of
https://github.com/XRPLF/xrpl-dev-portal.git
synced 2025-11-04 11:55:50 +00:00
Incorporate review comments and include missing dactly config updates
This commit is contained in:
@@ -18,12 +18,16 @@ While Clio offers the complete `rippled` API, by default, it only returns valida
|
||||
|
||||
## Why Should I Run a Clio Server?
|
||||
|
||||
There are two main reasons to run a Clio server: lower latency for API requests and lower memory usage.
|
||||
There are lots of reasons you might want to run your own Clio server, but most of them can be summarized as: reduced load on `rippled` server(s) connected to the P2P network, lower memory usage and storage overhead, easier horizontal scaling, and higher throughput for API requests.
|
||||
|
||||
A Clio server does not connect to the peer-to-peer network. Instead, it uses gRPC to get validated data from one or more trusted servers that are connected to the P2P network and stores it in a persistent data store. As a result, a Clio server handles requests more efficiently with a lower latency and reduces the load on `rippled` servers running in P2P mode.
|
||||
* Reduced load on `rippled` server(s) - A Clio server does not connect to the peer-to-peer network. It uses gRPC to get validated data from one or more trusted `rippled` servers that are connected to the P2P network. Thus, a Clio server handles requests more efficiently and reduces the load on `rippled` servers running in P2P mode.
|
||||
|
||||
* Lower memory usage and storage overhead - Clio uses Cassandra as the backend database and stores data in a space efficient format, using up to 4 times less space than `rippled`.
|
||||
|
||||
* Easier horizontal scaling - Multiple Clio servers can share access to the same dataset, thus enabling you to build a highly available cluster of Clio servers.
|
||||
|
||||
* Higher throughput for API requests - A Clio server extracts validated data from one or more trusted `rippled` servers and stores this data efficiently. Thus, handling API calls efficiently, resulting in a higher throughput and in some cases, lower latency as well.
|
||||
|
||||
By using Cassandra or ScyllaDB as the database, the disk requirements for a Clio server are lower as the data is not stored on your local disk.
|
||||
|
||||
## How does a Clio Server Work?
|
||||
|
||||
@@ -41,4 +45,4 @@ When a Clio server receives an API request, it looks up data from these data sto
|
||||
- [server_info][clio-server-info.html] - API method to retrieve the status of the Clio server.
|
||||
- **Tutorials:**
|
||||
- [Build and Run a Clio node](build-run-clio-node.html)
|
||||
- [Install Clio server on Ubuntu](install-clio-on-ubuntu.html)
|
||||
- [Install Clio server on Ubuntu](install-clio-on-ubuntu.html)
|
||||
@@ -1,9 +1,7 @@
|
||||
---
|
||||
html: build-run-rippled-ubuntu.html
|
||||
parent: install-rippled.html
|
||||
blurb: Compile rippled yourself on Ubuntu Linux.
|
||||
labels:
|
||||
- Core Server
|
||||
html: build-run-clio-ubuntu.html
|
||||
parent: install-clio.html
|
||||
blurb: Compile Clio yourself on Ubuntu Linux.
|
||||
---
|
||||
# Build and Run rippled on Ubuntu
|
||||
|
||||
|
||||
@@ -86,7 +86,7 @@ Before you install Clio, you must meet the following requirements.
|
||||
|
||||
7. Run `./clio_server config.json`.
|
||||
|
||||
8. A Clio server needs to access a `rippled` server to run succesfully. To enable communication between the servers, the config files of Clio and `rippled` need to share the following information.
|
||||
8. A Clio server needs to access a `rippled` server to run succesfully. To enable communication between the servers, the config files of Clio and `rippled` need to share the following information.
|
||||
|
||||
1. Update the Clio server's config file with the following information:
|
||||
|
||||
@@ -105,15 +105,23 @@ Before you install Clio, you must meet the following requirements.
|
||||
|
||||
**Note** You can use multiple `rippled` servers as a data source by add more entries to the `etl_sources` section. Clio will load balance requests across the servers specified in the list. As long as one `rippled` server is up and synced, Clio will continue to extract validated ledgers.
|
||||
|
||||
The [example-config](https://github.com/XRPLF/clio/blob/develop/example-config.json) file accesses the `rippled` server running on the local loopback network (127.0.0.1), with the WebSocket (WS) on port 6006 and gRPC on port 50051.
|
||||
|
||||
2. Update the `rippled` server's config file with the following information:
|
||||
|
||||
* Open a port to accept unencrypted websocket connections.
|
||||
|
||||
[port_ws_public]
|
||||
port = 6005
|
||||
ip = 0.0.0.0
|
||||
protocol = ws
|
||||
|
||||
* Open a port to handle gRPC requests and specify the IP(s) of Clio server(s) in the `secure_gateway` entry.
|
||||
|
||||
"server":{
|
||||
"ip":"0.0.0.0",
|
||||
"port":51233
|
||||
}
|
||||
[port_grpc]
|
||||
port = 50051
|
||||
ip = 0.0.0.0
|
||||
secure_gateway = <clio_ip_address>
|
||||
|
||||
9. Start the `rippled` and Clio servers.
|
||||
|
||||
@@ -132,53 +140,4 @@ Before you install Clio, you must meet the following requirements.
|
||||
- **Tutorials:**
|
||||
- [Build and Run Clio Server](build-run-clio-ubuntu.html)
|
||||
- **References:**
|
||||
- [rippled and Clio API Reference](rippled-api.html)
|
||||
|
||||
|
||||
<!--{# common link defs #}-->
|
||||
{% include '_snippets/rippled-api-links.md' %}
|
||||
{% include '_snippets/tx-type-links.md' %}
|
||||
{% include '_snippets/rippled_versions.md' %}
|
||||
|
||||
{
|
||||
"database":
|
||||
{
|
||||
"type":"cassandra",
|
||||
"cassandra":
|
||||
{
|
||||
"contact_points":"127.0.0.1",
|
||||
"port":9042,
|
||||
"keyspace":"clio",
|
||||
"replication_factor":1,
|
||||
"table_prefix":"",
|
||||
"max_requests_outstanding":25000,
|
||||
"threads":8
|
||||
}
|
||||
},
|
||||
"etl_sources":
|
||||
[
|
||||
{
|
||||
"ip":"127.0.0.1",
|
||||
"ws_port":"6006",
|
||||
"grpc_port":"50051"
|
||||
}
|
||||
],
|
||||
"dos_guard":
|
||||
{
|
||||
"whitelist":["127.0.0.1"]
|
||||
},
|
||||
"server":{
|
||||
"ip":"0.0.0.0",
|
||||
"port":51233
|
||||
},
|
||||
"log_level":"debug",
|
||||
"log_to_console": true,
|
||||
"log_to_file": true,
|
||||
"log_directory":"./clio_log",
|
||||
"log_rotation_size": 2048,
|
||||
"log_directory_max_size": 51200,
|
||||
"log_rotation_hour_interval": 12,
|
||||
"online_delete":0,
|
||||
"extractor_threads":8,
|
||||
"read_only":false
|
||||
}
|
||||
- [rippled and Clio API Reference](rippled-api.html)
|
||||
@@ -1039,6 +1039,16 @@ pages:
|
||||
targets:
|
||||
- ja
|
||||
|
||||
- md: concepts/nodes-and-clients/the-clio-server.md
|
||||
targets:
|
||||
- en
|
||||
|
||||
- name: The Clio Server
|
||||
html: the-clio-server.html
|
||||
parent: concepts.html
|
||||
template: pagetype-category.html.jinja
|
||||
blurb: Clio is an XRP Ledger API server optimized for WebSocket or HTTP API calls.
|
||||
|
||||
# Redirect old NFT articles
|
||||
- name: Non-fungible Tokens (NFTs)
|
||||
html: nft-concepts.html
|
||||
@@ -2014,6 +2024,17 @@ pages:
|
||||
targets:
|
||||
- ja
|
||||
|
||||
- name: Manage the Clio Server
|
||||
html: manage-the-clio-server.html
|
||||
parent: tutorials.html
|
||||
blurb: Install, configure, and manage the Clio server.
|
||||
template: pagetype-category.html.jinja
|
||||
targets:
|
||||
- en
|
||||
|
||||
- md: tutorials/manage-the-clio-server/install-clio-on-ubuntu.md
|
||||
targets:
|
||||
- en
|
||||
|
||||
|
||||
# References -------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user