@@ -21,6 +21,8 @@ import (
21
21
"context"
22
22
"errors"
23
23
"fmt"
24
+ "github.com/polarismesh/polaris-server/common/model"
25
+ "github.com/polarismesh/polaris-server/healthcheck"
24
26
"net"
25
27
"strings"
26
28
"time"
@@ -105,15 +107,11 @@ func Start(configFilePath string) {
105
107
fmt .Printf ("[ERROR] %v\n " , err )
106
108
return
107
109
}
108
-
109
- cfg .Naming .HealthCheck .LocalHost = LocalHost // 补充healthCheck的配置
110
- naming .SetHealthCheckConfig (& cfg .Naming .HealthCheck )
111
- err = naming .Initialize (ctx , & cfg .Naming , & cfg .Cache )
110
+ err = StartComponents (ctx , cfg )
112
111
if err != nil {
113
112
fmt .Printf ("[ERROR] %v\n " , err )
114
113
return
115
114
}
116
-
117
115
errCh := make (chan error , len (cfg .APIServers ))
118
116
servers , err := StartServers (ctx , cfg , errCh )
119
117
if err != nil {
@@ -130,7 +128,32 @@ func Start(configFilePath string) {
130
128
RunMainLoop (servers , errCh )
131
129
}
132
130
133
- // 启动server
131
+ // StartComponents start healthcheck and naming components
132
+ func StartComponents (ctx context.Context , cfg * config.Config ) error {
133
+ var err error
134
+ if len (cfg .HealthChecks .LocalHost ) == 0 {
135
+ cfg .HealthChecks .LocalHost = LocalHost // 补充healthCheck的配置
136
+ }
137
+ err = healthcheck .Initialize (ctx , & cfg .HealthChecks , cfg .Cache .Open )
138
+ if err != nil {
139
+ return err
140
+ }
141
+ healthCheckServer , err := healthcheck .GetServer ()
142
+ if err != nil {
143
+ return err
144
+ }
145
+ cacheProvider , err := healthCheckServer .CacheProvider ()
146
+ if err != nil {
147
+ return err
148
+ }
149
+ err = naming .Initialize (ctx , & cfg .Naming , & cfg .Cache , cacheProvider )
150
+ if err != nil {
151
+ return err
152
+ }
153
+ return nil
154
+ }
155
+
156
+ // StartServers 启动server
134
157
func StartServers (ctx context.Context , cfg * config.Config , errCh chan error ) (
135
158
[]apiserver.Apiserver , error ) {
136
159
// 启动API服务器
@@ -362,7 +385,8 @@ func selfRegister(host string, port uint32, protocol string, isolated bool, pola
362
385
Version : utils .NewStringValue (version .Get ()),
363
386
Isolate : utils .NewBoolValue (isolated ), // 自注册,默认是隔离的
364
387
Metadata : map [string ]string {
365
- "build-revision" : version .GetRevision (),
388
+ model .MetaKeyBuildRevision : version .GetRevision (),
389
+ model .MetaKeyPolarisService : name ,
366
390
},
367
391
}
368
392
0 commit comments