Skip to content

Commit 4bc0ef9

Browse files
authored
[config] Remove config dependency (#1113)
* decouple samples from legacy config API * MAKE SURE USING OLD TRIPLE * omit old triple integration test * old triple
1 parent 0d4d76a commit 4bc0ef9

8 files changed

Lines changed: 314 additions & 215 deletions

File tree

filter/tpslimit/README.md

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,16 @@ Implement the interface "filter.RejectedExecutionHandler" to customize the retur
2323
Enable tpslimit filter in provider's code using v3 API:
2424

2525
```go
26-
import "dubbo.apache.org/dubbo-go/v3/config"
26+
import "dubbo.apache.org/dubbo-go/v3/global"
2727

2828
if err := greet.RegisterGreetServiceHandler(srv, &GreetTripleServer{},
2929
server.WithTpsLimiter("method-service"),
30-
server.WithMethod(
31-
config.WithName("Greet"),
32-
config.WithTpsLimitRate(5), // must be >0, otherwise the limiter falls back to the default -1 and gets ignored
33-
config.WithTpsLimitInterval(1000), // ms
34-
config.WithTpsLimitStrategy("RandomLimitStrategy"),
35-
),
30+
server.WithMethod(&global.MethodConfig{
31+
Name: "Greet",
32+
TpsLimitRate: "5", // must be >0, otherwise the limiter falls back to the default -1 and gets ignored
33+
TpsLimitInterval: "1000", // ms
34+
TpsLimitStrategy: "RandomLimitStrategy",
35+
}),
3636
server.WithTpsLimitRejectedHandler("DefaultValueHandler"),
3737
); err != nil {
3838
panic(err)
@@ -81,4 +81,3 @@ successCount=<number>, failCount=<number>
8181
```
8282
8383
The client will send 60 requests with 200ms intervals. Some requests will be rejected by the TPS limiter, and you'll see both success and failure counts in the final output.
84-

filter/tpslimit/README_zh.md

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,16 @@ B) 自定义拒绝访问处理:
2323
在服务端代码中使用 v3 API 启用 tpslimit filter:
2424

2525
```go
26-
import "dubbo.apache.org/dubbo-go/v3/config"
26+
import "dubbo.apache.org/dubbo-go/v3/global"
2727

2828
if err := greet.RegisterGreetServiceHandler(srv, &GreetTripleServer{},
2929
server.WithTpsLimiter("method-service"),
30-
server.WithMethod(
31-
config.WithName("Greet"),
32-
config.WithTpsLimitRate(5), // 需要配置为正数,否则默认值 -1 会导致限流器被忽略
33-
config.WithTpsLimitInterval(1000), // 单位 ms
34-
config.WithTpsLimitStrategy("RandomLimitStrategy"),
35-
),
30+
server.WithMethod(&global.MethodConfig{
31+
Name: "Greet",
32+
TpsLimitRate: "5", // 需要配置为正数,否则默认值 -1 会导致限流器被忽略
33+
TpsLimitInterval: "1000", // 单位 ms
34+
TpsLimitStrategy: "RandomLimitStrategy",
35+
}),
3636
server.WithTpsLimitRejectedHandler("DefaultValueHandler"),
3737
); err != nil {
3838
panic(err)
@@ -81,4 +81,3 @@ successCount=<数量>, failCount=<数量>
8181
```
8282
8383
客户端将发送 60 个请求,每个请求间隔 200ms。部分请求会被 TPS 限流器拒绝,最终输出中会显示成功和失败的请求数量。
84-

online_boutique/src/paymentservice/go.mod

Lines changed: 58 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,33 @@
11
module github.com/apache/dubbo-go-samples/online_boutique_demo/paymentservice
22

3-
go 1.23.0
3+
go 1.25.0
44

