spring cloud初练习

  最近时间比较充裕,决定来学习一下spring cloud。 

  首先要了解spring cloud是什么,spring cloud是基于spring boot的一个搭建分布式系统的工具集, 它可以帮你快速的搭建一个分布式系统。相对来说比较简单易上手,学习spring cloud之前要对spring boot有一定的了解和掌握。

  接下来我们搭建一个简单的spring cloud 环境的搭建,

1·  我们可以先建一个spring boot的项目,然后引入依赖。

<?xml version="1.0" encoding="UTF-8"?>
    <name>springCloudDemo</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
        <spring-cloud.version>Greenwich.SR1</spring-cloud.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-server</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </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>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
    <!-- 
<repositories>
        <repository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>
     -->
</project>
 

2·  引入依赖后开始写配置文件:

 server:
  port: 8761 
  
eureka:
  instance:
    hostname: localhost #你的地址
  client:
    register-with-eureka:  false # 表示是否注册自身到eureka服务器,
    fetch-registry: false  #fetch-registry 表示是否从eureka服务器上获取注册信息
    service-url:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
        # defaultZone就比较重要了,是设置eureka服务器所在的地址,查询服务和注册服务都需要依赖这个地址。

3·在启动类上加上@EnableEurekaServer注解

然后就可以启动eureka服务了,

 

4·下面再建一个spring boot项目,导入依赖。只要把spring-cloud-starter-netflix-eureka-server修改为spring-cloud-starter-netflix-eureka-client即可,其他依赖都没有改变。

5·客户端的配置文件

6·在客户端的启动类上加上@EnableEurekaClient注解,然后就可以启动客户端了。启动完成之后刷新一下eureka服务器端 ,

 

如图,说明客户端向服务器端注册成功。

 

     接下来要使用restTemplate 时间服务器之前的调用。因为每个客户端都在服务器端注册了,所以我们在访问其他客户端时,可以使用restTemplate 来进行调用,也十分的方便。

   首先建一个restTemplate的工具类。

注意:当你调用地址想用你注册时候的name时,必须加@LoadBalanced注解。这样然后就可以使用restTemplate了。

如:

 

当访问 /getString时 就会跳转到 CLIENTDEMO的 /getName 

 

 

 这样就可以随意跳转到 注册到服务器端的任何一个客户端了。

 

 

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值