zoukankan      html  css  js  c++  java
  • IDEA快速搭建 SpringCloud 注册中心与

     第一步:创建 注册中心(eureka)项目

    按照以下步骤一步一步来(只是对于IDEA的初学者来说)

    (我这里选择maven项目、比较方便)

    给注册中心项目 取上可爱的名称


    第二步配置 eureka的pom文件

    具体配置信息(只是一个模板,所以比较少)。

    <!-- springcloud版本声明 -->
    <dependencyManagement>
    <dependencies>
    <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-dependencies</artifactId>
    <version>Brixton.SR5</version>
    <type>pom</type>
    <scope>import</scope>
    </dependency>
    </dependencies>
    </dependencyManagement>

    <!-- 引入eureka依赖 -->
    <dependencies>
    <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-eureka-server</artifactId>
    </dependency>
    </dependencies>


    第三步:搭建eureka的配置文件(我这里采用aplication.yml的方式,你们也可以采用 properties的方式),yml真的很好用,结构一目了然

    server:
    port: 8001 # 配置我们注册中心的端口

    eureka:
    server:
    waitTimeInMsWhenSyncEmpty: 0
    instance:
    hostname: 127.0.0.1 # url路径 我采用的是本地路径
    client:
    # 表明是否自身注册到eureka 服务器上
    registerWithEureka: false
    # 是否从 eureka 服务器上获得注册信息
    fetchRegistry: false
    serviceUrl:
    defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ #eureka 完整配置地址
    第四步:编写一个main函数,启动访问就可以了
    请注意 @EnableEurekaServer

    页面输入127.0.0.1:8001 看见这个页面表示我们的注册中心已经做好了,

    以上就是一个简单的 注册中心模板,这样完全无法满足我们对知识的渴望,所有我要要搭建一个可以 真正注册并访问的模板。

    这时我们要搭建一个生产者(也就是提供服务的)。

    首先我们创建一个项目,可以按照上面的步骤自己再创建一个新的项目 名称可以自己取一个。不多说

    第一步:创建好项目后配置 pom.xml文件

    具体配置信息 

    <!-- springcloud版本声明 -->
    <dependencyManagement>
    <dependencies>
    <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-dependencies</artifactId>
    <version>Brixton.SR5</version>
    <type>pom</type>
    <scope>import</scope>
    </dependency>
    </dependencies>
    </dependencyManagement>

    <!-- eureka的依赖 -->
    <dependencies>
    <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-eureka-server</artifactId>
    </dependency>
    </dependencies>
    第二步:配置文件信息

     

    端口一个不要后 注册中心 eureka 一样,要不然会报错,端口占用。yml文件配置信息如下

    server:
    port: 8004

    spring:
    application:
    name: producer-service

    eureka:
    client:
    serviceUrl:
    defaultZone: http://127.0.0.1:8001/eureka/
    instance:
    prefer-ip-address: true #用两种方式进行注册,一种是使用主机名注册,一种是使用ip地址进行注册,这里使用ip地址进行注册

    第三步:搭建接口,让消费方进行访问

    我这里写了一个Controller  和 普通的没有区别,为服务系统本身就是每个系统都可以独立访问。具体的逻辑 可以随便怎么写,哪怕输出一句 hoello word

    第四步:编码main函数,进行启动

    这里请注意 我这里 ApplicationMain上 给的注解 是 @EnableEurekaClient  

    和注册中心(euceka)不一样,上面是服务、这里要将 他注册到注册中心里。

    第五步:验收

    我们已经注册到注册中心里去了 

    并且可以单独运行

     

    服务方,我们就搭建好了,接下来我们调用服就可以了


    我们同样也是需要重新搭建一个项目。

    第一步:pom文件

    也是原来的配置信息

    <!-- springcloud版本声明 -->
    <dependencyManagement>
    <dependencies>
    <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-dependencies</artifactId>
    <version>Brixton.SR5</version>
    <type>pom</type>
    <scope>import</scope>
    </dependency>
    </dependencies>
    </dependencyManagement>

    <!-- 引入eureka依赖 -->
    <dependencies>
    <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-eureka-server</artifactId>
    </dependency>
    </dependencies>

     第二步:yml配置信息

    注意端口不要重复

    server:
    port: 8003

    spring:
    application:
    name: consumers-service

    eureka:
    client:
    serviceUrl:
    defaultZone: http://127.0.0.1:8001/eureka/
    instance:
    prefer-ip-address: true #用两种方式进行注册,一种是使用主机名注册,一种是使用ip地址进行注册,这里使用i

    第三步:调用服务接口

    我这里写一个service 这样分开也比较明白,我们具体说一下以下信息

    第一个RestTemplate 我们通过他就可以访问服务接口了。

    return restTemplate.getForObject 有三个参数 ,

    第一参数: 访问的ulr producer-service是生产者注册到注册中心的名称(yml中配置有)userController/queryUser/ 也就就是 具体Controller 的和具体方法了。

    第二个参数:返回值 ,我这里返回的Strign 那么就是String.class。

    第三个参数:也就是接口参数。我这里没有参数,就没给,反正就是测试一下。

    return restTemplate.getForObject("http://producer-service/userController/queryUser/",String.class);

    然后再写一个Controller ,供前台访问

     

    第四步:启动 注册并访问

     

     这里很重要,我们上面所说用 RestTemplate 就可以直接访问了,但是他并没用在spring容器中,如果不配置这启动就会报错

    @Bean 配置RestTemplate 在spring 容器中。

    @LoadBalanced 让其支持负载均衡功能。细节我会以后再补充

    /**
    * @Bean 表示将RestTemplate 配置到bean容器中
    * @LoadBalanced 表示支持负载均衡
    * @return
    */
    @Bean
    @LoadBalanced
    public RestTemplate restTemplate(){
    return new RestTemplate();
    }

    验收我们的成果吧。

    注册中心已经有了我们的 消费方的服务信息了。

    我们的数据就是从 8005端口来的,

    看到了吧,这样表示我们已经写好了。


    到这里我们一个简单的 springCloud 注册中心 与访问就写好,里面用到的知识点,我会再以后 写到博客中。

    学到一点,总结一点,进步一点。

    以上案例希望可以帮助到你们,共同进步。 

    如果配置有问题,请联系我QQ 1352216469 。

    我是一只菜鸟,但是如果让你搞懂了,不是说你连菜鸟都不如,而是说我真的明白了。

  • 相关阅读:
    大数据应用案例之医疗行业
    优先数调度:按最高优先级算法
    实验二:先来先服务进程调度
    实验一:熟练使用DOS操作命令实验
    考试管理搭建帮助文档
    介绍配置管理工具SVN的使用
    在VMware安装Windows server 2003操作系统帮助文档
    搭建一个考试管理系统
    WinMail邮件服务器(客户端)环境搭建与配置
    搭建OA项目环境及卸载指南
  • 原文地址:https://www.cnblogs.com/zhangzhonghui/p/10217375.html
Copyright © 2011-2022 走看看