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: