awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
geektutu avatar

geektutu/7days-golang

0
View on GitHub↗
16,812 stars·2,593 forks·Go·mit·14 viewsgeektutu.com/post/gee.html↗

7days Golang

This project is an educational framework designed to teach the fundamentals of building core distributed systems and web services from scratch in Go. It provides a collection of modular implementations that demonstrate how to construct essential infrastructure components, including web servers, remote procedure call systems, distributed caches, and database abstraction layers.

The framework distinguishes itself by focusing on the internal mechanics of these systems rather than providing a high-level abstraction for production use. It covers the implementation of complex architectural patterns such as consistent hashing for data distribution, least-recently-used cache eviction, and reflection-based service registration. By building these components manually, the project illustrates how to handle network connectivity, protocol negotiation, and service discovery in a distributed environment.

Beyond core networking and storage, the repository includes implementations for machine learning primitives, such as neural network architectures and training loops, as well as tools for database interaction and object-relational mapping. It also incorporates various utility layers for logging, performance benchmarking, and concurrency management to provide a comprehensive view of system-level programming.

The repository is structured as a series of guided modules, allowing developers to explore the implementation details of each system component through hands-on construction and testing.

Features

  • Distributed Caching - The framework implements networked caching systems using LRU eviction, consistent hashing, and protocol-based communication to prevent data access bottlenecks.
  • Educational Frameworks - Provides structured learning paths and pedagogical resources for technical subjects.
  • Database ORMs - Maps database records to application objects and manages schemas.
  • Remote Procedure Call Frameworks - Provides a comprehensive framework for registering services and managing distributed communication between independent software components.
  • Consistent Hashing - Uses consistent hashing with a circular address space to ensure balanced data distribution and minimal remapping.
  • Web Server Frameworks - Provides foundational libraries for building and launching web servers.
  • Least Recently Used Caches - Implements least-recently-used cache eviction to maintain memory limits by discarding old items.
  • Data Insertion Interfaces - The framework maps object fields to database columns and executes batch insertion commands to persist data into the underlying storage.
  • Database Abstraction Layers - Provides a unified API for interacting with multiple database engines and dialects.
  • Database Migrations - The framework updates existing database tables to match current model definitions by adding new columns or recreating tables while preserving data.
  • Database Query Execution - The framework retrieves database rows and automatically maps the result set into a slice of objects using reflection to populate fields.
  • Object Mappings - The framework parses structure definitions and metadata tags into database table schemas, including column names, types, and constraints.
  • Service Discovery - Provides a central registry for dynamic service discovery, allowing clients to locate and connect to healthy nodes.
  • Middleware-Based Request Pipelines - Processes incoming network traffic through a chain of modular handlers for logging, recovery, and transformation.
  • Remote Procedure Call Frameworks - Facilitates remote execution of functions and inter-process communication across distributed system components.
  • Distributed Data Management - The framework uses consistent hashing to map keys to specific network nodes, ensuring data is partitioned and retrieved from the correct peer in a cluster.
  • Distributed Key-Value Stores - The framework maps input keys to specific nodes using consistent hashing with virtual nodes to ensure balanced distribution and minimal remapping.
  • Request Timeouts - The framework monitors the execution time of individual service requests on the server and sends an error response if processing exceeds the configured limit.
  • Multiplexed Request Handlers - The framework supports multiple simultaneous requests over a single connection by tracking individual call states and multiplexing responses back to the correct caller.
  • Middleware - Provides modular middleware components for intercepting and processing network requests within the framework.
  • Record Updates - The framework updates existing rows in a database table by accepting either a map or a list of key-value pairs to define the new data.
  • Record Deletion - The framework deletes rows from a database table based on previously defined filtering criteria.
  • Load Balancers - The framework distributes incoming requests across multiple service instances to optimize resource utilization and improve overall system availability.
  • Remote Procedure Calls - Implements remote procedure calls over standard HTTP transport to ensure compatibility with existing network infrastructure.
  • Remote Procedure Execution - Executes remote functions by dynamically deserializing arguments and serializing responses across network boundaries.
  • Service Registration Engines - Exposes internal methods as remote procedures by dynamically inspecting function signatures and mapping them to network endpoints.
  • HTTP Servers - Wraps standard network listeners to initialize and run a web service that dispatches incoming requests.
  • Request Context - Wraps network requests in a unified context object to propagate cancellation signals and deadlines across processing layers.
  • HTTP Routing - Maps incoming request methods and paths to specific handler functions and returns standard error responses.
  • Neural Network Frameworks - Constructs computational graphs using weights, biases, and activation functions to map input features to categorical predictions.
  • Binary Serialization Formats - Encodes and decodes structured data using binary formats for efficient network transmission between distributed nodes.
  • Data Serialization Frameworks - Supports pluggable serialization logic to enable diverse data encoding formats for service communication.
  • Atomic Transactions - The framework groups multiple database operations into a single unit of work that automatically commits on success or rolls back if any error occurs.
  • Database Query Interfaces - Provides a unified session-based query interface for mapping object structures to database tables.
  • SQL Query Builders - The framework enables sequential method calls to build complex SQL queries by returning the session object after each configuration step.
  • SQL Query Interfaces - Assembles complex database queries by chaining individual clauses into a single executable command.
  • Service Registries - Maintains a central registry of server addresses and automatically removes inactive instances based on heartbeat timeouts.
  • Connection Management - Manages persistent network connections and protocol negotiation for reliable communication between clients and servers.
  • Connection Multiplexing - Handles multiple concurrent requests over a single network connection by multiplexing call states and responses.
  • Service Discovery - The framework maintains a dynamic list of available server addresses and provides interfaces to update or retrieve them for client-side routing.
  • Error Handling Patterns - The framework uses a result-based mechanism to handle recoverable errors explicitly, providing operators to propagate errors or trigger controlled panics for unrecoverable failures.
  • API Route Groups - Organizes related API endpoints under common URL prefixes and supports nested structures to apply shared configurations.
  • Unit Testing Frameworks - Ships a built-in testing framework for executing unit and integration tests.
  • HTTP RPC Transports - Enables RPC traffic to coexist with standard web services by using HTTP CONNECT requests for transport.
  • Route Grouping - Organizes routes with shared URL prefixes or common middleware to simplify path management and enforce access control.
  • Custom Neural Network Layers - Implements specialized neural network layers and mathematical operations to extend standard model capabilities.
  • Gradient Computation - Calculates function gradients automatically to support custom optimization and backpropagation during neural network training.
  • Machine Learning Implementations - Provides code-based reference examples and implementations of core machine learning algorithms.
  • Machine Learning Training - Provides frameworks and utilities used to train, fine-tune, and align machine learning models.
  • Database Interaction Layers - The framework provides a reusable interface for constructing raw SQL queries, executing database operations, and automatically clearing state after each interaction.
  • Database Connections - The framework establishes and validates connectivity to a database engine and provides a factory method for creating isolated interaction sessions.
  • Table Definitions - The framework executes commands to create, drop, or verify the existence of database tables based on mapped object structures.
  • Connection Establishment Protocols - Exchanges protocol metadata at the start of a connection to establish shared settings like serialization types.
  • Concurrent Request Racers - The framework sends a single request concurrently to all registered server instances and returns the result from the first successful response.
  • Load Balancing - The framework distributes incoming requests across multiple server instances using strategies like random selection or round-robin to optimize system throughput.
  • Interface Contract Implementations - Defines method signatures that types must satisfy to enable polymorphic behavior.
  • Mutual Exclusion Locks - Enforces exclusive access to shared resources by blocking other processes until the current holder releases the lock.
  • Asynchronous Request Handlers - The framework handles multiple simultaneous requests from clients using asynchronous processing to maintain high throughput and responsiveness during network communication.
  • Service Maintenance - Maintains service availability by sending periodic heartbeat signals to a registry to confirm active status.
  • Unit Testing - Executes test suites against code packages to verify logic correctness.
  • HTML Template Renderers - The framework loads and parses HTML templates from the filesystem to dynamically generate web pages using provided data and custom helper functions.
  • HTTP Response Builders - Formats and sends structured data like JSON or HTML back to clients by setting appropriate headers and status codes.
  • HTTP Request Handlers - Routes incoming network traffic through a centralized handler to enable global request processing and logging.
  • Middleware Chains - Implements middleware chains for processing request and response pipelines.
  • Request Context Management - Wraps raw HTTP request and response objects into a unified structure that persists throughout the request lifecycle.
  • Route Parameter Captures - Supports route patterns with placeholders and wildcards to capture variable path segments during request routing.

