Skip to content

Commit 6af0d02

Browse files
committed
feat: BBR限流实现
1 parent 5528d2f commit 6af0d02

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+5534
-332
lines changed

api.go

+6
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,12 @@ type ConfigAPI interface {
139139
api.SDKOwner
140140
// GetConfigFile obtaining the configuration file
141141
GetConfigFile(namespace, fileGroup, fileName string) (ConfigFile, error)
142+
// CreateConfigFile create configuration file
143+
CreateConfigFile(namespace, fileGroup, fileName, content string) error
144+
// UpdateConfigFile update configuration file
145+
UpdateConfigFile(namespace, fileGroup, fileName, content string) error
146+
// PublishConfigFile publish configuration file
147+
PublishConfigFile(namespace, fileGroup, fileName string) error
142148
}
143149

144150
// RouterAPI routing api methods

api/config_file.go

+6
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,12 @@ type ConfigFileAPI interface {
2424
SDKOwner
2525
// GetConfigFile 获取配置文件
2626
GetConfigFile(namespace, fileGroup, fileName string) (model.ConfigFile, error)
27+
// CreateConfigFile 创建配置文件
28+
CreateConfigFile(namespace, fileGroup, fileName, content string) error
29+
// UpdateConfigFile 更新配置文件
30+
UpdateConfigFile(namespace, fileGroup, fileName, content string) error
31+
// PublishConfigFile 发布配置文件
32+
PublishConfigFile(namespace, fileGroup, fileName string) error
2733
}
2834

2935
var (

api/config_file_impl.go

+15
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,21 @@ func (c *configFileAPI) GetConfigFile(namespace, fileGroup, fileName string) (mo
5757
return c.context.GetEngine().SyncGetConfigFile(namespace, fileGroup, fileName)
5858
}
5959

60+
// CreateConfigFile 创建配置文件
61+
func (c *configFileAPI) CreateConfigFile(namespace, fileGroup, fileName, content string) error {
62+
return c.context.GetEngine().SyncCreateConfigFile(namespace, fileGroup, fileName, content)
63+
}
64+
65+
// UpdateConfigFile 更新配置文件
66+
func (c *configFileAPI) UpdateConfigFile(namespace, fileGroup, fileName, content string) error {
67+
return c.context.GetEngine().SyncUpdateConfigFile(namespace, fileGroup, fileName, content)
68+
}
69+
70+
// PublishConfigFile 发布配置文件
71+
func (c *configFileAPI) PublishConfigFile(namespace, fileGroup, fileName string) error {
72+
return c.context.GetEngine().SyncPublishConfigFile(namespace, fileGroup, fileName)
73+
}
74+
6075
// SDKContext 获取SDK上下文
6176
func (c *configFileAPI) SDKContext() SDKContext {
6277
return c.context

api_config.go

+15
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,21 @@ func (c *configAPI) GetConfigFile(namespace, fileGroup, fileName string) (Config
7272
return c.rawAPI.GetConfigFile(namespace, fileGroup, fileName)
7373
}
7474

75+
// CreateConfigFile 创建配置文件
76+
func (c *configAPI) CreateConfigFile(namespace, fileGroup, fileName, content string) error {
77+
return c.rawAPI.CreateConfigFile(namespace, fileGroup, fileName, content)
78+
}
79+
80+
// UpdateConfigFile 更新配置文件
81+
func (c *configAPI) UpdateConfigFile(namespace, fileGroup, fileName, content string) error {
82+
return c.rawAPI.UpdateConfigFile(namespace, fileGroup, fileName, content)
83+
}
84+
85+
// PublishConfigFile 发布配置文件
86+
func (c *configAPI) PublishConfigFile(namespace, fileGroup, fileName string) error {
87+
return c.rawAPI.PublishConfigFile(namespace, fileGroup, fileName)
88+
}
89+
7590
// SDKContext 获取SDK上下文
7691
func (c *configAPI) SDKContext() api.SDKContext {
7792
return c.rawAPI.SDKContext()

examples/configuration/crud/go.mod

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
module github.com/polarismesh/polaris-go-configuration
2+
3+
go 1.20
4+
5+
require github.com/polarismesh/polaris-go v1.5.4-incompatible
6+
7+
require (
8+
github.com/beorn7/perks v1.0.1 // indirect
9+
github.com/cespare/xxhash/v2 v2.1.2 // indirect
10+
github.com/dlclark/regexp2 v1.7.0 // indirect
11+
github.com/golang/protobuf v1.5.2 // indirect
12+
github.com/google/uuid v1.3.0 // indirect
13+
github.com/hashicorp/errwrap v1.0.0 // indirect
14+
github.com/hashicorp/go-multierror v1.1.1 // indirect
15+
github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
16+
github.com/mitchellh/go-homedir v1.1.0 // indirect
17+
github.com/modern-go/reflect2 v1.0.2 // indirect
18+
github.com/natefinch/lumberjack v2.0.0+incompatible // indirect
19+
github.com/pkg/errors v0.9.1 // indirect
20+
github.com/polarismesh/specification v1.4.0 // indirect
21+
github.com/prometheus/client_golang v1.12.2 // indirect
22+
github.com/prometheus/client_model v0.2.0 // indirect
23+
github.com/prometheus/common v0.32.1 // indirect
24+
github.com/prometheus/procfs v0.7.3 // indirect
25+
github.com/spaolacci/murmur3 v1.1.0 // indirect
26+
go.uber.org/atomic v1.7.0 // indirect
27+
go.uber.org/multierr v1.6.0 // indirect
28+
go.uber.org/zap v1.21.0 // indirect
29+
golang.org/x/net v0.2.0 // indirect
30+
golang.org/x/sys v0.2.0 // indirect
31+
golang.org/x/text v0.4.0 // indirect
32+
google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a // indirect
33+
google.golang.org/grpc v1.51.0 // indirect
34+
google.golang.org/protobuf v1.28.1 // indirect
35+
gopkg.in/yaml.v2 v2.4.0 // indirect
36+
)
37+
38+
replace github.com/polarismesh/polaris-go => ../../../

0 commit comments

Comments
 (0)