Accepted: V-Sekai dependencies
Metadata
- Status: Proposed
- Deciders: V-Sekai
- Tags: V-Sekai
The Backdrop
V-Sekai is a rapidly evolving platform with a diverse set of requirements. As the platform grows, so does the need for robust and scalable technologies to support its development.
The Challenge
The challenge lies in selecting and integrating the right technologies that can cater to V-Sekai’s unique needs while ensuring scalability, performance, and reliability.
The Strategy
Elixir
Elixir is a dynamic, functional language designed for building scalable and maintainable applications. It leverages the Erlang VM, known for running low-latency, distributed and fault-tolerant systems.
defmodule Hello do
def world do
IO.puts("Hello, World!")
end
end
CockroachDB
CockroachDB is a cloud-native SQL database for building global, scalable cloud services that survive disasters. It’s a distributed SQL database built on a transactional and strongly-consistent key-value store.
CREATE DATABASE bank;
USE bank;
CREATE TABLE accounts (id INT PRIMARY KEY, balance DECIMAL);
INSERT INTO accounts VALUES (1, 1000.50);
Proposed: SeaweedFS
SeaweedFS is a simple and highly scalable distributed file system. It focuses on two objectives: storing billions of files, and serving them fast! SeaweedFS implements an object store with O(1) disk seek and an optional Filer with POSIX interface.
weed master
weed volume -dir="/tmp/1" -mserver="localhost:9333" -port=8080
curl -F file=@/path/to/file http://localhost:9333/dir/assign
Each of these technologies has its own use cases and can be used in combination depending on the requirements of your project.
The Upside
The proposed strategy allows for a scalable, robust, and efficient system that can handle V-Sekai’s growing needs. It also provides a solid foundation for future development and expansion.
The Downside
The downside is the potential complexity of managing multiple technologies and ensuring they work seamlessly together. However, with proper documentation and best practices, this can be mitigated.
The Road Not Taken
Other technologies could have been considered, but the chosen ones provide the best balance between performance, scalability, and reliability for V-Sekai’s specific needs.
The Infrequent Use Case
While the proposed technologies are well-suited for most use cases, there may be infrequent scenarios where additional solutions might be needed. These should be evaluated on a case-by-case basis.
In Core and Done by Us?
The integration and management of these technologies will be handled by the V-Sekai team, ensuring that they align with our core values and objectives.
Further Reading
- V-Sekai · GitHub - Official GitHub account for the V-Sekai development community focusing on social VR functionality for the Godot Engine
- V-Sekai/v-sekai-game - GitHub page for the V-Sekai open-source project bringing social VR/VRSNS/metaverse components to the Godot Engine
This article was assisted by AI.