快速搭建 单体SpringCloudAlibaba 微服务

本章主要讲述快速构建一套springcloud alibaba微服务,一切从简
nacos官网 https://nacos.io/zh-cn/docs/quick-start.html

1.下载启动nacos注册中心

Git地址 https://github.com/alibaba/nacos/releases
快速搭建 单体SpringCloudAlibaba 微服务_第1张图片
1.1 nacos自带默认数据库 derby,集群情况下持久化数据源需要修改,普通模式可不修改
复制mysql-schema.sql文件,创建对应的库表信息
快速搭建 单体SpringCloudAlibaba 微服务_第2张图片
1.2 修改application.properties 中的mysql连接部分
快速搭建 单体SpringCloudAlibaba 微服务_第3张图片

2. 启动注册中心

进入bin目录下,linux启动startup.sh , win启动startup.cmd
快速搭建 单体SpringCloudAlibaba 微服务_第4张图片
2.1 单体nacos,直接启动startup会出现启动不起来情况,需要修改一下启动配置

快速搭建 单体SpringCloudAlibaba 微服务_第5张图片
将 cluster 修改成 standalone 后,重新启动

快速搭建 单体SpringCloudAlibaba 微服务_第6张图片
2.3 访问 nacos的dashboard
http://localhost:8848/nacos/index.html
账号:nacos
密码:nacos

快速搭建 单体SpringCloudAlibaba 微服务_第7张图片

3. 启动服务注册到nacos

3.1 创建项目引入依赖


<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>spring-cloudartifactId>
        <groupId>org.examplegroupId>
        <version>1.0-SNAPSHOTversion>
    parent>
    <modelVersion>4.0.0modelVersion>

    <artifactId>order-serverartifactId>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloudgroupId>
                <artifactId>spring-cloud-dependenciesartifactId>
                <version>Hoxton.SR12version>
                <type>pomtype>
                <scope>importscope>
            dependency>
            <dependency>
                <groupId>com.alibaba.cloudgroupId>
                <artifactId>spring-cloud-alibaba-dependenciesartifactId>
                <version>2.2.6.RELEASEversion>
                <type>pomtype>
                <scope>importscope>
            dependency>
            
            <dependency>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-dependenciesartifactId>
                <version>2.3.7.RELEASEversion>
                <type>pomtype>
                <scope>importscope>
            dependency>
        dependencies>
    dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-webartifactId>
        dependency>
        <dependency>
            <groupId>com.alibaba.cloudgroupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discoveryartifactId>
        dependency>
        <dependency>
            <groupId>com.alibaba.cloudgroupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-configartifactId>
        dependency>
        <dependency>
            <groupId>org.projectlombokgroupId>
            <artifactId>lombokartifactId>
        dependency>
    dependencies>
    <build>
        <finalName>orderfinalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-maven-pluginartifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackagegoal>
                        goals>
                    execution>
                executions>
                <configuration>
                    <includeSystemScope>trueincludeSystemScope>
                configuration>
            plugin>
            <plugin>
                <groupId>org.apache.maven.pluginsgroupId>
                <artifactId>maven-surefire-pluginartifactId>
                <configuration>
                    <skipTests>trueskipTests>
                configuration>
            plugin>
        plugins>
    build>

project>

3.2 创建yml文件

##bootstrap.yml
server:
  port: 8099
spring:
  application:
    name: order-server
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848
      config:
        file-extension: yaml
##application.yml
spring:
  profiles:
    active: dev
  main:
    allow-bean-definition-overriding: true
##application-dev.yml
config:
  user: 123

3.3 主启动类增加注解,增加rest接口,后启动

@SpringBootApplication
@EnableDiscoveryClient
public class OrderApplication {
    public static void main(String[] args) {
        SpringApplication.run(OrderApplication.class,args);
    }
}
@RefreshScope//动态刷新配置中的信息
@RestController
public class OrderController {
    @Value("${config.user}")
    public String user;
    
    @GetMapping("/user")
    public String user(){
        System.out.println(user);
        return user;
    }
}

快速搭建 单体SpringCloudAlibaba 微服务_第8张图片
3.4 动态刷新微服务配置
在 3.3 中启动了 服务并增加一个接口,我们调用一下
在这里插入图片描述
3.4.1 创建配置信息
快速搭建 单体SpringCloudAlibaba 微服务_第9张图片
data id由 ${spring.application.name}-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}构成
快速搭建 单体SpringCloudAlibaba 微服务_第10张图片
再次查看修改成功
在这里插入图片描述
关于group和namespaces就暂时不介绍了,可以直接在项目的yml文件中进行增加修改

你可能感兴趣的:(SpringCloud,spring,cloud,java,spring,boot)