Star history

Star history chart for geektutu/7days-golangStar history chart for geektutu/7days-golang

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to 7days Golang

Similar open-source projects, ranked by how many features they share with 7days Golang.
  • codeigniter4/codeigniter4codeigniter4 avatar

    codeigniter4/CodeIgniter4

    5,924View on GitHub↗

    CodeIgniter is a PHP web framework built on the Model-View-Controller pattern, designed for building full-stack web applications. It provides a lightweight toolkit with minimal configuration, organizing application logic into controllers, models, and views for clean separation of concerns. The framework includes a fluent query builder for constructing SQL statements programmatically, PSR-4 autoloading with namespace mapping, and a service-based dependency injection container for managing shared class instances. The framework distinguishes itself through its comprehensive set of built-in tools

    PHPcodeignitercodeigniter4framework-php
    View on GitHub↗5,924
  • seaql/sea-ormSeaQL avatar

    SeaQL/sea-orm

    9,410View on GitHub↗

    Sea-ORM is an asynchronous SQL object-relational mapper and database toolkit for mapping relational tables to strongly typed objects. It provides a relational database mapper for performing CRUD operations across MySQL, PostgreSQL, and SQLite, and includes a programmatic dynamic query builder for constructing complex SQL statements. The project distinguishes itself by providing a GraphQL schema generator that transforms database entities into typed schemas with built-in pagination and filters. It also features a dedicated database migration tool for defining and applying versioned schema chan

    Rustdatabasehacktoberfestloco
    View on GitHub↗9,410
  • doocs/advanced-javadoocs avatar

    doocs/advanced-java

    78,987View on GitHub↗

    This project is a comprehensive Java backend engineering guide and technical reference focused on high-concurrency design, distributed systems, and microservices architecture. It provides detailed strategies for decomposing monolithic applications, managing service discovery, and implementing the architectural patterns required for scalable backend environments. The repository distinguishes itself through an extensive collection of big data algorithmic references and database scaling strategies. It covers memory-efficient techniques for analyzing massive datasets, such as Top-K element extrac

    Javaadvanced-javadistributed-search-enginedistributed-systems
    View on GitHub↗78,987
  • twitter/twemproxytwitter avatar

    twitter/twemproxy

    12,340View on GitHub↗

    Twemproxy is a lightweight proxy that routes and distributes requests across multiple Redis and Memcached backend servers. It functions as a protocol translation gateway and distributed cache shard manager, partitioning data across clusters to balance load and storage capacity. The system acts as a high-availability cache orchestrator, employing health monitoring and automatic server ejection to maintain continuous access to cached data. It integrates with sentinels for dynamic master and replica discovery and utilizes consistent hashing and tag-based key grouping to manage data distribution

    C
    View on GitHub↗12,340
See all 30 alternatives to 7days Golang→

Frequently asked questions

What does geektutu/7days-golang do?

This project is an educational framework designed to teach the fundamentals of building core distributed systems and web services from scratch in Go. It provides a collection of modular implementations that demonstrate how to construct essential infrastructure components, including web servers, remote procedure call systems, distributed caches, and database abstraction layers.

What are the main features of geektutu/7days-golang?

The main features of geektutu/7days-golang are: Distributed Caching, Educational Frameworks, Database ORMs, Remote Procedure Call Frameworks, Consistent Hashing, Web Server Frameworks, Least Recently Used Caches, Data Insertion Interfaces.

What are some open-source alternatives to geektutu/7days-golang?

Open-source alternatives to geektutu/7days-golang include: codeigniter4/codeigniter4 — CodeIgniter is a PHP web framework built on the Model-View-Controller pattern, designed for building full-stack web… seaql/sea-orm — Sea-ORM is an asynchronous SQL object-relational mapper and database toolkit for mapping relational tables to strongly… doocs/advanced-java — This project is a comprehensive Java backend engineering guide and technical reference focused on high-concurrency… twitter/twemproxy — Twemproxy is a lightweight proxy that routes and distributes requests across multiple Redis and Memcached backend… systemsapproach/book — This project is a comprehensive computer networking textbook and instructional resource. It serves as a technical… launchbadge/sqlx — This toolkit provides an asynchronous interface for interacting with relational databases, offering a unified…