美文网首页Spring Cloud Alibaba
Nacos服务中心:服务发现与服务注册

Nacos服务中心:服务发现与服务注册

作者: WebGiser | 来源:发表于2021-09-22 21:51 被阅读0次
    d8ba24c0c7ffe58b6d5623d4df6b313.jpg
    d0d69b12f76f1d5d4b6e403c46c9fe5.jpg

    1、安装并启动Nacos

    # 单机启动命令
    startup.cmd -m standalone
    
    1632318465(1).png 1632318663(1).png

    2、pom.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.1.13.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
        <groupId>com.geovis</groupId>
        <artifactId>usercenter</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>usercenter</name>
        <description>Demo project for Spring Boot</description>
        <properties>
            <java.version>1.8</java.version>
        </properties>
    
        <dependencyManagement>
            <!--SpringBoot整合Spring Cloud-->
            <dependencies>
                <dependency>
                    <groupId>org.springframework.cloud</groupId>
                    <artifactId>spring-cloud-dependencies</artifactId>
                    <version>Greenwich.SR1</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
                <!--SpringBoot整合Spring Cloud Alibaba-->
                <dependency>
                    <groupId>org.springframework.cloud</groupId>
                    <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                    <version>0.9.0.RELEASE</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
            </dependencies>
        </dependencyManagement>
    
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    
            <!--服务发现依赖-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            </dependency>
    
    
            <!--        <dependency>
                        <groupId>org.mybatis.spring.boot</groupId>
                        <artifactId>mybatis-spring-boot-starter</artifactId>
                        <version>2.2.0</version>
                    </dependency>-->
    
            <!--通用mapper依赖-->
            <dependency>
                <groupId>tk.mybatis</groupId>
                <artifactId>mapper-spring-boot-starter</artifactId>
                <version>2.1.5</version>
            </dependency>
    
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <optional>true</optional>
            </dependency>
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
                <plugin>
                    <groupId>org.mybatis.generator</groupId>
                    <artifactId>mybatis-generator-maven-plugin</artifactId>
                    <version>1.3.6</version>
                    <configuration>
                        <configurationFile>
                            ${basedir}/src/main/resources/generator/generatorConfig.xml
                        </configurationFile>
                        <overwrite>true</overwrite>
                        <verbose>true</verbose>
                    </configuration>
                    <dependencies>
                        <dependency>
                            <groupId>mysql</groupId>
                            <artifactId>mysql-connector-java</artifactId>
                            <version>8.0.19</version>
                        </dependency>
                        <dependency>
                            <groupId>tk.mybatis</groupId>
                            <artifactId>mapper</artifactId>
                            <version>4.1.5</version>
                        </dependency>
                    </dependencies>
                </plugin>
            </plugins>
        </build>
    </project>
    

    3、application.properties

    server.port=8080
    
    spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
    spring.datasource.url=jdbc:mysql://192.168.1.13:3306/user_center?characterEncoding=UTF8&serverTimezone=GMT%2B8
    spring.datasource.username=root
    spring.datasource.password=123456
    
    # 服务名称尽量用-,不要用_或特殊字符
    spring.application.name=user-center
    # nacos服务中心地址
    spring.cloud.nacos.discovery.server-addr=localhost:8848
    # 指定微服务实例所在的命名空间ID
    spring.cloud.nacos.discovery.namespace=476e087f-6df4-499a-af4c-9dc933293655
    # 指定微服务实例所在的集群名称
    spring.cloud.nacos.discovery.cluster-name=NanJing
    

    4、微服务接口调用

    package com.geovis.usercenter.controller.user;
    
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.cloud.client.ServiceInstance;
    import org.springframework.cloud.client.discovery.DiscoveryClient;
    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;
    
    @RestController
    @RequestMapping("/test")
    public class TestController {
    
        @Autowired
        private DiscoveryClient discoveryClient;
    
        /*
        * 获取内容中心所有的实例信息
        * */
        @GetMapping(value = "/getInstances")
        public List<ServiceInstance> getInstances(){
            return discoveryClient.getInstances("content-center");
        }
    
        /*
         * 获取内容中心的某个接口地址
         * */
        @GetMapping(value = "/shareTest")
        public String shareTest(){
            List<ServiceInstance> clientInstances = discoveryClient.getInstances("content-center");
            ServiceInstance instance = clientInstances.get(0);
            String url = instance.getUri()+"/share/insertShare";
            return url;
        }
    }
    

    相关文章

      网友评论

        本文标题:Nacos服务中心:服务发现与服务注册

        本文链接:https://www.haomeiwen.com/subject/ekgggltx.html