21 个仓库
A language-neutral, platform-agnostic mechanism for serializing structured data using a compact binary format.
Explore 21 awesome GitHub repositories matching data & databases · Protocol Buffers. Refine with filters or upvote what's useful.
Protocol Buffers is a binary serialization framework used to encode structured information into compact payloads to reduce network bandwidth and storage. It functions as a cross-language data interchange standard that enables different platforms and languages to exchange structured data using a shared schema. The project includes an interface definition language compiler that transforms schema definitions into type-safe source code for multiple target programming languages. This mechanism decouples data structures from specific language memory layouts and ensures consistent data handling acro
Implements the Protocol Buffers binary format for language-neutral, platform-agnostic serialization of structured data.
Protocol Buffers 是一种语言中立、平台无关的结构化数据序列化机制。它提供了一个模式驱动的工具链,将声明式数据定义编译为类型安全的源代码,从而在不同编程语言编写的服务之间实现一致的通信和强类型的 API 契约。 该项目以其高效的二进制线路格式脱颖而出,该格式利用基于标签的编码和变宽整数压缩来最小化有效载荷大小和处理开销。它支持稳健的演进式模式管理,允许开发者在保持向后和向前兼容性的同时增量更新数据结构。这得到了版本化版本系统的进一步支持,该系统管理跨分布式软件组件的功能集和序列化逻辑。 除了核心二进制序列化外,该项目还包括用于模式验证的规范 JSON 转换、细粒度的符号可见性控制以及用于区分默认值和未设置值的字段存在性跟踪功能。它还提供专门的优化,例如 C++ 实现中基于竞技场(arena)的内存管理,以提高创建和清理复杂消息树时的性能。
Delivers a compact, platform-agnostic format for serializing structured information across diverse computing environments.
Kratos is a toolkit for building cloud-native microservices in Go. It provides a comprehensive suite of framework primitives, including a dedicated toolset for API-first development using Protobuf to generate server and client code for gRPC and HTTP. The project is distinguished by its pluggable service infrastructure, which allows for the swapping of configuration stores, service registries, and data encoding formats. It utilizes a composable middleware pipeline to inject cross-cutting concerns such as authentication, request validation, and circuit breaking into the service flow. The frame
Analyzes Protobuf files for breaking changes and style violations to ensure backward compatibility.
ONNX is an open-source standard for machine learning interoperability that provides a unified format for representing neural network models. By defining a common set of operators and a standardized file structure, it enables models to be shared, exported, and executed consistently across different training frameworks and software ecosystems. The project functions as an intermediate representation layer that decouples model development from deployment. It utilizes a language-neutral binary serialization format to store model structures and weights, ensuring that computational graphs remain por
Utilizes a language-neutral binary serialization format to store model structures and weights for cross-platform interoperability.
MMKV is a high-performance, cross-platform key-value storage framework designed for mobile platforms and POSIX environments, including Android, iOS, macOS, and Windows. It provides a persistence layer that utilizes memory-mapped files and binary serialization to achieve low-latency data access. The project distinguishes itself through native support for multi-process synchronization, allowing concurrent read and write operations across different application processes. It also implements security via AES encryption for data at rest, featuring symmetric encryption and key rotation to protect st
Uses a binary Protocol Buffer format to encode key-value pairs for compact disk representation.
brpc is a high-performance C++ RPC framework and network programming library designed for building distributed systems. It functions as a multi-protocol RPC server capable of hosting and detecting multiple communication protocols, including gRPC, Thrift, HTTP, Redis, and Memcached, on a single TCP port. The project distinguishes itself through high-throughput data transport and memory efficiency, utilizing RDMA-based transport to bypass the kernel TCP stack and zero-copy memory management to eliminate data duplication. It also implements the Raft algorithm for consensus-based state replicatio
Transmits requests and responses using the Protocol Buffers wire format for efficient binary communication.
This project is a high-performance, distributed API gateway designed to manage, secure, and observe traffic for microservices, serverless functions, and artificial intelligence model providers. It functions as a dynamic service proxy and cloud-native ingress controller, centralizing policy enforcement and traffic routing through a unified configuration interface that synchronizes state across multiple nodes in real time. The platform distinguishes itself through a highly extensible architecture that utilizes a high-performance scripting engine to execute modular logic directly within the requ
Stores and manages binary serialization definitions to facilitate communication and transcoding for high-performance remote procedure call services.
gRPC Java is a library for building distributed systems that enables client and server applications to interact through remote procedure calls. It uses protocol buffers to define service interfaces and exchange structured data, providing a framework for connecting microservices across different environments. The framework utilizes an asynchronous networking foundation to manage concurrent connections and relies on a multiplexed binary protocol to facilitate efficient data exchange. It supports pluggable transport interceptors, allowing for the injection of custom logic into the request-respon
Uses protocol buffers to define service interfaces and generate strongly-typed client and server stubs.
Pomelo is a distributed Node.js game server framework designed for building scalable multiplayer game backends and real-time web applications. It employs a multi-process architecture to distribute application logic horizontally across a cluster of machines, enabling high concurrency and balanced network traffic. The framework utilizes a WebSocket communication layer to manage bidirectional data exchange between diverse web clients and server clusters. It incorporates a remote procedure call system for triggering functions across remote server processes and uses Protocol Buffers for binary ser
Utilizes a compact binary format for serializing structured data between clients and servers.
Buf is a toolchain for managing the full lifecycle of Protocol Buffers schemas. It provides a set of tools for schema governance, including linting to enforce style guides, a breaking change detector to ensure backward compatibility, and a system for producing language-specific source code via local or remote plugins. The project distinguishes itself through a remote schema registry that centralizes the hosting, versioning, and distribution of Protocol Buffers modules. This registry allows for server-side enforcement of governance policies, such as blocking updates that introduce backward-inc
Provides a central repository for managing the lifecycle and distribution of Protocol Buffer schemas.
protobuf.js is a JavaScript and TypeScript library for encoding and decoding structured data using the Protocol Buffers binary format. It functions as a dynamic parser that can load and process schemas at runtime, a JSON transcoder for converting messages to human-readable formats, and a framework for building transport-agnostic remote procedure call clients. The project distinguishes itself by offering both dynamic message handling and a static code generator that produces TypeScript declarations and JavaScript modules to reduce runtime overhead. It also provides a reflection API for definin
Implements the Protocol Buffers binary serialization mechanism for JavaScript and TypeScript environments.
YugabyteDB is a distributed SQL database and relational data store designed for horizontal scalability and high availability across multiple nodes or regions. It functions as a cloud-native system that ensures continuous availability and supports PostgreSQL compatible query languages and drivers. The system includes specialized capabilities as a vector database for AI, utilizing high-dimensional indexing to perform similarity searches. It is engineered as a multi-region cloud database that synchronizes data across different geographic locations to maintain global availability. The project co
Integrates Protocol Buffers for efficient binary serialization of structured data within the distributed system.
Jackson is a Java data binding framework and multi-format data serializer used to translate data structures into native language objects. It functions as a JSON data binding library and a streaming parser that reads and writes data as discrete tokens to process large datasets with minimal memory. The project distinguishes itself through a bytecode serialization accelerator that replaces standard reflection with generated bytecode to increase data binding speed. It employs a module-based extensibility model to support a wide range of formats beyond JSON, including XML, YAML, CSV, TOML, and bin
Serializes and deserializes data using the Protocol Buffers compact binary format.
PyWxDump is a data recovery and export utility designed to extract, decrypt, and convert proprietary mobile messaging databases into readable formats for archival and recovery. It specifically functions as a tool to read and parse encrypted SQLite databases used by WeChat to retrieve chat history and user data. The project focuses on the preservation of conversation history and the forensic recovery of application data for archival or legal purposes. It enables the conversion of proprietary message stores into portable, open formats to prevent data loss from account deletion or device migrati
Parses binary protocol buffers to translate messaging data into readable text.
TensorBoard is a visualization toolkit for tracking and analyzing machine learning model training progress and performance using TensorFlow event logs. It provides a monitoring dashboard for plotting scalar metrics, tensor distributions, and training curves, and includes specialized tools for visualizing neural network computational graphs and projecting high-dimensional embeddings. The project enables side-by-side comparison of multiple training runs to analyze the impact of hyperparameters on model outcomes. It also features a high-dimensional embedding projector and a graph visualizer for
Serializes training metrics and metadata into binary protocol buffers for efficient disk storage.
Golang-100-Days is a structured, daily lesson curriculum for learning the Go programming language from the ground up, progressing into practical microservice and web application development. The project is built around a code-example-driven approach, where each day introduces new concepts through runnable Go snippets and complete project examples rather than abstract theory, covering Go fundamentals such as syntax, data types, control flow, functions, and packages. The curriculum differentiates itself by grouping lessons around specific Go frameworks and distributed system patterns. It includ
Uses Protocol Buffers as the data serialization format for RPC communication between microservices.
Valhalla is an open-source routing engine that calculates optimal paths and travel times using OpenStreetMap data. It is built around a tiled routing graph framework, allowing map data to be organized into small geographic tiles for efficient regional updates and offline routing capability. The project distinguishes itself through a multimodal routing server that combines automobile, pedestrian, bicycle, and public transit modes into single journeys. It includes a GPS trace matching engine to align noisy coordinates to the most probable road network paths and an isochrone and matrix generator
Uses Protocol Buffers for efficient binary serialization of routing requests and responses.
protobuf-net 是一个二进制序列化框架和 .NET 库,实现了 Protocol Buffers 规范。它作为一个基于模式的序列化工具和契约优先的数据映射器,将复杂的对象图转换为紧凑的二进制格式,用于存储和网络传输。 该库通过减小有效载荷大小和处理时间,实现了跨平台数据交换和高性能网络通信。它特别支持对象层次结构持久化,允许序列化和重构包含继承和派生类型的复杂类结构。 该项目涵盖了核心功能,包括二进制数据序列化和反序列化、模式驱动的类生成,以及通过唯一标识符管理类型继承。它提供了通过静态属性或动态运行时配置映射数据结构的机制。
Provides a .NET implementation of the Protocol Buffers language-neutral, platform-agnostic serialization mechanism.
This project is a Go programming language study guide and backend development course. It provides a collection of learning notes and practical examples covering fundamental syntax and core language concepts. The repository functions as a tutorial for building web APIs and network services. It includes implementation guides for the Gin web framework and code demonstrations for creating remote procedure call services using Protocol Buffers. The material covers backend API engineering, including routing, data binding, and error handling. It also includes examples of structured logging and custo
Uses Protocol Buffers for language-neutral binary serialization of structured data.
protobuf-net is a .NET library that serializes and deserializes objects using the Protocol Buffers binary format for efficient data exchange. It provides a code-first gRPC service framework, allowing developers to define service contracts directly from existing C# classes without writing separate .proto files. The library is nullable-aware, encoding null values in collections and nullable scalars using wrapper messages to distinguish null from default zero values, and includes an ahead-of-time serializer generator that compiles serializer code at build time to eliminate runtime code generati
Serializes and deserializes .NET objects to compact binary format using Protocol Buffers for efficient data exchange.