瀏覽代碼

更新 admin 后端网关和服务治理相关接口

reghao 2 周之前
父節點
當前提交
58d226907e

+ 5 - 0
admin/pom.xml

@@ -23,6 +23,11 @@
             <version>1.0.0-SNAPSHOT</version>
         </dependency>
 
+        <dependency>
+            <groupId>cn.reghao.tnb.message</groupId>
+            <artifactId>message-api</artifactId>
+            <version>1.0.0-SNAPSHOT</version>
+        </dependency>
         <dependency>
             <groupId>cn.reghao.tnb.search</groupId>
             <artifactId>search-api</artifactId>

+ 0 - 60
admin/src/main/java/cn/reghao/tnb/admin/controller/AdminController.java

@@ -1,60 +0,0 @@
-package cn.reghao.tnb.admin.controller;
-
-import cn.reghao.tnb.admin.db.mapper.TnbUserMapper;
-import cn.reghao.tnb.admin.model.po.TnbUser;
-import cn.reghao.tnb.admin.service.AdminService;
-import cn.reghao.tnb.common.web.WebResult;
-import io.swagger.v3.oas.annotations.Operation;
-import org.springframework.http.MediaType;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.util.List;
-
-/**
- * @author reghao
- * @date 2026-01-21 14:02:38
- */
-@RestController
-@RequestMapping("/api/admin1")
-public class AdminController {
-    private final AdminService adminService;
-    private TnbUserMapper tnbUserMapper;
-
-    public AdminController(AdminService adminService, TnbUserMapper tnbUserMapper) {
-        this.adminService = adminService;
-        this.tnbUserMapper = tnbUserMapper;
-    }
-
-    @Operation(summary = "", description = "N")
-    @GetMapping(value = "/stat", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String stat() {
-        adminService.stat();
-        List<TnbUser> list = tnbUserMapper.findAll();
-        return WebResult.success(list);
-    }
-
-    @Operation(summary = "", description = "N")
-    @GetMapping(value = "/stat1", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String stat1() {
-        tnbUserMapper.updateUsername(1, "gggg");
-        return WebResult.success("update");
-    }
-
-    @Operation(summary = "", description = "N")
-    @GetMapping(value = "/stat2", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String stat2() {
-        tnbUserMapper.deleteById(1);
-        return WebResult.success("delete");
-    }
-
-    @Operation(summary = "", description = "N")
-    @GetMapping(value = "/stat3", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String stat3() {
-        TnbUser tnbUser = new TnbUser();
-        tnbUser.setUsername("reghao");
-        tnbUserMapper.save(tnbUser);
-        return WebResult.success("add");
-    }
-}

+ 3 - 3
admin/src/main/java/cn/reghao/tnb/admin/controller/TnbGatewayController.java → admin/src/main/java/cn/reghao/tnb/admin/controller/GatewayController.java

@@ -17,11 +17,11 @@ import java.util.List;
  */
 @Tag(name = "tnb 网关接口")
 @RestController
-@RequestMapping("/api/admin1/tnb/gw")
-public class TnbGatewayController {
+@RequestMapping("/api/admin1/gateway")
+public class GatewayController {
     private final RouteService routeService;
 
-    public TnbGatewayController(RouteService routeService) {
+    public GatewayController(RouteService routeService) {
         this.routeService = routeService;
     }
 

+ 44 - 0
admin/src/main/java/cn/reghao/tnb/admin/controller/NacosController.java

@@ -0,0 +1,44 @@
+package cn.reghao.tnb.admin.controller;
+
+import cn.reghao.tnb.admin.model.vo.SpringCloudInstance;
+import cn.reghao.tnb.admin.model.vo.SpringCloudNacos;
+import cn.reghao.tnb.admin.service.NacosManager;
+import cn.reghao.tnb.common.web.WebResult;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.http.MediaType;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * @author reghao
+ * @date 2026-01-21 14:02:38
+ */
+@Tag(name = "springcloud 服务接口")
+@RestController
+@RequestMapping("/api/admin1/nacos")
+public class NacosController {
+    private final NacosManager nacosManager;
+
+    public NacosController(NacosManager nacosManager) {
+        this.nacosManager = nacosManager;
+    }
+
+    @Operation(summary = "注册到 nacos 的 springcloud 服务列表", description = "N")
+    @GetMapping(value = "/services", produces = MediaType.APPLICATION_JSON_VALUE)
+    public String serviceList() {
+        List<SpringCloudNacos> list = nacosManager.getServiceList();
+        return WebResult.success(list);
+    }
+
+    @Operation(summary = "注册到 nacos 的 springcloud 服务实例列表", description = "N")
+    @GetMapping(value = "/instances", produces = MediaType.APPLICATION_JSON_VALUE)
+    public String instanceList(@RequestParam("serviceName") String serviceName) {
+        List<SpringCloudInstance> list = nacosManager.getServiceInstances(serviceName);
+        return WebResult.success(list);
+    }
+}

+ 17 - 24
admin/src/main/java/cn/reghao/tnb/admin/controller/TnbServiceController.java → admin/src/main/java/cn/reghao/tnb/admin/controller/ZookeeperController.java

@@ -2,12 +2,9 @@ package cn.reghao.tnb.admin.controller;
 
 import cn.reghao.tnb.common.auth.AuthUser;
 import cn.reghao.tnb.common.web.WebResult;
-import cn.reghao.tnb.admin.model.vo.EurekaInstance;
-import cn.reghao.tnb.admin.model.vo.EurekaService;
 import cn.reghao.tnb.admin.model.vo.ServiceInfo;
-import cn.reghao.tnb.admin.service.TnbEurekaService;
 import cn.reghao.tnb.admin.service.TnbService;
-import cn.reghao.tnb.admin.service.TnbZkService;
+import cn.reghao.tnb.admin.service.ZookeeperManager;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import org.springframework.http.MediaType;
@@ -20,26 +17,24 @@ import java.util.List;
  * @author reghao
  * @date 2024-11-12 15:29:36
  */
-@Tag(name = "tnb 服务治理接口")
+@Tag(name = "dubbo 服务接口")
 @RestController
-@RequestMapping("/api/admin1/tnb")
+@RequestMapping("/api/admin1/zookeeper")
 @AuthUser
-public class TnbServiceController {
-    private final TnbZkService tnbZkService;
+public class ZookeeperController {
+    private final ZookeeperManager zookeeperManager;
     private final TnbService tnbService;
-    private final TnbEurekaService tnbEurekaService;
 
-    public TnbServiceController(TnbZkService tnbZkService, TnbService tnbService, TnbEurekaService tnbEurekaService) {
-        this.tnbZkService = tnbZkService;
+    public ZookeeperController(ZookeeperManager zookeeperManager, TnbService tnbService) {
+        this.zookeeperManager = zookeeperManager;
         this.tnbService = tnbService;
-        this.tnbEurekaService = tnbEurekaService;
     }
 
     @Operation(summary = "zk 中的服务")
-    @GetMapping(value = "/zk", produces = MediaType.APPLICATION_JSON_VALUE)
+    @GetMapping(value = "/list", produces = MediaType.APPLICATION_JSON_VALUE)
     public String zkServicePage() throws Exception {
         String zkPath = "/";
-        List<String> list = tnbZkService.getZkService(zkPath);
+        List<String> list = zookeeperManager.getZkService(zkPath);
         return WebResult.success(list);
     }
 
@@ -48,9 +43,9 @@ public class TnbServiceController {
     public String zkService(@RequestParam("path") String path) throws Exception {
         List<ServiceInfo> list = new ArrayList<>();
         if ("dubbo".equals(path)) {
-            list = tnbZkService.getDubboService();
+            list = zookeeperManager.getDubboService();
         } else if ("services".equals(path)) {
-            list = tnbZkService.getCloudService();
+            list = zookeeperManager.getCloudService();
         } else if ("zookeeper".equals(path)) {
         }
 
@@ -58,31 +53,29 @@ public class TnbServiceController {
     }
 
     @Operation(summary = "zk 中的 dubbo 服务")
-    @GetMapping(value = "/zk/dubbo", produces = MediaType.APPLICATION_JSON_VALUE)
+    @GetMapping(value = "/dubbo", produces = MediaType.APPLICATION_JSON_VALUE)
     public String zkDubboService() throws Exception {
-        List<ServiceInfo> list = tnbZkService.getDubboService();
+        List<ServiceInfo> list = zookeeperManager.getDubboService();
         return WebResult.success(list);
     }
 
     @Operation(summary = "zk 中的 springcloud 服务")
     @GetMapping(value = "/zk/springcloud", produces = MediaType.APPLICATION_JSON_VALUE)
     public String zkSpringcloudService() throws Exception {
-        List<ServiceInfo> list = tnbZkService.getCloudService();
+        List<ServiceInfo> list = zookeeperManager.getCloudService();
         return WebResult.success(list);
     }
 
     @Operation(summary = "eureka 中的 springcloud 服务")
     @GetMapping(value = "/eureka/springcloud", produces = MediaType.APPLICATION_JSON_VALUE)
     public String springcloudServicePage() {
-        List<EurekaInstance> instanceList = tnbEurekaService.getRegistryServices();
-        return WebResult.success(instanceList);
+        return WebResult.success();
     }
 
     @Operation(summary = "eureka 中的 springcloud 服务")
     @GetMapping(value = "/eureka/springcloud1", produces = MediaType.APPLICATION_JSON_VALUE)
     public String springcloudService() {
-        List<EurekaService> serviceList = tnbEurekaService.getServiceList();
-        return WebResult.success(serviceList);
+        return WebResult.success();
     }
 
     @Operation(summary = "springcloud 服务")
@@ -95,7 +88,7 @@ public class TnbServiceController {
     @Operation(summary = "springcloud 服务页面")
     @PostMapping(value = "/springcloud/delete/{appName}", produces = MediaType.APPLICATION_JSON_VALUE)
     public String deleteSpringcloudService(@PathVariable("appName") String appName) {
-        tnbZkService.deleteNode(appName);
+        zookeeperManager.deleteNode(appName);
         return WebResult.success();
     }
 }

+ 0 - 18
admin/src/main/java/cn/reghao/tnb/admin/model/vo/EurekaInstance.java

@@ -1,18 +0,0 @@
-package cn.reghao.tnb.admin.model.vo;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-/**
- * @author reghao
- * @date 2025-09-25 21:57:43
- */
-@AllArgsConstructor
-@Getter
-public class EurekaInstance {
-    private String instanceId;
-    private String appName;
-    private String hostPort;
-    private String lastUpdateTime;
-    private String lastDirtyTime;
-}

+ 0 - 18
admin/src/main/java/cn/reghao/tnb/admin/model/vo/EurekaService.java

@@ -1,18 +0,0 @@
-package cn.reghao.tnb.admin.model.vo;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-import java.util.List;
-
-/**
- * @author reghao
- * @date 2025-09-25 22:14:07
- */
-@AllArgsConstructor
-@Getter
-public class EurekaService {
-    private String appName;
-    private int total;
-    private List<EurekaInstance> instanceList;
-}

+ 14 - 0
admin/src/main/java/cn/reghao/tnb/admin/model/vo/SpringCloudInstance.java

@@ -0,0 +1,14 @@
+package cn.reghao.tnb.admin.model.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * @author reghao
+ * @date 2025-09-25 21:57:43
+ */
+@AllArgsConstructor
+@Getter
+public class SpringCloudInstance {
+    private String instanceAddr;
+}

+ 16 - 0
admin/src/main/java/cn/reghao/tnb/admin/model/vo/SpringCloudNacos.java

@@ -0,0 +1,16 @@
+package cn.reghao.tnb.admin.model.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * @author reghao
+ * @date 2025-09-25 21:57:43
+ */
+@AllArgsConstructor
+@Getter
+public class SpringCloudNacos {
+    private String serviceName;
+    private int healthyCount;
+    private int unhealthyCount;
+}

+ 0 - 66
admin/src/main/java/cn/reghao/tnb/admin/service/AdminService.java

@@ -1,66 +0,0 @@
-package cn.reghao.tnb.admin.service;
-
-import com.alibaba.nacos.api.NacosFactory;
-import com.alibaba.nacos.api.PropertyKeyConst;
-import com.alibaba.nacos.api.config.ConfigService;
-import com.alibaba.nacos.api.config.listener.Listener;
-import com.alibaba.nacos.api.exception.NacosException;
-import org.springframework.stereotype.Service;
-
-import java.util.Properties;
-import java.util.concurrent.Executor;
-
-/**
- * @author reghao
- * @date 2026-01-21 14:12:16
- */
-@Service
-public class AdminService {
-    public void stat() {
-    }
-
-    public void nacos() throws InterruptedException, NacosException {
-        String serverAddr = "127.0.0.1";
-        String dataId = "search-dev";
-        String group = "DEFAULT_GROUP";
-        Properties properties = new Properties();
-        properties.put(PropertyKeyConst.SERVER_ADDR, serverAddr);
-        ConfigService configService = NacosFactory.createConfigService(properties);
-        String content = configService.getConfig(dataId, group, 5000);
-        System.out.println("############################################################################");
-        System.out.println(content);
-        System.out.println("############################################################################");
-        configService.addListener(dataId, group, new Listener() {
-            @Override
-            public void receiveConfigInfo(String configInfo) {
-                System.out.println("receive:" + configInfo);
-            }
-
-            @Override
-            public Executor getExecutor() {
-                return null;
-            }
-        });
-
-        /*boolean isPublishOk = configService.publishConfig(dataId, group, "content");
-        System.out.println(isPublishOk);*/
-
-        //Thread.sleep(3000);
-        //content = configService.getConfig(dataId, group, 5000);
-        System.out.println("############################################################################");
-        //System.out.println(content);
-        System.out.println("############################################################################");
-
-        /*boolean isRemoveOk = configService.removeConfig(dataId, group);
-        System.out.println(isRemoveOk);
-        Thread.sleep(3000);*/
-
-        //content = configService.getConfig(dataId, group, 5000);
-        System.out.println("############################################################################");
-        //System.out.println(content);
-        System.out.println("############################################################################");
-
-        System.out.println("goto long sleep");
-        Thread.sleep(300_000);
-    }
-}

+ 201 - 0
admin/src/main/java/cn/reghao/tnb/admin/service/NacosManager.java

@@ -0,0 +1,201 @@
+package cn.reghao.tnb.admin.service;
+
+import cn.reghao.tnb.admin.model.vo.SpringCloudInstance;
+import cn.reghao.tnb.admin.model.vo.SpringCloudNacos;
+import com.alibaba.cloud.nacos.NacosDiscoveryProperties;
+import com.alibaba.nacos.api.NacosFactory;
+import com.alibaba.nacos.api.PropertyKeyConst;
+import com.alibaba.nacos.api.config.ConfigService;
+import com.alibaba.nacos.api.config.listener.Listener;
+import com.alibaba.nacos.api.exception.NacosException;
+import com.alibaba.nacos.api.naming.NamingFactory;
+import com.alibaba.nacos.api.naming.NamingService;
+import com.alibaba.nacos.api.naming.listener.NamingEvent;
+import com.alibaba.nacos.api.naming.pojo.Instance;
+import com.alibaba.nacos.api.naming.pojo.ListView;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Properties;
+import java.util.concurrent.Executor;
+
+/**
+ * @author reghao
+ * @date 2026-01-21 14:12:16
+ */
+@Slf4j
+@Service
+public class NacosManager {
+    private final NacosDiscoveryProperties nacosDiscoveryProperties;
+    private NamingService namingService;
+    private ConfigService configService;
+
+    public NacosManager(NacosDiscoveryProperties nacosDiscoveryProperties) {
+        this.nacosDiscoveryProperties = nacosDiscoveryProperties;
+        initNacosService();
+    }
+
+    private void initNacosService() {
+        String serverAddr = nacosDiscoveryProperties.getServerAddr();
+        String username = nacosDiscoveryProperties.getUsername();
+        String password = nacosDiscoveryProperties.getPassword();
+
+        Properties properties = new Properties();
+        properties.put(PropertyKeyConst.SERVER_ADDR, serverAddr);
+        properties.put(PropertyKeyConst.USERNAME, username);
+        properties.put(PropertyKeyConst.PASSWORD, password);
+        try {
+            this.namingService = NamingFactory.createNamingService(properties);
+            this.configService = NacosFactory.createConfigService(properties);
+        } catch (Exception e) {
+            log.error(e.getMessage());
+        }
+    }
+
+    public List<SpringCloudNacos> getServiceList() {
+        int pageNumber = 1;
+        int pageSize = 100;
+        List<SpringCloudNacos> allServices = new ArrayList<>();
+        try {
+            String groupName = "DEFAULT_GROUP";
+            ListView<String> listView = namingService.getServicesOfServer(pageNumber, pageSize, groupName);
+            List<String> serviceList = listView.getData();
+            if (serviceList != null && !serviceList.isEmpty()) {
+                for (String serviceName : serviceList) {
+                    List<Instance> healthyList = namingService.selectInstances(serviceName, true);
+                    List<Instance> unhealthyList = namingService.selectInstances(serviceName, false);
+                    allServices.add(new SpringCloudNacos(serviceName, healthyList.size(), unhealthyList.size()));
+                }
+            }
+        } catch (Exception e) {
+            log.error(e.getMessage());
+        }
+
+        return allServices;
+    }
+
+    public List<SpringCloudInstance> getServiceInstances(String serviceName) {
+        List<SpringCloudInstance> allInstances = new ArrayList<>();
+        try {
+            List<Instance> instances = namingService.selectInstances(serviceName, true);
+            for (Instance instance : instances) {
+                String instanceAddr = String.format("%s:%s", instance.getIp(), instance.getPort());
+                //System.out.println("健康节点: " + ins.getIp() + ":" + ins.getPort());
+                allInstances.add(new SpringCloudInstance(instanceAddr));
+            }
+        } catch (Exception e) {
+            log.error(e.getMessage());
+        }
+
+        return allInstances;
+    }
+
+    public void stat() {
+        String serverAddr = nacosDiscoveryProperties.getServerAddr();
+        String username = nacosDiscoveryProperties.getUsername();
+        String password = nacosDiscoveryProperties.getPassword();
+
+        String dataId = "search-dev";
+        String group = "DEFAULT_GROUP";
+        Properties properties = new Properties();
+        properties.put(PropertyKeyConst.SERVER_ADDR, serverAddr);
+
+        try {
+            ConfigService configService = NacosFactory.createConfigService(properties);
+            String content = configService.getConfig(dataId, group, 5000);
+            System.out.println("############################################################################");
+            System.out.println(content);
+            System.out.println("############################################################################");
+            configService.addListener(dataId, group, new Listener() {
+                @Override
+                public void receiveConfigInfo(String configInfo) {
+                    System.out.println("receive:" + configInfo);
+                }
+
+                @Override
+                public Executor getExecutor() {
+                    return null;
+                }
+            });
+
+        /*boolean isPublishOk = configService.publishConfig(dataId, group, "content");
+        System.out.println(isPublishOk);*/
+
+            //Thread.sleep(3000);
+            //content = configService.getConfig(dataId, group, 5000);
+            System.out.println("############################################################################");
+            //System.out.println(content);
+            System.out.println("############################################################################");
+
+        /*boolean isRemoveOk = configService.removeConfig(dataId, group);
+        System.out.println(isRemoveOk);
+        Thread.sleep(3000);*/
+
+            //content = configService.getConfig(dataId, group, 5000);
+            System.out.println("############################################################################");
+            //System.out.println(content);
+            System.out.println("############################################################################");
+        } catch (Exception e) {
+        }
+    }
+
+    static void nacos() throws InterruptedException, NacosException {
+        String serverAddr = "192.168.0.209";
+        String username = "nacos";
+        String password = "Test_123456";
+        String group = "DEFAULT_GROUP";
+        Properties properties = new Properties();
+        properties.put(PropertyKeyConst.SERVER_ADDR, serverAddr);
+        properties.put(PropertyKeyConst.USERNAME, username);
+        properties.put(PropertyKeyConst.PASSWORD, password);
+        NamingService namingService = NamingFactory.createNamingService(properties);
+
+        String serviceName = "user-service";
+        namingService.subscribe(serviceName, event -> {
+            if (event instanceof NamingEvent namingEvent) {
+                System.out.println("服务名称: " + namingEvent.getServiceName());
+                // 获取当前最新的所有实例列表
+                List<Instance> currentInstances = namingEvent.getInstances();
+                System.out.println("当前最新实例数: " + currentInstances.size());
+            }
+        });
+
+        // 获取所有健康的实例(自动过滤掉不健康的节点)
+        /*List<Instance> instances = namingService.selectInstances("user-service", true);
+        for (Instance ins : instances) {
+            System.out.println("健康节点: " + ins.getIp() + ":" + ins.getPort());
+        }*/
+
+        int pageNo = 1;
+        int pageSize = 100; // 每页拉取 100 条
+        List<String> allServices = new ArrayList<>();
+
+        while (true) {
+            // 获取指定分组(如 DEFAULT_GROUP)下的服务列表
+            ListView<String> listView = namingService.getServicesOfServer(pageNo, pageSize, "DEFAULT_GROUP");
+            List<String> serviceList = listView.getData();
+            if (serviceList != null && !serviceList.isEmpty()) {
+                allServices.addAll(serviceList);
+            }
+
+            // 如果获取到的数量达到总数,或者当前页返回为空,说明已经拿到了全部数据
+            if (allServices.size() >= listView.getCount() || serviceList == null || serviceList.isEmpty()) {
+                break;
+            }
+            pageNo++; // 翻页
+        }
+
+        // 4. 打印结果
+        System.out.println("该 Namespace 下总服务数: " + allServices.size());
+        System.out.println("服务列表详情: " + allServices);
+    }
+
+    public static void main(String[] args) throws InterruptedException, NacosException {
+        nacos();
+
+        System.out.println("goto long sleep");
+        Thread.sleep(300_000);
+    }
+}

+ 0 - 81
admin/src/main/java/cn/reghao/tnb/admin/service/TnbEurekaService.java

@@ -1,81 +0,0 @@
-package cn.reghao.tnb.admin.service;
-
-import cn.reghao.jutil.jdk.converter.DateTimeConverter;
-import cn.reghao.tnb.admin.model.vo.EurekaInstance;
-import cn.reghao.tnb.admin.model.vo.EurekaService;
-//import com.netflix.discovery.EurekaClient;
-//import com.netflix.discovery.shared.Applications;
-import org.springframework.cloud.client.discovery.DiscoveryClient;
-import org.springframework.stereotype.Service;
-
-import java.util.*;
-
-/**
- * @author reghao
- * @date 2025-07-18 17:31:05
- */
-@Service
-public class TnbEurekaService {
-    private final DiscoveryClient discoveryClient;
-    //private final EurekaClient eurekaClient;
-
-    public TnbEurekaService(DiscoveryClient discoveryClient/*, EurekaClient eurekaClient*/) {
-        this.discoveryClient = discoveryClient;
-        //this.eurekaClient = eurekaClient;
-    }
-
-    public List<EurekaInstance> getRegistryServices() {
-        List<EurekaInstance> list = new ArrayList<>();
-        /*Applications applications = eurekaClient.getApplications();
-        applications.getRegisteredApplications().forEach(application -> {
-            String name = application.getName();
-            application.getInstances().forEach(instanceInfo -> {
-                String instanceId = instanceInfo.getInstanceId();
-                String appName = instanceInfo.getAppName().toLowerCase(Locale.ROOT);
-                String ipAddr = instanceInfo.getIPAddr();
-                int port = instanceInfo.getPort();
-                String hostPort = String.format("%s:%s", ipAddr, port);
-                long updateTime = instanceInfo.getLastUpdatedTimestamp();
-                String updateTimeStr = DateTimeConverter.msTimestamp(updateTime);
-                long dirtyTime = instanceInfo.getLastDirtyTimestamp();
-                String dirtyTimeStr = DateTimeConverter.msTimestamp(dirtyTime);
-                list.add(new EurekaInstance(instanceId, appName, hostPort, updateTimeStr, dirtyTimeStr));
-            });
-        });*/
-
-        return list;
-    }
-
-    public List<EurekaService> getServiceList() {
-        /*Map<String, List<EurekaInstance>> serviceMap = new HashMap<>();
-        Applications applications = eurekaClient.getApplications();
-        applications.getRegisteredApplications().forEach(application -> {
-            String name = application.getName();
-            List<EurekaInstance> serviceInstances = serviceMap.computeIfAbsent(name, v -> new ArrayList<>());
-            application.getInstances().forEach(instanceInfo -> {
-                String instanceId = instanceInfo.getInstanceId();
-                String appName = instanceInfo.getAppName().toLowerCase(Locale.ROOT);
-                String ipAddr = instanceInfo.getIPAddr();
-                int port = instanceInfo.getPort();
-                String hostPort = String.format("%s:%s", ipAddr, port);
-                long updateTime = instanceInfo.getLastUpdatedTimestamp();
-                String updateTimeStr = DateTimeConverter.msTimestamp(updateTime);
-                long dirtyTime = instanceInfo.getLastDirtyTimestamp();
-                String dirtyTimeStr = DateTimeConverter.msTimestamp(dirtyTime);
-                serviceInstances.add(new EurekaInstance(instanceId, appName, hostPort, updateTimeStr, dirtyTimeStr));
-            });
-        });*/
-
-        List<EurekaService> serviceList = new ArrayList<>();
-        /*serviceMap.forEach((name, instanceList) -> {
-            int total = instanceList.size();
-            serviceList.add(new EurekaService(name, total, instanceList));
-        });*/
-        return serviceList;
-    }
-
-    public void getServices() {
-        List<String> list = discoveryClient.getServices();
-        //eurekaClient.getApplicationInfoManager();
-    }
-}

+ 5 - 5
admin/src/main/java/cn/reghao/tnb/admin/service/TnbService.java

@@ -23,11 +23,11 @@ import java.util.concurrent.TimeUnit;
 @Service
 public class TnbService {
     private final ScheduledExecutorService scheduledExecutorService;
-    private final TnbZkService tnbZkService;
+    private final ZookeeperManager zookeeperManager;
 
-    public TnbService(TnbZkService tnbZkService) {
+    public TnbService(ZookeeperManager zookeeperManager) {
         this.scheduledExecutorService = ThreadPoolWrapper.scheduledThreadPool("zkservice-checker", 1);
-        this.tnbZkService = tnbZkService;
+        this.zookeeperManager = zookeeperManager;
     }
 
     public void startServiceChecker() {
@@ -49,8 +49,8 @@ public class TnbService {
             }
 
             try {
-                Map<String, List<SpringCloudService>> springcloudMap = tnbZkService.getSpringCloudServices();
-                Map<String, List<DubboSrv>> dubboMap = tnbZkService.getDubboServiceMap();
+                Map<String, List<SpringCloudService>> springcloudMap = zookeeperManager.getSpringCloudServices();
+                Map<String, List<DubboSrv>> dubboMap = zookeeperManager.getDubboServiceMap();
                 log.error("########################################{}########################################", DateTimeConverter.format(System.currentTimeMillis()));
                 List<String> springcloudServices = new ArrayList<>();
                 List<String> dubboServices = new ArrayList<>();

+ 6 - 6
admin/src/main/java/cn/reghao/tnb/admin/service/TnbZkService.java → admin/src/main/java/cn/reghao/tnb/admin/service/ZookeeperManager.java

@@ -35,7 +35,7 @@ import java.util.stream.Collectors;
  */
 @Slf4j
 @Service
-public class TnbZkService {
+public class ZookeeperManager {
     private final Pattern pattern = Pattern.compile(".*://");
     private final String dubbo = "/dubbo";
     private final Map<String, DubboSrv> dubboSrvMap = new HashMap<>();
@@ -46,13 +46,13 @@ public class TnbZkService {
     private String connectString;
     private CuratorFramework client;
 
-    public TnbZkService(Environment environment) {
-        /*String address = environment.getProperty("dubbo.registry.address");
-        this.connectString = address.replace("zookeeper://", "");
+    public ZookeeperManager(Environment environment) {
+        //String address = environment.getProperty("dubbo.registry.address");
+        //this.connectString = address.replace("zookeeper://", "");
+        this.connectString = "192.168.0.209:2181";
         client = getZkClient();
-
         listenNode(dubbo, "dubbo");
-        listenNode(springcloud, "springcloud");*/
+        //listenNode(springcloud, "springcloud");
     }
 
     public CuratorFramework getZkClient() {

+ 8 - 6
admin/src/main/resources/application-dev.yml

@@ -1,3 +1,5 @@
+app:
+  gatewayAdminUrl: http://192.168.0.181:16000
 dubbo:
   registry:
     address: N/A
@@ -7,12 +9,16 @@ spring:
       enabled: true
     nacos:
       discovery:
-        server-addr: 127.0.0.1:8848
+        server-addr: 192.168.0.209
         username: nacos
         password: Test_123456
+  datasource:
+    url: jdbc:mysql://192.168.0.209:3306/tnb_account_tdb?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2b8
+    username: test
+    password: Test_123456
   data:
     mongodb:
-      uri: mongodb://test:Test_123456@127.0.0.1:27017/tnb_content_rdb?replicaSet=mymongo&authSource=admin&readPreference=secondaryPreferred&connectTimeoutMS=300000
+      uri: mongodb://test:Test_123456@192.168.0.209:27017/tnb_content_rdb?replicaSet=mymongo&authSource=admin&readPreference=secondaryPreferred&connectTimeoutMS=300000
     redis:
       database: 0
       host: 192.168.0.209
@@ -23,8 +29,4 @@ spring:
     port: 5672
     virtual-host: /
     username: test
-    password: Test_123456
-  datasource:
-    url: jdbc:mysql://192.168.0.209:3306/tnb_account_tdb?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2b8
-    username: test
     password: Test_123456

+ 1 - 14
admin/src/main/resources/application.yml

@@ -49,17 +49,4 @@ mybatis:
     map-underscore-to-camel-case: true
 #    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
   mapper-locations: classpath*:mapper/**/**.xml
-  type-aliases-package: cn.reghao.tnb.admin.model.po
-app:
-  es-host: 192.168.0.81
-  es-port: 9200
-  es-username: elastic
-  es-password: VLTtN03SSJ4lsyyg56kf
-  kafka-uri: 192.168.0.81:9092
-  kafka-topic: NginxLog
-  base-dir: /opt/data/search_data
-  native-lucene-dirname: native_lucene
-  hibernate-lucene-dirname: hibernate_lucene
-  geoip-filename: qqwry.dat
-  geojson-filename: china1.json
-  gatewayAdminUrl: http://localhost:16000
+  type-aliases-package: cn.reghao.tnb.admin.model.po