Skip to content

apolloconfig/agollo

Repository files navigation

Agollo - Go Client for Apollo

English | 中文

golang Build Status Go Report Card codebeat badge Coverage Status License GoDoc GitHub release 996.icu

A Golang client for the configuration center framework Apollo.

Features

  • Support for multiple IPs, AppIDs, and namespaces
  • Real-time configuration synchronization
  • Gray release configuration
  • Lazy loading (runtime) namespaces
  • Client-side and configuration file fallback
  • Customizable logger and cache components
  • Support for configuration access keys

Usage

Quick Start

Import agollo

go get -u github.com/apolloconfig/agollo/v4@latest

Initialize agollo

package main

import (
	"fmt"

	"github.com/apolloconfig/agollo/v4"
	"github.com/apolloconfig/agollo/v4/env/config"
)

func main() {
	c := &config.AppConfig{
		AppID:          "testApplication_yang",
		Cluster:        "dev",
		IP:             "http://localhost:8080",
		NamespaceName:  "dubbo",
		IsBackupConfig: true,
		Secret:         "6ce3ff7e96a24335a9634fe9abca6d51",
	}

	client, _ := agollo.StartWithConfig(func() (*config.AppConfig, error) {
		return c, nil
	})
	fmt.Println("Apollo configuration initialized successfully")

	//Use your apollo key to test
	cache := client.GetConfigCache(c.NamespaceName)
	value, _ := cache.Get("key")
	fmt.Println(value)
}

More Examples

Demo Project: agollo_demo

Other Languages:: Use agollo-agent as a local agent for languages like PHP.

Check out our Wiki or godoc for more information.

If you find this tool useful or encounter any issues, please let me know via email or by creating an issue。

User

Contribution

License

The project is licensed under the Apache 2 license.

Reference

Apollo: https://github.com/apolloconfig/apollo