一、概念和定义

1、服务治理:服务注册与服务发现

服务注册中心,提供服务治理功能,用来实现各个微服务实例的自动注册与发现.

服务注册与发现对于微服务系统来说非常重要。有了服务发现与注册,维护人员就不需要天天修改服务调用配置了,只需要使用服务标识符就可以访问到服务,功能类似于dubbo的注册中心(register)。

1.1、服务注册:维护服务清单,使用心跳检测清单中的服务是否可用,剔除不可用的节点

1.2、服务发现:支持调用方通过服务名发起请求调用(咨询得到发起调用),支持负载均衡

2、Eureka的服务治理实现

Eureka Server是服务注册中心,可以被高可用性的配置和部署,并且在注册的服务当中,每个服务状态可以互相复制给彼此。

Eureka Client是服务注册客户端,注册自己到Eureka Server, 提供自己的元数据(主机和端口,健康指标URL,首页等)

Eureka Server通过一个服务从各个实例接收Eureka Client发送的心跳信息。如果心跳接收失败超过配置时间,实例将会正常从注册里面移除。

Eureka Client通过HTTP(或者TCP,UDP)去Eureka Server注册和获取服务列表缓存到本地, 并周期性的刷新服务状态。

客户端端负载均衡Ribbon、智能路由Zuul,都是服务注册中心的访问者。

2.1、EurekaServer

注解: @EnableEurekaServer

配置: 

server.port=1111

eureka.instance.hostname=localhost

eureka.client.register-with-eureka=false  # 本应用为注册中心,设置为false,表示不向注册中心注册自己

eureka.client.fetch-registry=false # 本应用为注册中心,职责是维护服务实例,不需要检索服务,所以设置为false

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

2.2、EurekaClient

注解: @EnableDiscoveryClient

配置: 

server.port=8080

eureka.client.serviceUrl.defaultZone=http://locahost:1111/eureka # 指定服务注册中心的地址

二、开发案例:演示EurekaClient如何注册到EurekaServer

这里的EurekaClient即业务应用Application,采用配置项spring.application.name标识

1、开发一个EurekaServer注册中心

2、开发微服务ServiceHelloA和ServiceHelloB,并各自部署两个实例

我直接开发了四个Eclipse Project,

ServiceHelloA和ServiceHelloA2是微服务ServiceHelloA

ServiceHelloB和ServiceHelloB2是微服务ServiceHelloB

三、案例说明

1、控制台:EurekaServer:  http://localhost:8101/

在这个例子里,有四个EurekaClient实例注册上来,其中,ServiceHelloA两个实例,分别是8201,8202端口,ServiceHelloB两个实例,分别是8221,8222端口。

2、服务实例

ServiceHelloA: 注册两个实例到EurekaService,每个实例注册一个
http://localhost:8201/HelloA?name=Lexiaofei-8201

http://localhost:8202/HelloA?name=Lexiaofei-8202

ServiceHelloB:
http://localhost:8221/HelloB?name=Liangshengqi-8221

http://localhost:8222/HelloB?name=Liangshengqi-8222

四、代码下载

https://github.com/lexiaofei/workspace_SpringEureka.git

