Giter Site home page Giter Site logo

ares's Introduction

Logo

Open source dynamic configuration center with easy deployment and high stability


What is ARES?

Welcome to use Ares dynamic configuration system. The Ares system is developed based on the Java language, a dynamic configuration system with simple deployment and high stability. It allows you to centrally and dynamically manage the configuration in your application and also it allows your application to quickly change the runtime application configuration in a combination of monitoring and pulling.It has a rich configuration management UI to simplify operations, while also ensuring data isolation and flexibility.

overall

Overall architecture

概要


Features

Efficient dynamic configuration

  • Multi-environment and multi-level configuration management to support complex business scenarios and network environments

  • Support websocket mode to facilitate access to non-Java languages

  • Adaptive load balancing on the client side to avoid configuration loss caused by server jitter

  • Based on TCP persistent connection, the monitoring mode makes the configuration take effect in a more real-time manner.

Scalable cluster service

  • The server of distributed deployment forms a cluster through remote coordination

  • Decentralized cluster service, each server has the same external service.

  • The server clustering process does not depend on other middleware

  • It allows the runtime to expand the server cluster.

  • Unified deployment of server side and management side, no additional deployment of SLB is required


Modules

  • ares-biz : The core logic module includes the main configuration management and push processes.

  • ares-client : The client SDK module is responsible for communicating with the server cluster and updating the configuration.

  • ares-client-spring : It is a fast access to SDK based on Spring framework.

  • ares-cluster : It is a decentralized cluster module based on Akka framework.

  • ares-common : It contains a collection of commonly used tool classes and major basic data models

  • ares-dao : Database access layer

  • ares-deploy : Build and deploy programs to protect configuration files

  • ares-model : Data model set

  • ares-webapi : Interface logic module


UserGuides

QuickStart

Deployment

Manual


Design

Architecture

Server

Client

Flow


Performance and restrictions

Our testing environment:

1 server / 50 clients

server specification: 2c4g, JVM -Xmx512m

CilentsNumber StartPushingTime LastReceivedTime ElapsedTime Failure
10 10:34:15.400 10:34:15.482 82ms 0
20 10:39:51.080 10:39:51.183 103ms 0
50 10:58:32.301 10:58:32.490 190ms 0

About

The Ares system is currently in use within the Chengying company and provides stable services:

  • Stable operation for a long time:It has been in stable operation for more than 1 year since it was launched.

  • Support multiple lines of business:Three environment-isolated business lines in the company use 1 sets of Ares dynamic configuration at the same time.

  • Access to many services:A total of 23 online services are supported, including more than 600 pieces of configuration information

  • Support for multiple environments:It supports four sets of environments, such as development environment, test environment, pre-release environment and online environment at the same time.

  • Complete a large number of configuration push:It has made nearly 2000 configuration changes since it was launched.


Planning

  • Grayscale release:It allows the configuration to take effect according to the traffic identification or machine IP, thus making the configuration effective process more smoothly.

  • Smooth expansion:After new machines join the cluster, clients can quickly perceive and load balance.

  • Support for spring annotations:It supports dynamic modification of configuration items for spring annotations

  • Support for multiple development languages:In the future, more development languages SDK will access Ares by means of websocket or TCP.

  • Cloud native deployment:By optimizing the way the cluster is established, it supports deployment in environments such as K8S

  • Extensible management-side permissions:The user can connect his or her own authority system to the management end.


Support

IM communication

钉钉交流

Community communication

preparing...

Expert sharing

preparing...


Team

Avater Github Account Company Role Email
kaneback ChengYing Maintainer [email protected]

ares's People

Contributors

love-wizard avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.