专栏首页IT云清SpringCloud教程(Finchley版本)-02:服务消费者

SpringCloud教程(Finchley版本)-02:服务消费者

本文,讲述如何将一个服务注册到eureka注册中心,主要分为以下几个步骤:
  • 1.新建项目
  • 2.引入eureka依赖
  • 3.添加注解
  • 4.修改配置文件
  • 5.新建一个controller,提供一个服务接口
  • 6.启动项目
由于后续需要演示负载均衡,这里会创建两个项目company_server1,company_server2,这两个项目提供完全相同的服务,注册到注册中心时,使用相同的服务名称company-server,由于是两个服务,所以项目的端口是不同的,其他相同。具体步骤如下:

1.新建项目

新建一个SpringBoot项目company_server1。

2.引入eureka依赖

eureka-client依赖:

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

springcloud依赖,在 标签外面:

	<!--springcloud依赖管理-->
	<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>
<spring-cloud.version>Finchley.SR2</spring-cloud.version>

3.添加注解

在启动类添加注解@EnableEurekaClient,将项目启动为一个以eureka做注册中心的服务。

@EnableEurekaClient
@SpringBootApplication
public class CompanyServer1Application {

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

4.修改配置文件

server:
  port: 8011
spring:
  application:
    name: company-server
eureka:
  client:
    service-url:
      default: http://localhost:8761/eureka

name: company-server,就是把此项目注册到注册中心时,服务名为company-server,后面其他项目,通过这个服务名称,就能找到这个服务,而不需要通过ip:port。

5.新建一个controller,提供一个服务接口

我们新建一个controller包,下面建一个CompanyController,里面写一个服务接口,对外提供服务,代码如下:

@RestController
@RequestMapping("company")
public class CompanyController {

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

  @GetMapping("get")
  public String getCompany(Integer id){
    return "port:"+port+",企业信息为:阿里巴巴"+id;
  }
}

6.启动项目

启动项目,会发现项目注册到了注册中心上:

访问接口http://localhost:8011/company/get?id=2,发现接口也可以提供服务。

然后我们再写一个相同的服务,步骤和上面一样,端口改为8014,注册时,服务名和上面一样,也是company-server,提供相同的服务,方便后面演示负载均衡。

下一篇:SpringCloud教程(Finchley版本)-03:负载均衡(Ribbon) 完整源码参考:https://github.com/myJava4all/springcloudfinchley

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • java.lang.IllegalStateException: Service id not legal hostname

    SpringCloud服务,在启动两个A服务,然后使用B服务通过feign调用A时,出现以下错误:

    IT云清
  • SpringCloud教程-02:服务注册与消费

    摘要:本文主要讲解如何将一个服务注册到eureka注册中心上,供其他消费者使用此服务。

    IT云清
  • SpringCloud教程(Finchley版本)-01:服务注册与发现(Eureka)

    新建一个SpringBoot项目eureka_server,作为注册中心,后续的其他项目,都注册在这个注册中心上面。

    IT云清
  • 新手向:爬取分析拉勾网招聘信息

    看了很多网站,只发现获取拉勾网招聘信息是只用post方式就可以得到,应当是非常简单了。推荐刚接触数据分析和爬虫的朋友试一下。

    爱写bug
  • 全面理解java异常机制

          在理想状态下,程序会按照我们预想的步骤一步一步的执行,但是即使你是大牛,你也不可避免出错,所以java为我们提供了异常机制。本文将会从以下几个方面...

    Single
  • SpringBoot详细打印启动时异常堆栈信息

    SpringBoot在项目启动时如果遇到异常并不能友好的打印出具体的堆栈错误信息,我们只能查看到简单的错误消息,以致于并不能及时解决发生的问题,针对这个问题Sp...

    恒宇少年
  • 微软为必应推出人工智能搜索新功能,使搜索结果更具价值

    科技改变生活 12月14日,微软在旧金山举行的一场关于AI的主题活动中,宣布旗下搜索引擎产品必应将加入一系列人工智能的新特性。此次更新将使搜索结果更加精准,用户...

    企鹅号小编
  • 计算机控制技术(机器人方向)开放实验说明(Cozmo智能机器人)

    通过PBL项目学习法,深入理解人机交互接口,数字量,模拟量,相互转换,控制器设计等实现。

    zhangrelay
  • 博客园文章编辑器5.0版本发布(markdown版)

    (后来我自己发现了一些问题,于是偷偷发了博客园文章编辑器的4.0.1版本,也没通知大家,不过好在有自动升级功能)

    liulun
  • 【强化学习】从强化学习基础概念开始

    在开始探索强化学习的诸多算法之前,我们先来了解一下它所涉及到的具体概念。这些概念将作为基石,一直陪伴着我们的学习之旅。为了能够将这些概念熟记在心,我们这一期做成...

    用户1508658

扫码关注云+社区

领取腾讯云代金券