上一篇介绍了注册中心,这一篇介绍如何把服务注册到注册中心。

一、创建服务提供者

我们依然使用上一篇的项目,在其中创建一个spring boot模块,填好必要的信息,依赖需要选择Spring Web和Eureka Discovery Client,创建完成后主要的依赖如下:

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

二、添加配置

在application.properties文件中添加以下配置

server.port=8770
spring.application.name=service-provider eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka/

三、提供服务

为了方便,我们直接在启动类添加一个提供服务的方法

@SpringBootApplication
@EnableEurekaClient
@RestController
public class ServiceProviderApplication { public static void main(String[] args) {
SpringApplication.run(ServiceProviderApplication.class, args);
} @RequestMapping("/callServiceProvider")
public String callServiceProvider(@RequestParam("uid") String uid) {
return "用户" + uid + "调用了此服务";
}
}

通过@EnableEurekaClient开启服务注册,而其他的写法和在spring boot中添加一个api接口是一样的,因为spring cloud就是使用REST的方式对外提供服务的。

四、启动

4.1、单节点注册中心

先启动单节点的注册中心(使用的配置文件是application.properties),再启动服务提供者,都启动成功后,在浏览器访问http://localhost:8761/,可以看到,在注册中心已经有一个服务提供者了,而名称就是在配置文件中spring.application.name的值

4.2、注册中心集群

如果使用注册中心集群,那么就把eureka.client.serviceUrl.defaultZone的值改为http://eureka-1:8761/eureka/,然后分别启动上一篇中提到的Eureka集群的三个节点,再启动服务提供者,这时访问http://eureka-1:8761/

这时可以看到SERVICE-PROVIDER服务已经在其中,再访问http://eureka-2:8762/或者http://eureka-3:8763/还是可以看到SERVICE-PROVIDER服务,这是因为当一个服务注册到注册中心集群的任意一个节点,这个节点都会把这个消息发送给其它节点,这样当有服务消费者要来注册中心寻找服务的时候,无论是在哪个注册中心节点都能保证找到服务,这也是集群的意义所在。

五、总结

以上就是服务注册的过程,在实际中,服务提供者不可能只有一个,这时注册的方法还是一样的,当注册了多个服务提供者,同样可以在注册中心的后台看到所有注册了的服务。

下一篇将介绍服务的消费。

源码已经上传到github:https://github.com/spareyaya/spring-cloud-demo/tree/master/chapter2

