博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Eureka 服务中心
阅读量:5020 次
发布时间:2019-06-12

本文共 3206 字,大约阅读时间需要 10 分钟。

          old                                                                                           使用Eureka  将各个微服务分到不同的服务器上

Eureka 就是个服务中心,将各种服务都注册到了服务中心,如几台服务提供相同服务来做均衡负载;监控服务器调用成功率来做熔断,移除服务列表中的故障点;监控服务调用时间来对不同的服务器设置不同的权重等等。

Eureka由两个组件组成:Eureka服务器和Eureka客户端

1、Eureka Server

  • 提供服务注册和发现

2、Service Provider

  • 服务提供方
  • 将自身服务注册到Eureka,从而使服务消费方能够找到

3、Service Consumer

  • 服务消费方
  • 从Eureka获取注册服务列表,从而能够消费服务

 一 。eureka服务注册中心的搭建

org.springframework.cloud
spring-cloud-starter
org.springframework.cloud
spring-cloud-starter-eureka-server
org.springframework.boot
spring-boot-starter-test
test

添加 

@EnableEurekaServer 注解 到启动类上 配置properties
spring.application.name=spring-cloud-eureka   server.port=8000eureka.client.register-with-eureka=false  表示是否将自己注册到Eureka Server,默认为true。eureka.client.fetch-registry=false  表示是否从Eureka Server获取注册信息,默认为trueeureka.client.serviceUrl.defaultZone=http://localhost:${server.port}/eureka/ 设置与Eureka Server交互的地址,查询服务和注册服务都需要依赖这个地址。默认是http://localhost:8761/eureka ;多个地址可使用 , 分隔。

eureka集群配置    每台注册中心分别又指向其它两个节点即可

---spring:  application:    name: spring-cloud-eureka  profiles: peer1server:  port: 8000eureka:  instance:    hostname: peer1  client:    serviceUrl:      defaultZone: http://peer2:8001/eureka/,http://peer3:8002/eureka/---spring:  application:    name: spring-cloud-eureka  profiles: peer2server:  port: 8001eureka:  instance:    hostname: peer2  client:    serviceUrl:      defaultZone: http://peer1:8000/eureka/,http://peer3:8002/eureka/---spring:  application:    name: spring-cloud-eureka  profiles: peer3server:  port: 8002eureka:  instance:    hostname: peer3  client:    serviceUrl:      defaultZone: http://peer1:8000/eureka/,http://peer2:8001/eureka/

启动

java -jar spring-cloud-eureka-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1java -jar spring-cloud-eureka-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2java -jar spring-cloud-eureka-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer3
二. 服务提供 pom 引入 配置文件
spring.application.name=spring-cloud-producerserver.port=9000eureka.client.serviceUrl.defaultZone=http://localhost:8000/eureka/ 添加注解
@EnableDiscoveryClient
提供服务
@RestControllerpublic class HelloController {        @RequestMapping("/hello")    public String index(@RequestParam String name) {        return "hello "+name+",this is first messge";    }}

 

 

三.服务调用

引入pom

配置

spring.application.name=spring-cloud-consumerserver.port=9001eureka.client.serviceUrl.defaultZone=http://localhost:8000/eureka/ 添加注解 @EnableDiscoveryClient启用服务注册与发现   @EnableFeignClients 启用feign进行远程调用

feign调用实现

@FeignClient(name= "spring-cloud-producer")  远程服务名public interface HelloRemote {    @RequestMapping(value = "/hello")    public String hello(@RequestParam(value = "name") String name);}

web层调用远程服务

@RestControllerpublic class ConsumerController {    @Autowired    HelloRemote HelloRemote;        @RequestMapping("/hello/{name}")    public String index(@PathVariable("name") String name) {        return HelloRemote.hello(name);    }}

将服务注册多个负载均衡

 

转载于:https://www.cnblogs.com/mxz1994/p/8435778.html

你可能感兴趣的文章
关于DataSet事务处理以及SqlDataAdapter四种用法
查看>>
bootstrap
查看>>
http://lorempixel.com/ 可以快速产生假图
查看>>
工程经验总结之吹水"管理大境界"
查看>>
为什么JS动态生成的input标签在后台有时候没法获取到
查看>>
20189210 移动开发平台第六周作业
查看>>
java之hibernate之基于外键的双向一对一关联映射
查看>>
rxjs一句话描述一个操作符(1)
查看>>
第一次独立上手多线程高并发的项目的心路历程
查看>>
ServiceStack 介绍
查看>>
Centos7下载和安装教程
查看>>
无谓的通宵加班之后的思索
查看>>
S1的小成果:MyKTV系统
查看>>
从setting文件导包
查看>>
编写一个函数isMerge,判断一个字符串str是否可以由其他两个字符串part1和part2“组合”而成...
查看>>
union和union all
查看>>
Github 开源:使用控制器操作 WinForm/WPF 控件( Sheng.Winform.Controls.Controller)
查看>>
PMD使用提醒
查看>>
Codeforces 887D Ratings and Reality Shows
查看>>
论文《A Generative Entity-Mention Model for Linking Entities with Knowledge Base》
查看>>