资讯专栏INFORMATION COLUMN

springcloud框架的简单搭建(服务注册中心)

苏丹 / 1797人阅读

摘要:必须要从零开始用搭建一下这个框架,本文是采用作为服务注册与发现的组件。是一个默认的注册中心地址。配置该选项后,可以在服务中心进行注册。配置完成之后,启动项目,然后浏览器地址栏输入然后出现以下页面,表示注册中心搭建完毕。

发现很多招聘都需要会springcloud,所以最近在学习springcloud。

必须要从零开始用IDEA搭建一下这个springcloud框架,本文是采用Eureka作为服务注册与发现的组件。

先用IDEA创建一个MAVEN项目。

下一步需要填写GroupId和ArtifactId,这里按照自己的习惯去填写就好了。

下一步选择项目位置和项目名称点击完成就可以了。

在该MAVEN项目下新建一个模块,这里就需要新建的是springboot了。

这里选择的是spring initializr进行springboot的创建。

还是要对Group和Artifact进行设置。

点击下一步之后,我们需要选择Cloud Discovery下的Eureka Server,点击下一步然后点击完成就可以了。

现在我们需要对服务中心eureka-server进行一些相关的配置了。
打开它的pom.xml文件,我们看到是这样的:



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.1.5.RELEASE
         
    
    com.zhouxiaoxi
    eureka-server
    0.0.1-SNAPSHOT
    eureka-server
    Demo project for Spring Boot

    
        1.8
        Greenwich.SR1
    

    
        
            org.springframework.cloud
            spring-cloud-starter-netflix-eureka-server
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    

    
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                ${spring-cloud.version}
                pom
                import
            
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    


然后我们需要启动一个服务注册中心,这需要在springboot工程的启动application类上加一个注解@EnableEurekaServer:

package com.zhouxiaoxi.eurekaserver;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {

    public static void main(String[] args) {
        SpringApplication.run(EurekaServerApplication.class, args);
    }

}

先将配置文件改为yml,然后进行相关的配置,如下:

#端口号
server:
  port: 8080

eureka:
  instance:
    hostname: localhost
  client:
    #服务注册中心也会将自己作为客户端来尝试注册自己,为true(默认)时自动生效。
    registerWithEureka: false
    #检索服务选项,当设置为True(默认值)时,会进行服务检索,注册中心不负责检索服务。
    fetchRegistry: false
    #是一个默认的注册中心地址。配置该选项后,可以在服务中心进行注册。
    serviceUrl:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

spring:
  application:
    name: eurka-server

配置完成之后,启动项目,然后浏览器地址栏输入http://localhost:8080然后出现以下页面,表示注册中心搭建完毕。

接下来我们就需要创建一个服务提供者 (eureka-client)
还是和上面一样新建一个模块,这次我们命名为eureka-client,然后选择依赖的时候有点区别:

点击下一步知道完成就可以了。

核对一下pom.xml文件信息:



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.1.5.RELEASE
         
    
    com.zhouxiaoxi
    eureka-client
    0.0.1-SNAPSHOT
    eureka-client
    Demo project for Spring Boot

    
        1.8
        Greenwich.SR1
    

    
        
            org.springframework.boot
            spring-boot-starter-web
        
        
            org.springframework.cloud
            spring-cloud-starter-netflix-eureka-client
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    

    
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                ${spring-cloud.version}
                pom
                import
            
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    


我们这边也需要对启动类进行相关的注解添加:
因为我们这边用的是eureka搭建的服务中心,所以我们这边还是用@EnableEurekaClient注解就可以了

package com.zhouxiaoxi.eurekaclient;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;

@SpringBootApplication
@EnableEurekaClient
//@EnableDiscoveryClient注解是基于spring-cloud-commons依赖,相当于一个公共的服务发现;
//@EnableEurekaClient注解是基于spring-cloud-netflix依赖,只能为eureka作用;
public class EurekaClientApplication {

    public static void main(String[] args) {
        SpringApplication.run(EurekaClientApplication.class, args);
    }

}

需要对配置文件进行相关的配置:

server:
  port: 8081

spring:
  application:
    name: eureka-client

eureka:
  client:
    serviceUrl:
      #注明自己的服务注册中心的地址
      defaultZone: http://localhost:8080/eureka/

新建一个controller,然后写一个hello方法:

package com.zhouxiaoxi.eurekaclient.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

    @Value("${server.port}")
    String port;

    @RequestMapping("/hello")
    public String home(@RequestParam(value = "name") String name) {
        return "hello " + name + " ,i am from port:" + port;
    }

}

启动该工程之后,打开刚才的浏览器页面刷新后会发现一个服务已经注册在服务中了,服务名为EUREKA-CLIENT ,端口为8081:

这时打开 http://localhost:8081/hello?name=world,你会在浏览器上看到 :

hello world ,i am from port:8081

至此,我们的一个较为完整的项目就搭建起来了。

不过我们还可以运行多个服务,这里有个小技巧了就:
先打开IDEA右上角的编辑配置,如下图:

然后找到我们刚才的工程,将允许并行运行给勾选上,应用并确定就可以了:

找到该工程下的配置文件,将端口号进行修改后启动,就可以并行启动多个服务了:
启动几个我们就会在注册中心的页面上看到几个服务。

恩,先这样吧,后续再更新。。。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/74571.html

相关文章

  • 架构~微服务

    摘要:接下来继续介绍三种架构模式,分别是查询分离模式微服务模式多级缓存模式。分布式应用程序可以基于实现诸如数据发布订阅负载均衡命名服务分布式协调通知集群管理选举分布式锁和分布式队列等功能。 SpringCloud 分布式配置 SpringCloud 分布式配置 史上最简单的 SpringCloud 教程 | 第九篇: 服务链路追踪 (Spring Cloud Sleuth) 史上最简单的 S...

    xinhaip 评论0 收藏0
  • 2021 年最新基于 Spring Cloud 服务架构分析

    摘要:是一个相对比较新的微服务框架,年才推出的版本虽然时间最短但是相比等框架提供的全套的分布式系统解决方案。提供线程池不同的服务走不同的线程池,实现了不同服务调用的隔离,避免了服务器雪崩的问题。通过互相注册的方式来进行消息同步和保证高可用。 Spring Cloud 是一个相对比较新的微服务框架,...

    cikenerd 评论0 收藏0
  • 分布式-SpringBoot-SpringCloud-Eureka

    摘要:环境搭建注册中心依赖如下所示配置应用启动端口注册中心管理中的应用名称登陆注册管理中的的账号密码是否把自己注册到注册中心是否从上来获取服务的注册信息启动注册中心启动后访问登陆界面输入设置的账号密码进 环境 Java version 1.8 SpringBoot version 2.1.7 搭建注册中心 Eureka-server pom.xml 依赖如下所示: ...

    Olivia 评论0 收藏0
  • 架构~微服务 - 收藏集 - 掘金

    摘要:它就是史上最简单的教程第三篇服务消费者后端掘金上一篇文章,讲述了通过去消费服务,这篇文章主要讲述通过去消费服务。概览和架构设计掘金技术征文后端掘金是基于的一整套实现微服务的框架。 Spring Boot 配置文件 – 在坑中实践 - 后端 - 掘金作者:泥瓦匠链接:Spring Boot 配置文件 – 在坑中实践版权归作者所有,转载请注明出处本文提纲一、自动配置二、自定义属性三、ran...

    church 评论0 收藏0
  • Springcloud-nacos实现配置和注册中心

    摘要:实现配置和注册中心最近,阿里开源的比较火,可以和和共用,对升级到非常的方便。只需要添加依赖,使用配置注册中心地址即可。配置不生效,没有使用注解刷新配置分清注册中心和配置中心是两个概念,需要配置两个地址学会看源码,看维基。 Springcloud-nacos实现配置和注册中心 最近,阿里开源的nacos比较火,可以和springcloud和dubbo共用,对dubbo升级到springc...

    whinc 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<