55
require (
6-
dubbo.apache.org/dubbo-go/v3 v3.3.0
7-
github.com/dubbogo/gost v1.14.1
6+
dubbo.apache.org/dubbo-go/v3 v3.3.2-20260419
7+
github.com/dubbogo/gost v1.14.3
88
github.com/durango/go-credit-card v0.0.0-20220404131259-a9e175ba4082
9-
github.com/google/uuid v1.3.0
9+
github.com/google/uuid v1.3.1
1010
google.golang.org/protobuf v1.34.1
1111
)
1212

1313
require (
14-
cloud.google.com/go/compute/metadata v0.3.0 // indirect
1514
github.com/RoaringBitmap/roaring v1.2.3 // indirect
1615
github.com/Workiva/go-datastructures v1.0.52 // indirect
17-
github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5 // indirect
1816
github.com/alibaba/sentinel-golang v1.0.4 // indirect
19-
github.com/aliyun/alibaba-cloud-sdk-go v1.61.1704 // indirect
17+
github.com/alibabacloud-go/debug v0.0.0-20190504072949-9472017b5c68 // indirect
18+
github.com/alibabacloud-go/tea v1.1.17 // indirect
19+
github.com/alibabacloud-go/tea-utils v1.4.4 // indirect
20+
github.com/aliyun/alibaba-cloud-sdk-go v1.61.1800 // indirect
21+
github.com/aliyun/alibabacloud-dkms-gcs-go-sdk v0.2.2 // indirect
22+
github.com/aliyun/alibabacloud-dkms-transfer-go-sdk v0.1.7 // indirect
2023
github.com/apache/dubbo-getty v1.4.10 // indirect
2124
github.com/apache/dubbo-go-hessian2 v1.12.5 // indirect
25+
github.com/apolloconfig/agollo/v4 v4.4.0 // indirect
2226
github.com/beorn7/perks v1.0.1 // indirect
2327
github.com/bits-and-blooms/bitset v1.2.0 // indirect
2428
github.com/buger/jsonparser v1.1.1 // indirect
25-
github.com/cenkalti/backoff/v4 v4.1.3 // indirect
26-
github.com/census-instrumentation/opencensus-proto v0.4.1 // indirect
29+
github.com/cenkalti/backoff/v4 v4.2.1 // indirect
2730
github.com/cespare/xxhash/v2 v2.2.0 // indirect
28-
github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe // indirect
29-
github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4 // indirect
3031
github.com/coreos/go-semver v0.3.0 // indirect
3132
github.com/coreos/go-systemd/v22 v22.3.2 // indirect
3233
github.com/creasty/defaults v1.5.2 // indirect
@@ -38,29 +39,29 @@ require (
3839
github.com/dubbogo/triple v1.2.2-rc4 // indirect
3940
github.com/dustin/go-humanize v1.0.1 // indirect
4041
github.com/emicklei/go-restful/v3 v3.10.1 // indirect
41-
github.com/envoyproxy/go-control-plane v0.11.1-0.20230524094728-9239064ad72f // indirect
42-
github.com/envoyproxy/protoc-gen-validate v0.10.1 // indirect
43-
github.com/go-logr/logr v1.2.4 // indirect
42+
github.com/fsnotify/fsnotify v1.6.0 // indirect
43+
github.com/go-logr/logr v1.3.0 // indirect
4444
github.com/go-logr/stdr v1.2.2 // indirect
4545
github.com/go-ole/go-ole v1.2.6 // indirect
4646
github.com/go-playground/locales v0.14.1 // indirect
4747
github.com/go-playground/universal-translator v0.18.1 // indirect
4848
github.com/go-playground/validator/v10 v10.12.0 // indirect
4949
github.com/go-resty/resty/v2 v2.7.0 // indirect
5050
github.com/go-sourcemap/sourcemap v2.1.3+incompatible // indirect
51+
github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 // indirect
5152
github.com/gogo/protobuf v1.3.2 // indirect
5253
github.com/golang/mock v1.6.0 // indirect
53-
github.com/golang/protobuf v1.5.3 // indirect
54+
github.com/golang/protobuf v1.5.4 // indirect
5455
github.com/golang/snappy v0.0.4 // indirect
5556
github.com/google/pprof v0.0.0-20230207041349-798e818bf904 // indirect
5657
github.com/gorilla/websocket v1.4.2 // indirect
57-
github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3 // indirect
58+
github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect
5859
github.com/hashicorp/errwrap v1.1.0 // indirect
5960
github.com/hashicorp/go-multierror v1.1.1 // indirect
6061
github.com/hashicorp/golang-lru v0.5.4 // indirect
62+
github.com/hashicorp/hcl v1.0.0 // indirect
6163
github.com/hashicorp/vault/sdk v0.7.0 // indirect
6264
github.com/influxdata/tdigest v0.0.1 // indirect
63-
github.com/jinzhu/copier v0.3.5 // indirect
6465
github.com/jmespath/go-jmespath v0.4.0 // indirect
6566
github.com/json-iterator/go v1.1.12 // indirect
6667
github.com/k0kubun/pp v3.0.1+incompatible // indirect
@@ -70,31 +71,39 @@ require (
7071
github.com/magiconair/properties v1.8.5 // indirect
7172
github.com/mattn/go-colorable v0.1.13 // indirect
7273
github.com/mattn/go-isatty v0.0.16 // indirect
73-
github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
7474
github.com/mitchellh/copystructure v1.2.0 // indirect
7575
github.com/mitchellh/go-homedir v1.1.0 // indirect
7676
github.com/mitchellh/mapstructure v1.5.0 // indirect
7777
github.com/mitchellh/reflectwalk v1.0.2 // indirect
7878
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
7979
github.com/modern-go/reflect2 v1.0.2 // indirect
8080
github.com/mschoch/smat v0.2.0 // indirect
81-
github.com/nacos-group/nacos-sdk-go/v2 v2.2.2 // indirect
81+
github.com/nacos-group/nacos-sdk-go/v2 v2.2.5 // indirect
8282
github.com/natefinch/lumberjack v2.0.0+incompatible // indirect
8383
github.com/oliveagle/jsonpath v0.0.0-20180606110733-2e52cf6e6852 // indirect
84+
github.com/onsi/ginkgo/v2 v2.11.0 // indirect
8485
github.com/opentracing/opentracing-go v1.2.0 // indirect
85-
github.com/openzipkin/zipkin-go v0.4.0 // indirect
86+
github.com/openzipkin/zipkin-go v0.4.2 // indirect
8687
github.com/pelletier/go-toml v1.9.3 // indirect
8788
github.com/pierrec/lz4 v2.6.1+incompatible // indirect
8889
github.com/pkg/errors v0.9.1 // indirect
8990
github.com/polarismesh/polaris-go v1.3.0 // indirect
9091
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect
91-
github.com/prometheus/client_golang v1.13.0 // indirect
92-
github.com/prometheus/client_model v0.3.0 // indirect
93-
github.com/prometheus/common v0.37.0 // indirect
94-
github.com/prometheus/procfs v0.8.0 // indirect
92+
github.com/prometheus/client_golang v1.19.1 // indirect
93+
github.com/prometheus/client_model v0.5.0 // indirect
94+
github.com/prometheus/common v0.48.0 // indirect
95+
github.com/prometheus/procfs v0.12.0 // indirect
96+
github.com/quic-go/qpack v0.5.1 // indirect
97+
github.com/quic-go/quic-go v0.52.0 // indirect
9598
github.com/shirou/gopsutil/v3 v3.22.2 // indirect
96-
github.com/sirupsen/logrus v1.8.1 // indirect
99+
github.com/sirupsen/logrus v1.9.4 // indirect
97100
github.com/spaolacci/murmur3 v1.1.0 // indirect
101+
github.com/spf13/afero v1.6.0 // indirect
102+
github.com/spf13/cast v1.3.1 // indirect
103+
github.com/spf13/jwalterweatherman v1.1.0 // indirect
104+
github.com/spf13/pflag v1.0.5 // indirect
105+
github.com/spf13/viper v1.8.1 // indirect
106+
github.com/subosito/gotenv v1.2.0 // indirect
98107
github.com/tklauser/go-sysconf v0.3.10 // indirect
99108
github.com/tklauser/numcpus v0.4.0 // indirect
100109
github.com/uber/jaeger-client-go v2.29.1+incompatible // indirect
@@ -105,29 +114,33 @@ require (
105114
go.etcd.io/etcd/client/pkg/v3 v3.5.7 // indirect
106115
go.etcd.io/etcd/client/v3 v3.5.7 // indirect
107116
go.opentelemetry.io/contrib/propagators/b3 v1.10.0 // indirect
108-
go.opentelemetry.io/otel v1.10.0 // indirect
109-
go.opentelemetry.io/otel/exporters/jaeger v1.10.0 // indirect
110-
go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.10.0 // indirect
111-
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.10.0 // indirect
112-
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.10.0 // indirect
113-
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.10.0 // indirect
114-
go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.10.0 // indirect
115-
go.opentelemetry.io/otel/exporters/zipkin v1.10.0 // indirect
116-
go.opentelemetry.io/otel/sdk v1.10.0 // indirect
117-
go.opentelemetry.io/otel/trace v1.10.0 // indirect
118-
go.opentelemetry.io/proto/otlp v0.19.0 // indirect
117+
go.opentelemetry.io/otel v1.21.0 // indirect
118+
go.opentelemetry.io/otel/exporters/jaeger v1.17.0 // indirect
119+
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.21.0 // indirect
120+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.21.0 // indirect
121+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.21.0 // indirect
122+
go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.21.0 // indirect
123+
go.opentelemetry.io/otel/exporters/zipkin v1.21.0 // indirect
124+
go.opentelemetry.io/otel/metric v1.21.0 // indirect
125+
go.opentelemetry.io/otel/sdk v1.21.0 // indirect
126+
go.opentelemetry.io/otel/trace v1.21.0 // indirect
127+
go.opentelemetry.io/proto/otlp v1.0.0 // indirect
119128
go.uber.org/atomic v1.10.0 // indirect
129+
go.uber.org/mock v0.5.0 // indirect
120130
go.uber.org/multierr v1.8.0 // indirect
121131
go.uber.org/zap v1.21.0 // indirect
122-
golang.org/x/crypto v0.21.0 // indirect
123-
golang.org/x/net v0.23.0 // indirect
124-
golang.org/x/oauth2 v0.27.0 // indirect
125-
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 // indirect
126-
golang.org/x/sys v0.18.0 // indirect
127-
golang.org/x/text v0.14.0 // indirect
128-
golang.org/x/time v0.0.0-20220722155302-e5dcc9cfc0b9 // indirect
129-
google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect
130-
google.golang.org/grpc v1.56.3 // indirect
132+
golang.org/x/crypto v0.49.0 // indirect
133+
golang.org/x/mod v0.34.0 // indirect
134+
golang.org/x/net v0.52.0 // indirect
135+
golang.org/x/sync v0.20.0 // indirect
136+
golang.org/x/sys v0.42.0 // indirect
137+
golang.org/x/text v0.35.0 // indirect
138+
golang.org/x/time v0.15.0 // indirect
139+
golang.org/x/tools v0.43.0 // indirect
140+
google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d // indirect
141+
google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d // indirect
142+
google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect
143+
google.golang.org/grpc v1.59.0 // indirect
131144
gopkg.in/ini.v1 v1.66.2 // indirect
132145
gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect
133146
gopkg.in/yaml.v2 v2.4.0 // indirect

0 commit comments

Comments
 (0)