This is an automated email from the ASF dual-hosted git repository.
littlecui pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/servicecomb-service-center.git
The following commit(s) were added to refs/heads/dev by this push:
new 78187873 1,support return dns name in health interface 2,revert the
opt code of registry instance (#1469)
78187873 is described below
commit 78187873c0689d6fbe18862fefdf4179a08f01f7
Author: tornado-ssy <[email protected]>
AuthorDate: Mon Apr 15 23:03:20 2024 +0800
1,support return dns name in health interface 2,revert the opt code of
registry instance (#1469)
* [feat] if the console show the dns name, then do not need port
* Revert "[opt] improve the tps of registerInstance interface (#1458)"
This reverts commit a6ef87c4be745653c3f68804b42e19250faa253b.
---------
Co-authored-by: songshiyuan 00649746 <[email protected]>
---
datasource/etcd/state/kvstore/cache_kv.go | 46 +++++---------------------
datasource/etcd/state/kvstore/cache_kv_test.go | 14 --------
server/core/microservice.go | 5 +--
3 files changed, 11 insertions(+), 54 deletions(-)
diff --git a/datasource/etcd/state/kvstore/cache_kv.go
b/datasource/etcd/state/kvstore/cache_kv.go
index 609d3a6f..dfbdaa9e 100644
--- a/datasource/etcd/state/kvstore/cache_kv.go
+++ b/datasource/etcd/state/kvstore/cache_kv.go
@@ -18,29 +18,21 @@
package kvstore
import (
- regexp2 "regexp"
"strings"
"sync"
"github.com/apache/servicecomb-service-center/pkg/util"
)
-const InitCount = 1
-const InitLayer = 2
-const SPLIT = "/"
-const DomainProjectLayer = 6
-
// KvCache implements Cache.
// KvCache is dedicated to stores service discovery data,
// e.g. service, instance, lease.
type KvCache struct {
- Cfg *Options
- name string
- store map[string]map[string]*KeyValue
- rwMux sync.RWMutex
- dirty bool
- count map[string]int // the number of leaf node
- keyLayers int // the number of layers of leaf nodes
+ Cfg *Options
+ name string
+ store map[string]map[string]*KeyValue
+ rwMux sync.RWMutex
+ dirty bool
}
func (c *KvCache) Name() string {
@@ -71,12 +63,6 @@ func (c *KvCache) GetAll(arr *[]*KeyValue) (count int) {
return
}
-func (c *KvCache) getCacheDomainProjectKey(key string) string {
- regexp, _ := regexp2.Compile(`/(\w)+-(\w)+/(\w)+/(\w)+/(\w)+/(\w)+/`)
- domainProjectKey := regexp.FindString(key)
- return domainProjectKey
-}
-
func (c *KvCache) GetPrefix(prefix string, arr *[]*KeyValue) (count int) {
c.rwMux.RLock()
count = c.getPrefixKey(arr, prefix)
@@ -138,11 +124,6 @@ func (c *KvCache) getPrefixKey(arr *[]*KeyValue, prefix
string) (count int) {
return 0
}
- if arr == nil && strings.Count(prefix, SPLIT) == DomainProjectLayer {
- count = c.count[prefix]
- return
- }
-
// TODO support sort option
if arr == nil {
for key := range keysRef {
@@ -175,10 +156,6 @@ func (c *KvCache) addPrefixKey(key string, val *KeyValue) {
return
}
keys, ok := c.store[prefix]
- if strings.Count(key, SPLIT) > c.keyLayers {
- c.count[c.getCacheDomainProjectKey(key)] = InitCount
- c.keyLayers = strings.Count(key, SPLIT)
- }
if !ok {
// build parent index key and new child nodes
keys = make(map[string]*KeyValue)
@@ -189,8 +166,6 @@ func (c *KvCache) addPrefixKey(key string, val *KeyValue) {
keys[key] = val
}
return
- } else if _, ok := keys[key]; !ok {
- c.count[c.getCacheDomainProjectKey(key)]++
}
keys[key], key = val, prefix
@@ -203,9 +178,6 @@ func (c *KvCache) deletePrefixKey(key string) {
if !ok {
return
}
- if strings.Count(key, SPLIT) == c.keyLayers {
- c.count[c.getCacheDomainProjectKey(key)]--
- }
delete(m, key)
// remove parent which has no child
@@ -217,10 +189,8 @@ func (c *KvCache) deletePrefixKey(key string) {
func NewKvCache(name string, cfg *Options) *KvCache {
return &KvCache{
- Cfg: cfg,
- name: name,
- store: make(map[string]map[string]*KeyValue),
- count: make(map[string]int),
- keyLayers: InitLayer,
+ Cfg: cfg,
+ name: name,
+ store: make(map[string]map[string]*KeyValue),
}
}
diff --git a/datasource/etcd/state/kvstore/cache_kv_test.go
b/datasource/etcd/state/kvstore/cache_kv_test.go
deleted file mode 100644
index f18ff48c..00000000
--- a/datasource/etcd/state/kvstore/cache_kv_test.go
+++ /dev/null
@@ -1,14 +0,0 @@
-package kvstore
-
-import (
- "testing"
-
- "github.com/stretchr/testify/assert"
-)
-
-func Test_getCacheDomainProjectKey(t *testing.T) {
- testCache := new(KvCache)
- str := "/cse-sr/inst/files/default/default/heheheh/xixixi/"
- res := testCache.getCacheDomainProjectKey(str)
- assert.Equal(t, "/cse-sr/inst/files/default/default/", res)
-}
diff --git a/server/core/microservice.go b/server/core/microservice.go
index ebb04d4f..45097a51 100644
--- a/server/core/microservice.go
+++ b/server/core/microservice.go
@@ -22,11 +22,12 @@ import (
"fmt"
"strings"
+ "github.com/go-chassis/cari/discovery"
+
"github.com/apache/servicecomb-service-center/datasource"
"github.com/apache/servicecomb-service-center/pkg/util"
"github.com/apache/servicecomb-service-center/server/config"
"github.com/apache/servicecomb-service-center/version"
- "github.com/go-chassis/cari/discovery"
)
var (
@@ -87,7 +88,7 @@ func InitRegistration() {
func getEndpoints() []string {
hostPort := config.GetString("registry.instance.endpoint",
config.GetString("server.host", "127.0.0.1",
config.WithStandby("httpaddr")))
- if strings.LastIndex(hostPort, ":") < 0 {
+ if strings.LastIndex(hostPort, ":") < 0 &&
config.GetString("is.dns.name", "false") == "false" {
hostPort += ":" + config.GetString("server.port", "30100",
config.WithStandby("httpport"))
}
endpoint := fmt.Sprintf("rest://%s/", hostPort)