# Protocols, clients and SDKs
This getting started guide shows you how to get started with EventStoreDB by setting up an instance or cluster and configuring it.
EventStoreDB supports two protocols: gRPC and TCP, described below.
# gRPC protocol
The gRPC protocol is based on open standards (opens new window) and is widely supported by many programming languages. EventStoreDB uses gRPC to communicate between the cluster nodes as well as for client-server communication.
We recommend using gRPC since it is the primary protocol for EventStoreDB moving forward. When developing software that uses EventStoreDB, we recommend using one of the official SDKs.
# EventStoreDB supported clients
- .NET (opens new window)
- Java (opens new window)
- Node.js (opens new window)
- Go (opens new window)
- Rust (opens new window)
Read more in the gRPC clients documentation.
# Community developed clients
# TCP protocol
EventStoreDB offers a low-level protocol in the form of an asynchronous TCP protocol that exchanges protobuf objects. At present this protocol has adapters for .NET and the JVM.
WARNING
We plan to phase out the TCP protocol in the later versions. Please consider migrating your applications that use the TCP protocol and refactor them to use gRPC instead.
Find out more about configuring the TCP protocol on the TCP configuration page.
# EventStoreDB supported clients
- .NET Framework and .NET Core (opens new window)
- JVM Client (opens new window)
- Haskell (opens new window)
# Community developed clients
- Node.js (opens new window)
- Node.js (opens new window)
- Node.js (opens new window)
- Erlang (opens new window)
- F# (opens new window)
- Elixir (opens new window)
- Java 8 (opens new window)
- Maven plugin (opens new window)
- Go (opens new window)
- PHP (opens new window)
# HTTP
EventStoreDB also offers an HTTP-based interface, based specifically on the AtomPub protocol (opens new window). As it operates over HTTP, this is less efficient, but nearly every environment supports it.
Find out more about configuring the HTTP protocol on the HTTP configuration page.
# Community developed clients
- PHP (opens new window)
- PHP (opens new window)
- Python (opens new window)
- Ruby (opens new window)
- Go (opens new window)