SpringCloud的服务注册中心(一)的更多相关文章

  1. springcloud 笔记-服务注册中心

    1.搭建springcloud服务注册中心需要添加eureka的依赖: <?xml version="1.0" encoding="UTF-8"?> ...

  2. SpringCloud + Consul服务注册中心 + gateway网关

    1  启动Consul 2  创建springcloud-consul项目及三个子模块 2.1 数据模块consul-producer 2.2 数据消费模块consul-consumer 2.3 ga ...

  3. SpringCloud之服务注册中心

    1.Eureka 1.1RestTemplate 它提供了多种访问远程http服务的方法,是一种简单便捷的访问restful服务模板类,是spring提供的用于访问Rest服务的客户端模板工具集. 1 ...

  4. SpringCloud的服务注册中心(三) - 进一步了解 Eureka

    一.服务治理参与者 服务注册中心: eureka-server 服务提供者:HELLO-SERVICE 服务消费者 :HELLO-CONSUMER 很多时候,客户端既是服务提供者又是服务消费者,-&g ...

  5. SpringCloud的服务注册中心(四)- 高可用服务注册中心的搭建

    一.双 服务注册注册中心 1.服务注册中心的服务端 - EurekaServer 1.1.EurekaServer1 String.application.name=eureka-server ser ...

  6. springcloud搭建服务注册中心与服务发现

    1.创建服务注册中心 创建一个普通的Spring Boot工程 首先我们需要创建一个普通的Spring Boot工程,命名为eureka-server,普通到什么程度呢?就是一个starter都不需要 ...

  7. SpringCloud(四):服务注册中心Eureka Eureka高可用集群搭建 Eureka自我保护机制

    第四章:服务注册中心 Eureka 4-1. Eureka 注册中心高可用集群概述在微服务架构的这种分布式系统中,我们要充分考虑各个微服务组件的高可用性 问题,不能有单点故障,由于注册中心 eurek ...

  8. SpringCloud的服务注册中心(二)注册中心服务端和两个微服务应用客户端

    一.构建EurekaServer工程 1.pom.xml 2.application.yml 3. EurekaServerApp.java 4.启动EurekaServer 二.构建部署 Eurek ...

  9. SpringCloud之服务注册-eureka

    类似于DUBBO 的zookeeper, SpringCloud本身提供一套服务注册中心--eureka 与zookeeper的区别在于 1:zookeeper本身就是一个应用,安装即可用:eurek ...

随机推荐

  1. WordPress中添加自定义评论表情包的方法

    先来看看效果: 现在由于WordPress版本更新,再加上WordPress主题也越来越多,而现在的主题一般都是禁用了WordPress自带的评论表情,其实自带 的评论表情也是很丑的,但是以前我们可以 ...

  2. linux kexec内核引导

    linux kexec 介绍 kexec的功能是用一个运行的内核去运行一个新内核,就像运行一个应用程序一样.这种机制因为跳过了bootloader,可以实现系统的快速重启.另外kdump也是基于kex ...

  3. Dell服务器系统安装后无法正常进入系统

    问题描述: 正常安装完系统后,重启,出现无法进入系统 问题解决: 此问题出现意味着系统引导项出现错误,进入raid配置里设置相应的所装系统盘为boot引导项:

  4. Sublime + Python3 + 虚拟环境 + 去除 中文输出乱码

    MacBook Pro Retina 13 2013年底版 所用软件 1. Sublime Text 3安装 Virtualenv package 2. 用 iterm2 .或者终端安装zip:apt ...

  5. spring 文件模板下载多种实现方式

    针对于文件的下载,我们有很多种实现方式.业务场景是这样子的,要实现Excel文件的导入和导出功能,问题对于java的POI操作没有问题,所以实现文件的下载就相对简单,只需要从数据库取出相关的数据,针对 ...

  6. ionic start 创建ionic项目报错,及解决过程

    问题描述: 前一次创建利用命令行创建ionic项目一次性成功,第二次没有运行: $ npm install -g ionic cordova 直接运行: ionic start ionicDemo 出 ...

  7. java 二叉树排序

    1 class BinaryTree{ 2 class Node{ 3 private Comparable data; 4 private Node left; 5 private Node rig ...

  8. Matlab绘图基础——colormap的使用

    **使用系统内置的colormap** ``` syms x y ezmesh(x*exp(-x^2-y^2),[-2.5,2.5],40) colormap(hot) ``` 自定义colormap ...

  9. PLSQL配置怎么连ORACLE

    如果是windows的话,在服务里面就可以查服务要启动,监听也要启动!可以用lsnrctl命令查看监听! 首先你需要在我的电脑的属性里,找到环境变量,配置系统下面的path,看看里面指向的是哪里(我的 ...

  10. 微信公众号支付JSAPI网页,total_fee错误不正确,header重定向参数丢失,无法获取订单号和金额解决

    微信公众号支付官方demo错误, 公众号支付只能用在微信里,也就是微信内部浏览器. 1.到WxPayHubHelper.php文件 JsApi_pub()类下createOauthUrlForCode ...