Git Product home page Git Product logo

dubbo-go's Introduction

Apache Dubbo-go 中文

Build Status codecov


Apache Dubbo Go Implementation.

License

Apache License, Version 2.0

Release note

v1.0.0 - May 29, 2019 compatible with dubbo v2.6.5

Project Architecture

Both extension module and layered project architecture is according to Apache Dubbo (including protocol layer, registry layer, cluster layer, config layer and so on), the advantage of this arch is as following: you can implement these layered interfaces in your own way, override the default implementation of dubbo-go by calling 'extension.SetXXX' of extension, complete your special needs without modifying the source code. At the same time, you are welcome to contribute implementation of useful extension to the community.

frame design

If you wanna know more about dubbo-go, please visit this reference Project Architeture design

Feature list

Finished List:

  • Role: Consumer, Provider
  • Transport: HTTP, TCP
  • Codec: JsonRPC v2, Hessian v2
  • Registry: ZooKeeper
  • Routing: Rule(dubbo v2.6.x)
  • Configure Center: Zookeeper
  • Cluster Strategy: Failover
  • Load Balance: Random, RoundRobin, LeastActive
  • Filter: Echo Health Check

Working List:

  • Cluster Strategy: Failfast/Failsafe/Failback/Forking
  • Load Balance: ConsistentHash
  • Filter: TokenFilter/AccessLogFilter/CountFilter/ActiveLimitFilter/ExecuteLimitFilter/GenericFilter/TpsLimitFilter
  • Registry: etcd/k8s/consul/nacos
  • Configure Center: apollo
  • Dynamic Configuration Center & Metadata Center (dubbo v2.7.x)
  • Metrics: Promethus(dubbo v2.7.x)

Todo List:

  • Registry: kubernetes
  • Routing: istio
  • tracing (dubbo ecosystem)

You can know more about dubbo-go by its roadmap.

Quick Start

The subdirectory examples shows how to use dubbo-go. Please read the examples/README.md carefully to learn how to dispose the configuration and compile the program.

Contributing

If you are willing to do some code contributions and document contributions to Apache/dubbo-go, please visit contribution intro.

Benchmark

Benchmark project please refer to go-for-apache-dubbo-benchmark

About dubbo-go benchmarking report, please refer to dubbo benchmarking report & jsonrpc benchmarking report

If you are using apache/dubbo-go and think that it helps you or want do some contributions to it, please add your company to to the user list to let us know your needs.

ctrip

Stargazers

Stargazers over time

dubbo-go's People

Contributors

alexstocks avatar aliiohs avatar arugal avatar beiwei30 avatar fangyincheng avatar hxmhlt avatar kimmking avatar namehaibinzhang avatar ralf0131 avatar wongoo avatar zonghaishang avatar

Watchers

 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.