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 41c3b19  etcd && mongodb  data struct summary (#689)
41c3b19 is described below

commit 41c3b190894ef2e77b5bee8a5807ae5f51f4608e
Author: popozy <[email protected]>
AuthorDate: Fri Sep 11 14:07:56 2020 +0800

    etcd && mongodb  data struct summary (#689)
---
 examples/etcd_data_struct.yaml    | 157 ++++++++++++++++++++++++---
 examples/mongodb_data_struct.yaml | 217 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 357 insertions(+), 17 deletions(-)

diff --git a/examples/etcd_data_struct.yaml b/examples/etcd_data_struct.yaml
index f2f20f4..13c98d7 100644
--- a/examples/etcd_data_struct.yaml
+++ b/examples/etcd_data_struct.yaml
@@ -1,17 +1,140 @@
-/cse-sr/domains/default: |
-/cse-sr/accounts/{account_name}: |
-/cse-sr/inst/files/default/default/{service_id}/{instsance_id}: |
-  
{"instanceId":"b0ffb9feb22a11eaa76a08002706c83e","serviceId":"7062417bf9ebd4c646bb23059003cea42180894a",
-  
"endpoints":["rest://127.0.0.1:30100/"],"hostName":"tian-VirtualBox","status":"UP",
-  
"healthCheck":{"mode":"push","interval":30,"times":3},"timestamp":"1592570701","modTimestamp":"1592570701","version":"0.0.1"}
-/cse-sr/inst/leases/default/default/{service_id}/{instsance_id}: |
-  7587847170149911364
-/cse-sr/ms/alias/default/default/development/default/SERVICECENTER/0.0.1: |
-  {service_id}
-/cse-sr/ms/files/default/default/{service_id}: |
-  
{"serviceId":"7062417bf9ebd4c646bb23059003cea42180894a","appId":"default","serviceName":"SERVICECENTER","version":"0.0.1","level":"BACK",
-  
"schemas":["servicecenter.grpc.api.ServiceCtrl","servicecenter.grpc.api.ServiceInstanceCtrl"],"status":"UP",
-  
"properties":{"allowCrossApp":"true"},"timestamp":"1592570701","alias":"SERVICECENTER","modTimestamp":"1592570701","environment":"development"}
-/cse-sr/ms/indexes/default/default/development/default/SERVICECENTER/0.0.1: |
-  {service_id}
-/cse-sr/projects/default/default:
+# services
+# /cse-sr/ms/files/{domain}/{project}/{serviceId}
+/cse-sr/ms/files/default/default/7062417bf9ebd4c646bb23059003cea42180894a:
+  {
+    "serviceId": "7062417bf9ebd4c646bb23059003cea42180894a",
+    "appId": "default",
+    "serviceName": "SERVICECENTER",
+    "description": "A default service",
+    "version": "0.0.1",
+    "level": "BACK",
+    "schemas": [
+      "firstSchema",
+      "secondSchema"
+    ],
+    "paths": [{
+                "path": "/opt/tomcat/webapp",
+                "property": {
+                  "allowCrossApp": "true"
+                }
+              }],
+    "status": "UP",
+    "properties": {
+      "allowCrossApp": "true"
+    },
+    "timestamp": "1592570701",
+    "framework": {
+      "name": "UNKNOWN",
+      "version": "0.0.1"
+    },
+    "alias": "SERVICECENTER",
+    "modTimestamp": "1592570701",
+    "environment": "development"
+  }
+
+# 
/cse-sr/ms/indexes/{domain}/{project}/{environment}/{appId}/{serviceName}/{serviceVersion}
+/cse-sr/ms/indexes/default/default/development/default/SERVICECENTER/0.0.1:
+  "7062417bf9ebd4c646bb23059003cea42180894a"
+
+# 
/cse-sr/ms/alias/{domain}/{project}/{environment}/{appId}/{serviceName}/{serviceVersion}
+/cse-sr/ms/alias/default/default/development/default/SERVICECENTER/0.0.1:
+  "7062417bf9ebd4c646bb23059003cea42180894a"
+
+# instances
+# /cse-sr/inst/files/{domain}/{project}/{serviceId}/{instanceId}
+/cse-sr/inst/files/default/default/7062417bf9ebd4c646bb23059003cea42180894a/b0ffb9feb22a11eaa76a08002706c83e:
+  {
+    "instanceId": "b0ffb9feb22a11eaa76a08002706c83e",
+    "serviceId": "7062417bf9ebd4c646bb23059003cea42180894a",
+    "endpoints": ["rest://127.0.0.1:30100/"],
+    "hostName": "tian-VirtualBox",
+    "status": "UP",
+    "healthCheck": {
+      "mode": "push",
+      "interval": 30,
+      "times": 3
+    },
+    "timestamp": "1592570701",
+    "modTimestamp": "1592570701",
+    "version": "0.0.1"
+  }
+
+# /cse-sr/inst/leases/{domain}/{project}/{serviceId}/{instanceId}
+/cse-sr/inst/leases/default/default/7062417bf9ebd4c646bb23059003cea42180894a/b0ffb9feb22a11eaa76a08002706c83e:
+  "leaseId"
+
+# schemas
+# /cse-sr/ms/schemas/{domain}/{project}/{serviceId}/{schemaId}
+/cse-sr/ms/schemas/default/default/7062417bf9ebd4c646bb23059003cea42180894a/first-schema:
+  "schema"
+
+# /cse-sr/ms/schema-sum/{domain}/{project}/{serviceId}/{schemaId}
+/cse-sr/ms/schema-sum/default/default/7062417bf9ebd4c646bb23059003cea42180894a/first-schema:
+  "schemaSummary"
+
+# dependencies
+# /cse-sr/ms/dep-queue/{domain}/{project}/{serviceId}/{uuid}
+/cse-sr/ms/dep-queue/default/default/7062417bf9ebd4c646bb23059003cea42180894a/0:
+  {
+    "consumer": {
+      "tenant": "default/default",
+      "project": "project",
+      "appId": "appId",
+      "serviceName": "ServiceCenter",
+      "version": "0.0.1",
+      "environment": "development",
+      "alias": "serviceCenter"
+    },
+    "providers": [{
+                   "tenant": "default/default",
+                   "project": "project",
+                   "appId": "appId",
+                   "serviceName": "ServiceCenterProvider",
+                   "version": "0.0.2",
+                   "environment": "development",
+                   "alias": "serviceCenterProvider"
+                 }],
+    "override": true
+  }
+
+# tags
+# /cse-sr/ms/tags/{domain}/{project}/{serviceId}
+/cse-sr/ms/tags/default/default/7062417bf9ebd4c646bb23059003cea42180894a:
+  {
+    "a": "1"
+  }
+
+# rules
+# /cse-sr/ms/rules/{domain}/{project}/{serviceId}/{ruleId}
+/cse-sr/ms/rules/default/default/7062417bf9ebd4c646bb23059003cea42180894a/Deny:
+  {
+    "ruleId": "Deny",
+    "attribute": "denylist",
+    "pattern": "Test*",
+    "description": "test BLACK"
+  }
+
+# /cse-sr/ms/rule-indexes/{domain}/{project}/{serviceId}/{attribute}/{pattern}
+/cse-sr/ms/rule-indexes/default/default/7062417bf9ebd4c646bb23059003cea42180894a/denylist/Test:
+  "ruleId"
+
+# auth
+# /cse-sr/accounts/{accountName}
+/cse-sr/accounts/Alice:
+  {
+    "_id": "xxx",
+    "account": "account_name",
+    "password": "password",
+    "role": "admin",
+    "tokenExpirationTime": "1500519927",
+    "currentPassword": "password",
+    "status": "normal"
+  }
+
+# domain
+# /cse-sr/domains/{domain}
+/cse-sr/domains/default:
+
+# project
+# /cse-sr/domains/{domain}/{project}
+/cse-sr/projects/default/default:
\ No newline at end of file
diff --git a/examples/mongodb_data_struct.yaml 
b/examples/mongodb_data_struct.yaml
new file mode 100644
index 0000000..acb9fd6
--- /dev/null
+++ b/examples/mongodb_data_struct.yaml
@@ -0,0 +1,217 @@
+#type MicroService struct {
+#  ServiceId    string             `protobuf:"bytes,1,opt,name=serviceId" 
json:"serviceId,omitempty"`
+#  AppId        string             `protobuf:"bytes,2,opt,name=appId" 
json:"appId,omitempty"`
+#  ServiceName  string             `protobuf:"bytes,3,opt,name=serviceName" 
json:"serviceName,omitempty"`
+#  Version      string             `protobuf:"bytes,4,opt,name=version" 
json:"version,omitempty"`
+#  Description  string             `protobuf:"bytes,5,opt,name=description" 
json:"description,omitempty"`
+#  Level        string             `protobuf:"bytes,6,opt,name=level" 
json:"level,omitempty"`
+#  Schemas      []string           `protobuf:"bytes,7,rep,name=schemas" 
json:"schemas,omitempty"`
+#  Paths        []*ServicePath     `protobuf:"bytes,10,rep,name=paths" 
json:"paths,omitempty"`
+#  Status       string             `protobuf:"bytes,8,opt,name=status" 
json:"status,omitempty"`
+#  Properties   map[string]string  `protobuf:"bytes,9,rep,name=properties" 
json:"properties,omitempty" protobuf_key:"bytes,1,opt,name=key" 
protobuf_val:"bytes,2,opt,name=value"`
+#  Timestamp    string             `protobuf:"bytes,11,opt,name=timestamp" 
json:"timestamp,omitempty"`
+#  Providers    []*MicroServiceKey `protobuf:"bytes,12,rep,name=providers" 
json:"providers,omitempty"`
+#  Alias        string             `protobuf:"bytes,13,opt,name=alias" 
json:"alias,omitempty"`
+#  LBStrategy   map[string]string  `protobuf:"bytes,14,rep,name=LBStrategy" 
json:"LBStrategy,omitempty" protobuf_key:"bytes,1,opt,name=key" 
protobuf_val:"bytes,2,opt,name=value"`
+#  ModTimestamp string             `protobuf:"bytes,15,opt,name=modTimestamp" 
json:"modTimestamp,omitempty"`
+#  Environment  string             `protobuf:"bytes,16,opt,name=environment" 
json:"environment,omitempty"`
+#  RegisterBy   string             `protobuf:"bytes,17,opt,name=registerBy" 
json:"registerBy,omitempty"`
+#  Framework    *FrameWorkProperty `protobuf:"bytes,18,opt,name=framework" 
json:"framework,omitempty"`
+#}
+
+#collection: service
+{
+  "_id": "xxx",
+  "serviceId": "7062417bf9ebd4c646bb23059003cea42180894a",
+  "appId": "",
+  "serviceName": "SERVICE-CENTER",
+  "domain": "default",
+  "project": "default",
+  "version": "0.0.1",
+  "description": "This is data struct in mongodb",
+  "level": "info",
+  "schema": ["first_schema", "second_schema"],
+  "paths": [{
+              "Path": "aeiou",
+              "Property": {}
+            } ],
+  "status": "UP",
+  "properties": { "allowCrossApp": "true" },
+  "timestamp": "1500519927",
+  "providers":[{
+                 "appId": "",
+                 "serviceName": "SERVICE-CENTER",
+                 "version": "0.0.2"
+               }],
+  "alias": "service-center",
+  "LBStrategy": {"strategy-1": "round-robin"},
+  "modTimeStamp": "1500519927",
+  "environment": "development",
+  "registerBy": "PLATFORM",
+  "framework": {"name": "UNKNOW", "version": "0.0.1"}
+}
+
+#type MicroServiceInstance struct {
+#  InstanceId     string            `protobuf:"bytes,1,opt,name=instanceId" 
json:"instanceId,omitempty"`
+#  ServiceId      string            `protobuf:"bytes,2,opt,name=serviceId" 
json:"serviceId,omitempty"`
+#  Endpoints      []string          `protobuf:"bytes,3,rep,name=endpoints" 
json:"endpoints,omitempty"`
+#  HostName       string            `protobuf:"bytes,4,opt,name=hostName" 
json:"hostName,omitempty"`
+#  Status         string            `protobuf:"bytes,5,opt,name=status" 
json:"status,omitempty"`
+#  Properties     map[string]string `protobuf:"bytes,6,rep,name=properties" 
json:"properties,omitempty" protobuf_key:"bytes,1,opt,name=key" 
protobuf_val:"bytes,2,opt,name=value"`
+#  HealthCheck    *HealthCheck      `protobuf:"bytes,7,opt,name=healthCheck" 
json:"healthCheck,omitempty"`
+#  Timestamp      string            `protobuf:"bytes,8,opt,name=timestamp" 
json:"timestamp,omitempty"`
+#  DataCenterInfo *DataCenterInfo   
`protobuf:"bytes,9,opt,name=dataCenterInfo" json:"dataCenterInfo,omitempty"`
+#  ModTimestamp   string            `protobuf:"bytes,10,opt,name=modTimestamp" 
json:"modTimestamp,omitempty"`
+#  Version        string            `protobuf:"bytes,11,opt,name=version" 
json:"version,omitempty"`
+#}
+
+# collection: instance
+{
+  "_id": "xxx",
+  "instanceId": "7062417bf9ebd4c646bb23059003cea42180894b",
+  "serviceId": "7062417bf9ebd4c646bb23059003cea42180894a",
+  "domain": "default",
+  "project": "default",
+  "endpoints": [
+    "rest://192.168.88.109:30100/"
+  ],
+  "hostName": "cse",
+  "status": "normal",
+  "properties": {
+    "allowCrossApp": "true"
+  },
+  "healthCheck": {
+    "mode": "push",
+    "times": 1,
+    "port": 0,
+    "interval": 6
+  },
+  "timestamp": "1500519927",
+  "dataCenterInfo": {
+    "availableZone": "az1",
+    "name": "dc1",
+    "region": "cn-north"
+  },
+  "modTimestamp": "1500519927",
+  "leaseId": "1234",
+  "version": "0.0.2"
+}
+
+#type Schema struct {
+#  SchemaId string `protobuf:"bytes,1,opt,name=schemaId" 
json:"schemaId,omitempty"`
+#  Summary  string `protobuf:"bytes,2,opt,name=summary" 
json:"summary,omitempty"`
+#  Schema   string `protobuf:"bytes,3,opt,name=schema" json:"schema,omitempty"`
+#}
+
+# collection schema
+{
+  "_id": "xxx",
+  "serviceId": "7062417bf9ebd4c646bb23059003cea42180894b",
+  "schemaId": "first_schema",
+  "domain": "default",
+  "project": "default",
+  "schema": "schema",
+  "summary": "summary"
+}
+
+#type ServiceRule struct {
+#  RuleId       string `protobuf:"bytes,1,opt,name=ruleId" 
json:"ruleId,omitempty"`
+#  RuleType     string `protobuf:"bytes,2,opt,name=ruleType" 
json:"ruleType,omitempty"`
+#  Attribute    string `protobuf:"bytes,3,opt,name=attribute" 
json:"attribute,omitempty"`
+#  Pattern      string `protobuf:"bytes,4,opt,name=pattern" 
json:"pattern,omitempty"`
+#  Description  string `protobuf:"bytes,5,opt,name=description" 
json:"description,omitempty"`
+#  Timestamp    string `protobuf:"bytes,6,opt,name=timestamp" 
json:"timestamp,omitempty"`
+#  ModTimestamp string `protobuf:"bytes,7,opt,name=modTimestamp" 
json:"modTimestamp,omitempty"`
+#}
+# collection rules
+{
+  "_id": "xxx",
+  "domain": "default",
+  "project": "default",
+  "serviceId": "7062417bf9ebd4c646bb23059003cea42180894b",
+  "ruleId": "Deny",
+  "roleType": "admin",
+  "attribute": "tag_a",
+  "pattern": "a+",
+  "description": "aeiou",
+  "timestamp": "1500519927",
+  "modTimestamp": "1500519928"
+}
+
+# collection tags
+{
+  "_id": "xxx",
+  "domain": "default",
+  "project": "default",
+  "serviceId": "7062417bf9ebd4c646bb23059003cea42180894b",
+  "tagKey1": "tagValue1",
+  "tagKey2": "tagValue2"
+}
+
+
+#type ConsumerDependency struct {
+#  Consumer  *MicroServiceKey   `protobuf:"bytes,1,opt,name=consumer" 
json:"consumer,omitempty"`
+#  Providers []*MicroServiceKey `protobuf:"bytes,2,rep,name=providers" 
json:"providers,omitempty"`
+#  Override  bool               `protobuf:"varint,3,opt,name=override" 
json:"override,omitempty"`
+#}
+# collection dependencies
+{
+  "_id": "xxx",
+  "domain": "default",
+  "project": "default",
+  #  serviceId
+  "consumerId": "7062417bf9ebd4c646bb23059003cea42180894b",
+  "uuid": "0",
+  "consumer": {
+    "tenant": "default/default",
+    "project": "project",
+    "appId": "appId",
+    "serviceName": "ServiceCenter",
+    "version": "0.0.1",
+    "environment": "development",
+    "alias": "serviceCenter"
+  },
+  "providers": [{
+                 "tenant": "default/default",
+                 "project": "project",
+                 "appId": "appId",
+                 "serviceName": "ServiceCenterProvider",
+                 "version": "0.0.2",
+                 "environment": "development",
+                 "alias": "serviceCenterProvider"
+               }],
+  "override": true
+}
+
+#type Account struct {
+#  ID                  string `json:"id,omitempty"`
+#  Name                string `json:"name,omitempty"`
+#  Password            string `json:"password,omitempty"`
+#  Role                string `json:"role,omitempty"`
+#  TokenExpirationTime string `json:"tokenExpirationTime,omitempty"`
+#  CurrentPassword     string `json:"currentPassword,omitempty"`
+#  Status              string `json:"status,omitempty"`
+#}
+# collection account
+{
+  "_id": "xxx",
+  "account": "account_name",
+  "password": "password",
+  "role": "admin",
+  "tokenExpirationTime": "1500519927",
+  "currentPassword": "password",
+  "status": "normal"
+}
+
+# collection domain
+{
+  "_id": "xxx",
+  "domain": "domain"
+}
+
+# collection project
+{
+  "_id": "xxx",
+  "domain": "domain",
+  "project": "project"
+}
\ No newline at end of file

Reply via email to