SkillAgentSearch skills...

Ego

A simple and component-based microservice kit for go. 一个简单的基于组件的 Go 微服务套件。

Install / Use

/learn @gotomicro/Ego
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

EGO

All Contributors Go Go Report Card codecov goproxy.cn Release License: MIT Example Doc

English | 简体中文

1 Docs

The official docs for developers.

View https://ego-org.com

2 Introduction

EGO is a microservice-oriented governance framework implemented by golang, which integrates various engineering practices. Through the component-based design pattern, it is guaranteed that the business development can use various components in a unified way.

Advantages of EGO:

  • Configure drive components
  • Shield the startup details of the underlying components
  • Observation and governance of microservice components
  • Pluggable Ego-Component
  • Fail Fast principle and friendly error prompts

2.1 Improve component proficiency

For us engineers to improve component proficiency, we must first read a lot of open source component documentation and code, and then insist on using it for a long time in order to form muscle memory and improve our speed of doing business. And the time and energy invested in all of this is enormous.

To reduce this input cost and allow more developers to better use excellent open source components, EGO's approach is to standardize all open source components, encapsulate them, and unify various behaviors.

  • Unified component file name
  • Unified component configuration parameters
  • Unified component call API
  • Unify component error behavior
  • Unified component monitoring behavior

Once you have mastered one component, you can use other components by inference.

2.2 Improve the efficiency of troubleshooting

  • Unified error code
  • Component errors, slow responses, links, regular request interceptor points (both server and client will intercept)
  • Convergence error field
  • Inject key information into components: code line number, configuration name, target address, time-consuming, request data, response data
  • Debugging stage, error highlighting, formatting friendly prompts
  • In the debugging phase, the component has a built-in debug interceptor

2.3 Automatically generate duplicate code(EGO CLI)

  • Generate code, configuration, data parsing, template separation
  • Build project code independently of language
  • Use the Go1.16 feature embed, start the webUI, and generate code
  • Project: https://github.com/gotomicro/egoctl

3 Ego Component

We have Many EGO components to support your rapid development

| Component Name | Code | Example | Doc | |---------------------------|----------------------------------------------------------------------|-------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------| | HTTP Server | Code | Example | Doc | | gRPC Server | Code | Example | Doc | | Governance Service | Code | Example | Doc | | Job | Code | Example | Doc | | Corn job | Code | Example | Doc | | Distributed Scheduled Job | Code | Example | Doc | | HTTP Client | Code | Example | Doc | | gRPC Client | Code | Example | Doc | | gRPC Client using ETCD | Code | Example | Doc | | gRPC Client using k8s | Code | Example | Doc | | Sentinel | Code | Example | Doc | | MySQL | Code | Example | Doc | | Redis | Code | Example | Doc | | Redis Distributed lock | Code | Example | Doc | | Mongo | Code | Example | Doc | | Kafka | Code | Example | Doc | | ETCD | Code | Example | Doc | | K8S | Code | Example | Doc | | Oauth2 | Code | Example ||

4 Definition

4.1 Framework Layer

EGO framework has three layers:

  • The core layer provides configuration, logging, monitoring and links, and is the cornerstone of other components.
  • The component layer provides various compo

Related Skills

View on GitHub
GitHub Stars989
CategoryDevelopment
Updated6d ago
Forks159

Languages

Go

Security Score

100/100

Audited on Mar 21, 2026

No findings