explaingit

douyu/jupiter

4,563GoAudience · developerComplexity · 4/5LicenseSetup · moderate

TLDR

Jupiter is a Go framework for building microservices, developed by Douyu live-streaming platform, with a focus on how services register, find each other, and stay manageable and observable in production.

Mindmap

mindmap
  root((jupiter))
    What it does
      Microservice framework
      Service registration
      Service discovery
      Config management
    Management
      Juno console
      Web interface
      Live demo
    Tech Stack
      Go
      Docker
    Getting Started
      CLI tool
      Project template
      Quick start
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Build multiple small backend services that can be deployed independently and talk to each other

USE CASE 2

Set up automatic service registration and discovery so services find each other without hardcoded addresses

USE CASE 3

Monitor and manage running microservices through the Juno web console with a visual interface

Tech stack

GoDocker

Getting it running

Difficulty · moderate Time to first run · 30min

Requires Go 1.19+ and Docker for the development dependencies used in the quick-start example.

Use freely for any purpose including commercial use, requires preserving copyright and license notices.

In plain English

Jupiter is a Go framework for building microservices, developed and used internally by Douyu, a large Chinese live-streaming platform. A microservice framework provides the scaffolding and conventions that a team needs to build many small, independently deployable services that talk to each other, rather than one large application. The framework is described as "governance-oriented," meaning it places particular emphasis on the operational side of running services: how they register themselves, how they find each other, how configuration is managed, and how they can be observed and controlled in production. This reflects the needs of a company running services at scale, where keeping those services well-behaved and maintainable matters as much as the application logic itself. Jupiter comes with a companion project called Juno, a management console that provides a web interface for governing services built with Jupiter. A live demo of that console is available with public credentials. The framework also provides a command-line tool and a project template to get new services started quickly, so you can go from installation to a running example service in a handful of commands. The README is brief and in English, with the full documentation available in Chinese. Requirements are Go 1.19 or later and Docker (used for the development dependencies in the quick-start example). The project is licensed under the Apache 2.0 license and welcomes outside contributions.

Copy-paste prompts

Prompt 1
Show me how to create a new microservice project using the Jupiter Go framework CLI and get it running with the quick-start template
Prompt 2
How do I configure service registration and discovery in a Jupiter-based Go microservice so it automatically announces itself to other services?
Prompt 3
How do I connect a Jupiter microservice to the Juno management console to monitor it in the web UI?
Prompt 4
Generate a Jupiter Go microservice that handles HTTP requests, registers itself, and reads config from the Jupiter configuration system
Open on GitHub → Explain another repo

← douyu on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.