Spring Cloud系列(二):服务提供者的更多相关文章

  1. Spring Cloud系列(二) 介绍

    Spring Cloud系列(一) 介绍 Spring Cloud是基于Spring Boot实现的微服务架构开发工具.它为微服务架构中涉及的配置管理.服务治理.断路器.智能路由.微代理.控制总线.全 ...

  2. Spring Cloud 系列之 Consul 注册中心(二)

    本篇文章为系列文章,未读第一集的同学请猛戳这里:Spring Cloud 系列之 Consul 注册中心(一) 本篇文章讲解 Consul 集群环境的搭建. Consul 集群 上图是一个简单的 Co ...

  3. Spring Cloud 系列之 Gateway 服务网关(二)

    本篇文章为系列文章,未读第一集的同学请猛戳这里:Spring Cloud 系列之 Gateway 服务网关(一) 本篇文章讲解 Gateway 网关的多种路由规则.动态路由规则(配合服务发现的路由规则 ...

  4. Spring Cloud 系列之 Sleuth 链路追踪(二)

    本篇文章为系列文章,未读第一集的同学请猛戳这里:Spring Cloud 系列之 Sleuth 链路追踪(一) 本篇文章讲解 Sleuth 基于 Zipkin 存储链路追踪数据至 MySQL,Elas ...

  5. Spring Cloud 系列之 Stream 消息驱动(二)

    本篇文章为系列文章,未读第一集的同学请猛戳这里:Spring Cloud 系列之 Stream 消息驱动(一) 本篇文章讲解 Stream 如何实现消息分组和消息分区. 消息分组 如果有多个消息消费者 ...

  6. Spring Cloud 系列之 Config 配置中心(二)

    本篇文章为系列文章,未读第一集的同学请猛戳这里:Spring Cloud 系列之 Config 配置中心(一) 本篇文章讲解 Config 如何实现配置中心自动刷新. 配置中心自动刷新 点击链接观看: ...

  7. Spring Cloud 系列之 Apollo 配置中心(二)

    本篇文章为系列文章,未读第一集的同学请猛戳这里:Spring Cloud 系列之 Apollo 配置中心(一) 本篇文章讲解 Apollo 部门管理.用户管理.配置管理.集群管理. 点击链接观看:Ap ...

  8. Spring Cloud 系列之 Alibaba Nacos 注册中心(二)

    本篇文章为系列文章,未读第一集的同学请猛戳这里:Spring Cloud 系列之 Alibaba Nacos 注册中心(一) 本篇文章讲解 Nacos 注册中心集群环境搭建. Nacos 集群环境搭建 ...

  9. Spring Cloud(二):服务注册与发现 Eureka【Finchley 版】

    Spring Cloud(二):服务注册与发现 Eureka[Finchley 版]  发表于 2018-04-15 |  更新于 2018-05-07 |  上一篇主要介绍了相关理论,这一篇开始我们 ...

  10. spring cloud系列教程第六篇-Eureka集群版

    spring cloud系列教程第六篇-Eureka集群版 本文主要内容: 本文来源:本文由凯哥Java(kaigejava)发布在博客园博客的.转载请注明 1:Eureka执行步骤理解 2:集群原理 ...

随机推荐

  1. hdu4046 不错的线段树单点更新

    题意:       给一个字符串,两种操作 0 a b 询问a,b之间有多少个wbw, 1 a c 就是把第a个改成c. 思路:       这个题目我们可以用线段树的点更新来做,一开始写了个好长好长 ...

  2. UVA10391复合词

    题意:      给定一个词典,然后问里面那些是复合词,复合词就是当前这个单词正好是有两个单词拼接而成. 思路:       用map来标记是否出现过,然后先按长短排序,把每个单体拆分成任意两个可能的 ...

  3. C#-窗体鼠标穿透

    #region 窗体鼠标穿透 private const uint WS_EX_LAYERED = 0x80000; private const int WS_EX_TRANSPARENT = 0x2 ...

  4. Dockerfile多阶段构建

    多阶段构建 之前的做法: 在Docker17.05版本之前,构建Docker镜像,通常采用两种方式: 1.全部放入一个Dockerfile 一种方式是将所有的构建过程全都包含在一个Dockerfile ...

  5. android 资料

    https://xfans.gitbooks.io/android-book/content/issue-39/Android%20dex%E5%88%86%E5%8C%85%E5%AF%BC%E8% ...

  6. CTFHub-技能树-Bypass disable_function:LD_PRELOAD

    LD_PRELOAD 目录 LD_PRELOAD 题目描述 解题过程 简单测试 查看phpinfo 编译动态链接库 写调用代码 题目描述 目标:获取服务器上/flag文件中的 flag.需要了解 Li ...

  7. Kafka Rebalance机制和选举策略总结

    自建博客地址:https://www.bytelife.net,欢迎访问! 本文为博客同步发表文章,为了更好的阅读体验,建议您移步至我的博客 本文作者: Jeffrey 本文链接: https://w ...

  8. PHP 判断当前日期是否是法定节假日或者休息日

    1.代码如下 $date = date("Ymd",time()); $url = "http://api.goseek.cn/Tools/holiday?date=&q ...

  9. SPEC 2000 整形和浮点性能测试结果是各项基准程序得分的几何平均值,几何平均值是 n 个数连乘之 后再开 n 次根号

    SPEC 2000 能够生成多种格式的测试结果报表,包括 asc,ps,raw,pdf,html 等格式,报 表所在目录为/home/sepc2000­all/result. 整形和浮点性能测试结果是 ...

  10. reboot 就是 poweroff 然后power on

    halt Shut down and halt the system poweroff Shut down and power-off the system reboot [ARG] Shut dow ...