springcloud之初体验

前面几篇博客中我们大概讲解了一下spring boot的知识,话说管理这些微服务的架构就构成了spring cloud,我们一样,先不说原理先搭建出来再说;
我们今天主要搭建三个服务
1.注册中心(Netflix Eureka):即所有的微服务都得上注册中心中注册才能进行管理
2.网关(Netflix Zuul):路由配置(拦截过滤)
3.正常服务:我们这儿就先搭建一个

一、注册中心
先搭一套spring boot的框架,具体的流程就不说了,之前讲的很明白了,然后我们给这套框架加配置configuration;
只需要在spring boot的基础上添加依赖包

 <dependency>
         <groupId>org.springframework.cloud</groupId>
         <artifactId>spring-cloud-starter-eureka-server</artifactId>
    </dependency>

后面这个依赖是为了管理spring cloud的所有依赖包方便加的,要是不想加也可以,就在上面依赖包上加一个版本号就可以了。

 <dependencyManagement>
        <dependencies>
            <dependency>
                <!-- Import dependency management from Spring Boot -->
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Brixton.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

然后我们在启动文件application.java上添加

@EnableEurekaServer
@SpringBootApplication
public class EurekaApplication {

    public static void main(String[] args){
        new SpringApplicationBuilder(EurekaApplication.class).web(true).run(args);
    }
}

注意添加的注解@EnableEurekaServer 还有一个是@EnableEurekaClient ,注意别添加错了。

然后在application.properties中添加

server.port=1111

eureka.server.eviction-interval-timer-in-ms=5000
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.server.enable-self-preservation=false


eureka.client.serviceUrl.defaultZone=http://localhost:${server.port}/eureka/

其实只有最后一行是必须的,其它的都是配置参数,视具体的环境而加;
这样,启动工程,然后访问:http://localhost:1111/,我们会看到启动页面:
这里写图片描述

好了,我们接下来配置gateway
二、GateWay
一样,我们先看依赖
这个依赖ZUUL是gateway的核心部分,主要靠这个包来路由

 <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-zuul</artifactId>
 </dependency>

但是我们为了把该服务也注册到注册中心上,我们就需要添加注册的依赖包,看着和注册中心的挺像吧,其实并非一个包

  <dependency>
         <groupId>org.springframework.cloud</groupId>
         <artifactId>spring-cloud-starter-eureka</artifactId>
    </dependency>

然后我们在启动文件上添加:

@EnableZuulProxy
@SpringCloudApplication
public class GateWayApplication {

    public static void main(String[] args){
        new SpringApplicationBuilder(GateWayApplication.class).web(true).run(args);
    }
}

该注解@EnableZuulProxy 就是将spring boot服务配置为网关的关键。
然后我们在application.properties中添加
我们看到后面三行就是将该服务注册到注册中心上,
而前面这个是干嘛的呢?
这儿就是路由的核心,我们把三的服务test1的路径配置为/test1/**,既可以用url,也可以用服务中声明的spring.application.name=test1 当做serviceId来映射

#routes to url
zuul.routes.test1.path=/test1/**
zuul.routes.test1.url=http://localhost:3333/
#zuul.routes.test1.serviceId=test1

eureka.instance.leaseRenewalIntervalInSeconds=2
eureka.instance.leaseExpirationDurationInSecondes=6
eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka/

这样我们启动服务,然后看一下注册中心的管理页面,会发现该服务出现在了管理页面上了;

三、正常的spring boot不说了,我们用这个配置

server.port=3333
spring.application.name=test1

eureka.instance.leaseRenewalIntervalInSeconds=2
eureka.instance.leaseExpirationDurationInSecondes=6
eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka/

注意添加注册中心的依赖包哦!!!

最后我们会看到注册中心的管理页面上会出现两个服务;
路由的话
我们的test1服务如果用:http://localhost:3333/getMsg可以访问的话,我们路由之后,url替换为http://localhost:2222/test1/getMsg访问;

之后我会具体的把配置还有断路器的知识讲讲,未完待续。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值