Book Image

Mastering RethinkDB

By : Shahid Shaikh
Book Image

Mastering RethinkDB

By: Shahid Shaikh

Overview of this book

RethinkDB has a lot of cool things to be excited about: ReQL (its readable,highly-functional syntax), cluster management, primitives for 21st century applications, and change-feeds. This book starts with a brief overview of the RethinkDB architecture and data modeling, and coverage of the advanced ReQL queries to work with JSON documents. Then, you will quickly jump to implementing these concepts in real-world scenarios, by building real-time applications on polling, data synchronization, share market, and the geospatial domain using RethinkDB and Node.js. You will also see how to tweak RethinkDB's capabilities to ensure faster data processing by exploring the sharding and replication techniques in depth. Then, we will take you through the more advanced administration tasks as well as show you the various deployment techniques using PaaS, Docker, and Compose. By the time you have finished reading this book, you would have taken your knowledge of RethinkDB to the next level, and will be able to use the concepts in RethinkDB to develop efficient, real-time applications with ease.
Table of Contents (16 chapters)
Mastering RethinkDB
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface

Securing our RethinkDB cluster


In order to create a cluster, we need to allow the incoming connections from other machines. Hence, we added bind=all in our configuration. That meant literally any machine from the Internet can attempt a connection to our server which is prone to Distributed Denial of Service (DDOS) attack.

To protect the RethinkDB cluster, the best thing to do is to use put the entire RethinkDB machine into one protected network by using a firewall to prevent any such connection. However, this is not optimal and possible for every infrastructure for budget or maintenance reasons.

We can protect RethinkDB in the following ways:

  • Using transport layer security (successor of SSL)

  • Binding the web port

Let's look over each of them in detail.

Using transport layer security

RethinkDB allows us to secure our connection between servers or between clients and servers using TLS encryption. You can either generate TLS certificates by self-signing with the host or buy a certificate from an official...