From c36f4e09f0a1352fb299367582f39383277968f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=AD=E4=B9=9D=E9=BC=8E?= <109224573@qq.com> Date: Sat, 5 Mar 2022 14:56:41 +0800 Subject: [PATCH] docs/chore: use https for links --- DOC/CLUSTER_MGMT.md | 2 +- DOC/DATA_API.md | 2 +- DOC/DESIGN.md | 4 ++-- DOC/DIAGNOSTICS.md | 2 +- DOC/SECURITY.md | 2 +- README.md | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/DOC/CLUSTER_MGMT.md b/DOC/CLUSTER_MGMT.md index 71fc044e..e579aeda 100644 --- a/DOC/CLUSTER_MGMT.md +++ b/DOC/CLUSTER_MGMT.md @@ -63,7 +63,7 @@ You can pass `0.0.0.0` to both `-http-addr` and `-raft-addr` if you wish a node There is also a rqlite _Discovery Service_, allowing nodes to automatically connect and form a cluster. This can be much more convenient, allowing clusters to be dynamically created. Check out [the documentation](https://github.com/rqlite/rqlite/blob/master/DOC/DISCOVERY.md) for more details. ## Through the firewall -On some networks, like AWS EC2 cloud, nodes may have an IP address that is not routable from outside the firewall. Instead these nodes are addressed using a different IP address. You can still form a rqlite cluster however -- check out [this tutorial](http://www.philipotoole.com/rqlite-v3-0-1-globally-replicating-sqlite/) for an example. The key thing is that you must set `-http-adv-addr` and `-raft-adv-addr` so a routable address is broadcast to other nodes. +On some networks, like AWS EC2 cloud, nodes may have an IP address that is not routable from outside the firewall. Instead these nodes are addressed using a different IP address. You can still form a rqlite cluster however -- check out [this tutorial](https://www.philipotoole.com/rqlite-v3-0-1-globally-replicating-sqlite/) for an example. The key thing is that you must set `-http-adv-addr` and `-raft-adv-addr` so a routable address is broadcast to other nodes. # Growing a cluster You can grow a cluster, at anytime, simply by starting up a new node (pick a never before used node ID) and having it explicitly join with the leader as normal, or by passing it a discovery service ID. The new node will automatically pick up all changes that have occurred on the cluster since the cluster first started. In otherwords, after joining successfully, the new node will have a full copy of the SQLite database, just like every other node in the cluster. diff --git a/DOC/DATA_API.md b/DOC/DATA_API.md index 4afecdfe..c1ef15d9 100644 --- a/DOC/DATA_API.md +++ b/DOC/DATA_API.md @@ -5,7 +5,7 @@ Each rqlite node exposes an HTTP API allowing data to be inserted into, and read The best way to understand the API is to work through the simple examples below. There are also [client libraries available](https://github.com/rqlite). ## Writing Data -To write data successfully to the database, you must create at least 1 table. To do this perform a HTTP POST on the `/db/execute` endpoint on any rqlite node. Encapsulate the `CREATE TABLE` SQL command in a JSON array, and put it in the body of the request. An example via [curl](http://curl.haxx.se/): +To write data successfully to the database, you must create at least 1 table. To do this perform a HTTP POST on the `/db/execute` endpoint on any rqlite node. Encapsulate the `CREATE TABLE` SQL command in a JSON array, and put it in the body of the request. An example via [curl](https://curl.haxx.se/): ```bash curl -XPOST 'localhost:4001/db/execute?pretty&timings' -H "Content-Type: application/json" -d '[ diff --git a/DOC/DESIGN.md b/DOC/DESIGN.md index 4f1b2fe5..43174071 100644 --- a/DOC/DESIGN.md +++ b/DOC/DESIGN.md @@ -1,10 +1,10 @@ # rqlite -You can find details on the design and implementation of rqlite from [these blog posts](http://www.philipotoole.com/tag/rqlite/) (in particular [this post](https://www.philipotoole.com/replicating-sqlite-using-raft-consensus/) and [this post](https://www.philipotoole.com/rqlite-replicated-sqlite-with-new-raft-consensus-and-api/)). +You can find details on the design and implementation of rqlite from [these blog posts](https://www.philipotoole.com/tag/rqlite/) (in particular [this post](https://www.philipotoole.com/replicating-sqlite-using-raft-consensus/) and [this post](https://www.philipotoole.com/rqlite-replicated-sqlite-with-new-raft-consensus-and-api/)). ## Design Presentations - [Presentation]( https://www.philipotoole.com/2021-rqlite-cmu-tech-talk) given to the [Carnegie Mellon Database Group](https://db.cs.cmu.edu/), [September 2021](https://db.cs.cmu.edu/events/vaccination-2021-rqlite-the-distributed-database-built-on-raft-and-sqlite-philip-otoole/). There is also a [video recording](https://www.youtube.com/watch?v=JLlIAWjvHxM) of the talk. - [Presentation](https://docs.google.com/presentation/d/1lSNrZJUbAGD-ZsfD8B6_VPLVjq5zb7SlJMzDblq2yzU/edit?usp=sharing) given to the University of Pittsburgh, April 2018. -- [Presentation](http://www.slideshare.net/PhilipOToole/rqlite-replicating-sqlite-via-raft-consensu) given at the [GoSF](http://www.meetup.com/golangsf/) [April 2016](http://www.meetup.com/golangsf/events/230127735/) Meetup. +- [Presentation](https://www.slideshare.net/PhilipOToole/rqlite-replicating-sqlite-via-raft-consensu) given at the [GoSF](https://www.meetup.com/golangsf/) [April 2016](https://www.meetup.com/golangsf/events/230127735/) Meetup. ## Node design The diagram below shows a high-level view of a rqlite node. diff --git a/DOC/DIAGNOSTICS.md b/DOC/DIAGNOSTICS.md index a11cff01..364e1713 100644 --- a/DOC/DIAGNOSTICS.md +++ b/DOC/DIAGNOSTICS.md @@ -79,7 +79,7 @@ If you wish to check if the node is running, and responding to HTTP requests, re ``` ## expvar support -rqlite also exports [expvar](http://godoc.org/pkg/expvar/) information. The standard expvar information, as well as some custom information, is exposed. This data can be retrieved like so (assuming the node is started in its default configuration): +rqlite also exports [expvar](https://pkg.go.dev/expvar) information. The standard expvar information, as well as some custom information, is exposed. This data can be retrieved like so (assuming the node is started in its default configuration): ```bash curl localhost:4001/debug/vars diff --git a/DOC/SECURITY.md b/DOC/SECURITY.md index cbc11a70..e2463cfa 100644 --- a/DOC/SECURITY.md +++ b/DOC/SECURITY.md @@ -13,7 +13,7 @@ So, if possible, configure the network such that the Raft port on each node is o If the IP addresses (or subnets) of rqlite clients is also known, it may also be possible to limit access to the HTTP API from those addresses only. -AWS EC2 [Security Groups](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html), for example, support all this functionality. So if running rqlite in the AWS EC2 cloud you can implement this level of security at the network level. +AWS EC2 [Security Groups](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html), for example, support all this functionality. So if running rqlite in the AWS EC2 cloud you can implement this level of security at the network level. ## HTTPS API rqlite supports HTTPS access, ensuring that all communication between clients and a cluster is encrypted. diff --git a/README.md b/README.md index e6504769..9ed506fe 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ _Check out the [rqlite FAQ](https://github.com/rqlite/rqlite/blob/master/DOC/FAQ.md)._ ### Why? -rqlite gives you the functionality of a [rock solid](http://www.sqlite.org/testing.html), fault-tolerant, replicated relational database, but with very **easy installation, deployment, and operation**. With it you've got a **lightweight** and **reliable distributed relational data store**. Think [etcd](https://github.com/coreos/etcd/) or [Consul](https://github.com/hashicorp/consul), but with relational data modelling also available. +rqlite gives you the functionality of a [rock solid](https://www.sqlite.org/testing.html), fault-tolerant, replicated relational database, but with very **easy installation, deployment, and operation**. With it you've got a **lightweight** and **reliable distributed relational data store**. Think [etcd](https://github.com/coreos/etcd/) or [Consul](https://github.com/hashicorp/consul), but with relational data modelling also available. You could use rqlite as part of a larger system, as a central store for some critical relational data, without having to run larger, more complex distributed databases.