Skip to content

GoReplicate is an open-source Golang wrapper over HashiCorp Raft, enabling easy replication of data, API calls, RPC requests, and more in distributed systems.

Notifications You must be signed in to change notification settings

vishaljangid1729/GoReplicate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GoReplicate

(https://GoReplicate)

Overview

GoReplicate is an open-source GoLang project that provides a user-friendly wrapper on top of the HashiCorp Raft library for building distributed systems that require data or action replication across multiple servers. Whether replicating database transactions, making API calls, or handling RPC requests, GoReplicate simplifies building reliable and consistent distributed applications.

Features

  • Easy-to-use API for submitting commands and handling replication.
  • Robust leader election and log replication using HashiCorp Raft.
  • Customizable state machine for executing replicated commands and producing desired outcomes.
  • Comprehensive error handling and recovery mechanisms.
  • Support for client-side waiting and notifications for replicated command execution.
  • Extensive documentation and examples for quick integration.

Getting Started

Follow these steps to get started with GoReplicate:

  1. Install Dependencies:

    Before using GoReplicate, please ensure you have GoLang and HashiCorp Raft library installed.

  2. Clone the Repository: git clone https://github.com/yourusername/goreplicate.git

cd goreplicate

  1. Build and Run: TBU

  2. Start Replication: TBU

Use the GoReplicate API to submit commands for replication. Refer to the documentation for API usage and examples (We have to update it).

Contributing

We welcome contributions from the community to make GoReplicate better! Whether it's bug fixes, new features, or improvements to documentation, your contributions are highly appreciated.

  1. Fork the repository and create your branch: `git checkout -b feature/new-feature.
  2. Commit your changes: git commit -m 'Add new feature'.
  3. Push to the branch: `git push origin feature/new-feature.
  4. Open a pull request to the main branch.

Reporting Issues

If you encounter any issues or have suggestions for improvements, please create a GitHub issue in this repository.

License

GoReplicate is licensed under the MIT License. See the LICENSE file for details.

Contact

For any inquiries or questions, you can reach us at jangidvishal1999@gmail.com.

About

GoReplicate is an open-source Golang wrapper over HashiCorp Raft, enabling easy replication of data, API calls, RPC requests, and more in distributed systems.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages