Giter Site home page Giter Site logo

dubbo-go-sca's Introduction

Apache Dubbo-go

Build Status codecov go.dev reference Go Report Card license


中文 🇨🇳

Apache Dubbo-go, a Dubbo implementation written in Golang, is born to bridge the gap between Java/Dubbo and Go/X. Please visit our Dubbo official website for the quick start and documentation.

RPC Invocation

Dubbo-go has supported many RPC protocol, like Triple, Dubbo JSONRPC, gRPC, HTTP, HTTP2.

  • Triple is the supported protocol of Dubbo3 ecology, and is gRPC extended protocol based on HTTP2, which is compatible with gRPC service.In other words, on the basis of gRPC's reliable invocation, it adds Dubbo's service governance capability.
  • Dubbo protocol is tradition Dubbo ecology protocol, which is capitable with dubbo 2.x, and is a good choice for cross-language invocation between GO and Java old service.
  • HTTP support:As you can see in the figure above, you can invoke Triple/Dubbo service using HTTP protocol through dubbo-go-pixiu gateway.

Service Governance Capability.

Getting started

tools

  • imports-formatter formatting dubbo-go project import code block.
  • dubbo-go-cli dubbo-go command line tools, by which you can define your own request pkg and gets rsp struct of your server, test your service as telnet and generate hessian.POJO register method body.
  • dubbo-go-cli-v2 new dubbo-go line tools, you can get services from register center, create a demo and has the same features with dubbo-go-cli.
  • protoc-gen-go-triple tripe protocol pb file generation tool.
  • protoc-gen-dubbo3grpc dubbo3 grpc pb file generation tool.

If you want to know more about dubbogo tools, please visit https://github.com/dubbogo/tools and read its readme carefully.

Intellij Plugin

  • Windows: File > Settings > Plugins > Browse repositories... > Search for "Dubbo Go" > Install Plugin
  • MacOS: Preferences > Settings > Plugins > Browse repositories... > Search for "Dubbo Go" > Install Plugin
  • Manually:
    • Download the latest release and install it manually using Preferences > Plugins > Install plugin from disk...
    • From official jetbrains store from download

Feature

Feature IDEA GoLand
Hessian2 Generator ✅️ ✅️
New Project/Module ✅️ ✅️

Project/Module Template

Project/Module Template Progress
Sample ✅️
Empty Project ✅️
Empty Project Template Middleware
Middleware Module Support
Web Service Gin ✅️
Memory Cache Redis ✅️
Database Gorm ✅️

If you want to know more about dubbogo Intellij Plugin, please visit https://gitee.com/changeden/intellij-plugin-dubbo-go-generator and read its readme carefully.

Dubbo-go ecosystem

  • Dubbo Ecosystem Entry - A GitHub group dubbo to gather all Dubbo relevant projects not appropriate in apache group yet.
  • dubbo-go-pixiu - A dynamic, high-performance API gateway solution for Dubbo and Http services.
  • dubbo-go-samples - Samples for Apache Dubbo-go.
  • dubbo-getty - A netty like asynchronous network I/O library which supports tcp/udp/websocket network protocol.
  • triple - A golang network package that based on http2, used by Dubbo-go 3.0.
  • dubbo-go-hessian2 - A golang hessian library used by Apache/dubbo-go.
  • gost - A go sdk for Apache Dubbo-go.

Contributing

Please visit CONTRIBUTING for details on submitting patches and the contribution workflow.

Reporting bugs

Please use the bug report template to report bugs, use the enhancement template to provide suggestions for improvement.

Contact

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

See more user cases

License

Apache Dubbo-go software is licenced under the Apache License Version 2.0. See the LICENSE file for details.

dubbo-go-sca's People

Contributors

alexstocks avatar zouyx avatar hxmhlt avatar fangyincheng avatar laurencelizhixin avatar patrick0308 avatar flycash avatar pantianying avatar sxllwx avatar cvictory avatar dependabot[bot] avatar wenxuwan avatar watermelo avatar zhaoyunxing92 avatar aliiohs avatar beiwei30 avatar cityiron avatar codingsinger avatar justxuewei avatar ygrylls avatar xujianhai666 avatar lzp0412 avatar sdttttt avatar zonghaishang avatar ztelur avatar cjphaha avatar wongoo avatar pherzheyu avatar amudong avatar isaac-zhang avatar

Watchers

James Cloos 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.