dubbo-go-bluexii

module
v1.0.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 28, 2022 License: Apache-2.0

README

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

User List

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.

Directories

Path Synopsis
cluster/adaptivesvc
Package adaptivesvc implements adaptive service cluster strategy.
Package adaptivesvc implements adaptive service cluster strategy.
cluster/available
Package available implements Available cluster strategy.
Package available implements Available cluster strategy.
cluster/base
Package base implements invoker for the manipulation of cluster strategy.
Package base implements invoker for the manipulation of cluster strategy.
cluster/broadcast
Package broadcast implements Broadcast cluster strategy.
Package broadcast implements Broadcast cluster strategy.
cluster/failback
Package failback implements Failback cluster strategy.
Package failback implements Failback cluster strategy.
cluster/failfast
Package failfast implements Failfast cluster strategy.
Package failfast implements Failfast cluster strategy.
cluster/failover
Package failover implements Failover cluster strategy.
Package failover implements Failover cluster strategy.
cluster/failsafe
Package failsafe implements Failsafe cluster strategy.
Package failsafe implements Failsafe cluster strategy.
cluster/forking
Package forking implements forking cluster strategy.
Package forking implements forking cluster strategy.
cluster/zoneaware
Package zoneaware implements zoneaware cluster strategy.
Package zoneaware implements zoneaware cluster strategy.
cluster_impl
Package cluster_impl is for being compatible with older dubbo-go, please use `imports` package.
Package cluster_impl is for being compatible with older dubbo-go, please use `imports` package.
loadbalance/consistenthashing
Package consistenthashing implements ConsistentHash load balance strategy.
Package consistenthashing implements ConsistentHash load balance strategy.
loadbalance/leastactive
Package leastactive implements LeastActive load balance strategy.
Package leastactive implements LeastActive load balance strategy.
loadbalance/p2c
Package p2c implements p2c load balance strategy.
Package p2c implements p2c load balance strategy.
loadbalance/random
Package random implements Random load balance strategy.
Package random implements Random load balance strategy.
loadbalance/roundrobin
Package roundrobin implements RoundRobin load balance strategy.
Package roundrobin implements RoundRobin load balance strategy.
metrics
Package mock_metrics is a generated GoMock package.
Package mock_metrics is a generated GoMock package.
Package config defines the Dubbo-go config, which carries ApplicationConfig、 RegisterConfig、ProtocolConfig、RouterConfig and MetadataReportConfig etc.
Package config defines the Dubbo-go config, which carries ApplicationConfig、 RegisterConfig、ProtocolConfig、RouterConfig and MetadataReportConfig etc.
Package config_center defines interfaces to be implemented by Config Center driver.
Package config_center defines interfaces to be implemented by Config Center driver.
apollo
Package apollo implements config center around Apollo.
Package apollo implements config center around Apollo.
file
Package file implements config center around file system.
Package file implements config center around file system.
nacos
Package nacos implements config center around Nacos.
Package nacos implements config center around Nacos.
zookeeper
Package zookeeper implements config center around zookeeper.
Package zookeeper implements config center around zookeeper.
Package filter defines the functions of a filter.
Package filter defines the functions of a filter.
accesslog
Package accesslog providers logging filter.
Package accesslog providers logging filter.
adaptivesvc
Package adaptivesvc providers AdaptiveService filter.
Package adaptivesvc providers AdaptiveService filter.
auth
Package auth providers authorization filter.
Package auth providers authorization filter.
echo
Package echo providers health check filter.
Package echo providers health check filter.
exec_limit
Package exec_limit provides a filter for limiting the number of in-progress request and it's thread-safe.
Package exec_limit provides a filter for limiting the number of in-progress request and it's thread-safe.
filter_impl
Package filter_impl is for being compatible with older dubbo-go, please use `imports` package.
Package filter_impl is for being compatible with older dubbo-go, please use `imports` package.
generic
Package generic provides generic invoke filter.
Package generic provides generic invoke filter.
graceful_shutdown
Package graceful_shutdown provides a filter for shutting down gracefully.
Package graceful_shutdown provides a filter for shutting down gracefully.
handler
Package filter is a generated GoMock package.
Package filter is a generated GoMock package.
hystrix
Package hystrix provides hystrix filter.
Package hystrix provides hystrix filter.
metrics
Package metrics provides metrics collection filter.
Package metrics provides metrics collection filter.
seata
Package seata provides a filter when use seata-golang, use this filter to transfer xid.
Package seata provides a filter when use seata-golang, use this filter to transfer xid.
sentinel
Package sentinel provides a filter when using sentinel.
Package sentinel provides a filter when using sentinel.
token
Package token provides token filter.
Package token provides token filter.
tps
Package tps provides a filter for limiting the requests by TPS.
Package tps provides a filter for limiting the requests by TPS.
tps/limiter
Package filter is a generated GoMock package.
Package filter is a generated GoMock package.
tps/strategy
Package filter is a generated GoMock package.
Package filter is a generated GoMock package.
tracing
Package tracing provides tracing collection filter.
Package tracing provides tracing collection filter.
metadata
Package metrics define interfaces for metrics collection.
Package metrics define interfaces for metrics collection.
dubbo
Package dubbo implements dubbo rpc protocol.
Package dubbo implements dubbo rpc protocol.
dubbo3
Package dubbo3 implements dubbo3.0 rpc protocol.
Package dubbo3 implements dubbo3.0 rpc protocol.
dubbo3/reflection
Package reflection implements server reflection service.
Package reflection implements server reflection service.
grpc
Package grpc implements grpc rpc protocol.
Package grpc implements grpc rpc protocol.
jsonrpc
Package jsonrpc implements json rpc protocol.
Package jsonrpc implements json rpc protocol.
mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
rest
Package rest implements restful rpc protocol.
Package rest implements restful rpc protocol.
Package registry defines interfaces to be implemented by service register and service discovery driver.
Package registry defines interfaces to be implemented by service register and service discovery driver.
directory
Package directory implements registry around file system.
Package directory implements registry around file system.
etcdv3
Package etcdv3 implements registry around etcd.
Package etcdv3 implements registry around etcd.
nacos
Package nacos implements registry around Nacos.
Package nacos implements registry around Nacos.
polaris
Package polaris implements registry around polaris.
Package polaris implements registry around polaris.
zookeeper
Package zookeeper implements registry around zookeeper.
Package zookeeper implements registry around zookeeper.
Package remoting provides facilities for decoding and encoding, client and server.
Package remoting provides facilities for decoding and encoding, client and server.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL