You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by ti...@apache.org on 2021/03/26 01:54:49 UTC
[servicecomb-service-center] branch master updated: [SCB-2094] Add
configuration changes for tag and rule (#918)
This is an automated email from the ASF dual-hosted git repository.
tianxiaoliang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-service-center.git
The following commit(s) were added to refs/heads/master by this push:
new 4e95c71 [SCB-2094] Add configuration changes for tag and rule (#918)
4e95c71 is described below
commit 4e95c71460af3e5649a2a847655085869f260626
Author: robotLJW <79...@qq.com>
AuthorDate: Fri Mar 26 09:54:10 2021 +0800
[SCB-2094] Add configuration changes for tag and rule (#918)
---
.../event/{event.go => domain_event_handler.go} | 34 +++++++++++++++-------
datasource/mongo/event/event.go | 1 +
datasource/mongo/event/service_event_handler.go | 10 ++-----
etc/conf/app.yaml | 4 +++
4 files changed, 30 insertions(+), 19 deletions(-)
diff --git a/datasource/mongo/event/event.go b/datasource/mongo/event/domain_event_handler.go
similarity index 56%
copy from datasource/mongo/event/event.go
copy to datasource/mongo/event/domain_event_handler.go
index 13eeee2..c3311ce 100644
--- a/datasource/mongo/event/event.go
+++ b/datasource/mongo/event/domain_event_handler.go
@@ -18,19 +18,31 @@
package event
import (
+ "github.com/go-chassis/cari/discovery"
+
+ "github.com/apache/servicecomb-service-center/datasource/mongo/client/model"
"github.com/apache/servicecomb-service-center/datasource/mongo/sd"
- "github.com/apache/servicecomb-service-center/pkg/log"
+ "github.com/apache/servicecomb-service-center/server/metrics"
)
-const (
- increaseOne = 1
- decreaseOne = -1
-)
+// DomainEventHandler report domain & project total number
+type DomainEventHandler struct {
+}
+
+func NewDomainEventHandler() *DomainEventHandler {
+ return &DomainEventHandler{}
+}
+
+func (h *DomainEventHandler) Type() string {
+ return model.ColumnDomain
+}
-func init() {
- log.Info("event init")
- instanceEventHandler := NewInstanceEventHandler()
- sd.EventProxy(instanceEventHandler.Type()).AddHandleFunc(instanceEventHandler.OnEvent)
- sd.AddEventHandler(NewServiceEventHandler())
- sd.AddEventHandler(NewSchemaSummaryEventHandler())
+func (h *DomainEventHandler) OnEvent(evt sd.MongoEvent) {
+ action := evt.Type
+ switch action {
+ case discovery.EVT_INIT, discovery.EVT_CREATE:
+ metrics.ReportDomains(increaseOne)
+ case discovery.EVT_DELETE:
+ metrics.ReportDomains(decreaseOne)
+ }
}
diff --git a/datasource/mongo/event/event.go b/datasource/mongo/event/event.go
index 13eeee2..8889e84 100644
--- a/datasource/mongo/event/event.go
+++ b/datasource/mongo/event/event.go
@@ -33,4 +33,5 @@ func init() {
sd.EventProxy(instanceEventHandler.Type()).AddHandleFunc(instanceEventHandler.OnEvent)
sd.AddEventHandler(NewServiceEventHandler())
sd.AddEventHandler(NewSchemaSummaryEventHandler())
+ sd.AddEventHandler(NewDomainEventHandler())
}
diff --git a/datasource/mongo/event/service_event_handler.go b/datasource/mongo/event/service_event_handler.go
index f9e2ca5..f5ae745 100644
--- a/datasource/mongo/event/service_event_handler.go
+++ b/datasource/mongo/event/service_event_handler.go
@@ -81,10 +81,7 @@ func getFramework(ms *pb.MicroService) (string, string) {
func newDomain(ctx context.Context, domain string) error {
filter := util.NewFilter(util.Domain(domain))
exist, err := dao.ExistDomain(ctx, filter)
- if exist {
- log.Info(fmt.Sprintf("%s domain already exists", domain))
- }
- if err == nil {
+ if !exist && err == nil {
err = dao.AddDomain(ctx, domain)
}
return err
@@ -93,10 +90,7 @@ func newDomain(ctx context.Context, domain string) error {
func newProject(ctx context.Context, domain string, project string) error {
filter := util.NewDomainProjectFilter(domain, project)
exist, err := dao.ExistProject(ctx, filter)
- if exist {
- log.Info(fmt.Sprintf("%s domain and %s project already exists", domain, project))
- }
- if err == nil {
+ if !exist && err == nil {
p := model.Project{
Domain: domain,
Project: project,
diff --git a/etc/conf/app.yaml b/etc/conf/app.yaml
index e53f3d7..bdfebd0 100644
--- a/etc/conf/app.yaml
+++ b/etc/conf/app.yaml
@@ -180,6 +180,10 @@ quota:
limit: 150000
schema:
limit: 100
+ rule:
+ limit: 100
+ tag:
+ limit: 100
syncer: