微服务注册与发现及如何使用Eureka
来源:互联网 发布:多功能水枪 数据 编辑:程序博客网 时间:2024/06/01 20:57
- 服务提供者,服务消费者,和服务发现主键之间的关系
①在各个服务启动时候,就已经将自己的网络地址等信息注册到服务发现组件里面了并且存储这些信息
② 服务消费者可以从发现组件中查找服务提供者的网络地址,并且用该地址调用服务提供的接口
③各个微服务与发现组件使用一定机制通信。服务发现组件入长时间无法与某个微服务通信的话。就会直接注销实例
④微服务网络地址发生改变时,会重新注册到发现服务组件中,服务消费者就无需人工修改的提供网络的网址了
2.下面看一下服务消费和服务提供者和服务消费者之间的关系
3.Eureka介绍和使用
3.1简单的图介绍Eureka的原理
上面图可能画丑了点
解释一下上图的意思吧
Application Service相当于服务提供者
Application Client 相当于服务消费者
Maker Rometo Call 相当于Restful API
看上面架构图可以看出Eureka包含两个组件,分别是:Eureka Client和Eureka Server。
Eureka Server 作用是可以提供发现服务的能力,各个微服启动,都会注册自己的信息并且保存
Eureka Client 是java的客户端,微服务启动后会发出心跳给延续自己的使用时间会周日期应该是默认为30秒,如果在一定时间没没有接受到微服的实例心跳,Eureka Server将会注销实例(默认时间是90秒)。假如是多个实例的话,它们之间会互相复制。来实现数据的同步。Eureka Client会缓存服务的注册表中的信息,从而降低了Eureka Server服务的压力
4.写一个Eureka Server
在application.properties配置如下
server.port=8082#表示是否自己注册到Eureka server 默认为trueeureka.client.register-with-eureka=false#表示是否从Eureka Server获取信息eureka.client.fetch-registry=false#设置与Eureka Server交互地址。查询服务和祖册服务都需要依赖这个地址。默认是http://localhost:8761/eureka/eureka.client.service-url.default-zone=http://localhost:8761/eureka/
启动类代码如下添加@Eureka注解就可以访问你的微服务
package com.zjm.demo;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;@SpringBootApplication@EnableEurekaServerpublic class MiroserviceDiscoveryEurekaApplication { public static void main(String[] args) { SpringApplication.run(MiroserviceDiscoveryEurekaApplication.class, args); }}
访问http://localhost:8761/ 显示如下
现在DSReplicas没有微服注册进来。
下面对提供者和服务消费者进行注册
访问http://localhost:8761/
这个有错误,是因为两个服务端口一直导致的,要改一下运行Tomcat的端口就行了,两个服务都注册进来的。
application,.properties 配置如下连个服务都是一致的只要改动server.port就可以了
#把应用名称注册的到Eureka Server上spring.application.name=miroservice-consumer-movie#这个8761 是默认的 可以看源码eureka.client.service-url.defaultZone=http://localhost:8761/eureka/#表示IP注册到Eureka Servereureka.instance.ip-address=trueserver.port=8081
MiroserviceConsumerMovieApplication.java,另个一个服务同理配置,这里面的@EnableDiscoveryClient可以用@EnableEurekaClient
代替。@EnableDiscoveryClient为各个组件提供服务支持的。这里只用到了单点服务
package com.zjm.demo;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.client.discovery.EnableDiscoveryClient;@EnableDiscoveryClient@SpringBootApplicationpublic class MiroserviceConsumerMovieApplication { public static void main(String[] args) { SpringApplication.run(MiroserviceConsumerMovieApplication.class, args); }}
阅读全文
3 0
- 微服务注册与发现及如何使用Eureka
- 微服务~Eureka实现的服务注册与发现及服务之间的调用
- Spring Cloud构建微服务架构:服务注册与发现(Eureka、Consul)[Dalston版]
- Spring Cloud构建微服务架构:服务注册与发现(Eureka、Consul)【Dalston版】
- Spring Cloud构建微服务架构:Eureka服务注册与发现
- Spring Cloud构建微服务架构:服务注册与发现(Eureka、Consul)
- Spring Cloud构建微服务架构:服务注册与发现(Eureka、Consul)
- Spring Cloud构建微服务架构:服务注册与发现(Eureka、Consul)【Dalston版】
- SpringCloud构建微服务入门架构(二)服务注册与发现Eureka集群搭建
- 微服务springcloud分布式入门-eureka服务注册与发现-zuul路由
- 使用 Eureka 实现服务注册与发现
- 微服务注册与发现
- springcloud微服务三:Eureka服务治理之注册服务提供者及服务的发现和消费
- 干货实操:微服务Spring Cloud 系列(二) Eureka服务发现与服务注册(strand alone)
- Eureka服务注册与发现
- etcd 微服务注册与发现
- Consul 微服务注册与发现
- Spring Cloud 微服务注册与发现
- sdut 1211
- ubuntu 下使用 upnp 配置路由器端口映射
- org.apache.catalina.core.StandardWrapperValve invoke的解决办法
- usaco6.4.2 Electric Fences
- 德语词汇笔记(一)
- 微服务注册与发现及如何使用Eureka
- [LeetCode]712. Minimum ASCII Delete Sum for Two Strings
- 机器学习实战篇-人脸识别(1)- 人脸定位
- ICMP协议
- nagios插件之检测tomcat日志的startAt值(待改进)
- 趣图:程序员调 Bug 的 5 个阶段
- 数据库的完整性
- 老说程序员如何看产品经理,今天说说产品经理讨厌哪些程序员
- ARPA网