Skip to content

txix-open/isp-kit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

835 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

isp-kit

Go Reference Go Report Card

A powerful and lightweight application lifecycle management framework and utility suite for building scalable Go microservices.

🌟 Overview

isp-kit provides a unified ecosystem for developing production-ready services. From configuration management to distributed tracing, it offers a structured approach to common microservice patterns, allowing you to focus on business logic rather than boilerplate.

📦 Features

  • Application Lifecycle - Lightweight application management with graceful startup/shutdown
  • Configuration Management - Flexible config system with YAML, environment variables, and hot-reload support
  • Database Integration - PostgreSQL client with transaction support, migrations, and automatic schema management
  • Message Queues - High-level abstractions for Kafka, RabbitMQ, and STOMP with middleware chains
  • HTTP & gRPC - Production-ready servers and clients with middleware, metrics, and tracing
  • Distributed Tracing - OpenTelemetry integration across all transport layers
  • Metrics Collection - Prometheus-based metrics for HTTP, gRPC, Kafka, RabbitMQ, SQL, and background jobs
  • Error Handling - Structured error types for HTTP and gRPC with business error codes
  • Cluster Coordination - Client-side functionality for distributed configuration and service discovery
  • Health Checks - Standardized health check endpoints with component-level status

📚 Core Packages

Application & Bootstrap

Package Description
app Lightweight application lifecycle management with Runner components
bootstrap Unified initialization framework for configuration, logging, and infrastructure
config Flexible configuration management with multiple sources and type-safe retrieval

Database & Storage

Package Description
db PostgreSQL client with sqlx/pgx integration and transaction support
dbx Extended database client with migrations and schema management
dbrx Dynamic database client with hot-reload capability

Messaging

Package Description
kafkax High-level Kafka abstraction with franz-go client
grmqx RabbitMQ wrapper with automatic topology declaration
stompx STOMP protocol wrapper for message brokers

Communication

Package Description
http Core HTTP server with middleware support
http/httpcli High-level HTTP client with retries and middleware
grpc gRPC server and client with hot-swappable handlers
grpc/client gRPC client with load balancing and observability

Observability

Package Description
log Structured logging adapter based on Uber Zap
metrics Prometheus metrics registry and storage types
observability/tracing OpenTelemetry distributed tracing integration
observability/sentry Sentry error tracking and event monitoring

Utilities

Package Description
healthcheck Health check registry and JSON endpoint
requestid Request ID management across contexts
retry Exponential backoff retry utilities
shutdown Process termination signal handling

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages