博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring Cloud Eureka 服务治理
阅读量:5886 次
发布时间:2019-06-19

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

Spring Cloud Eureka 是对 Netflix Eureka 的二次封装,增加了 Spring Boot 风格的自动化配置,只需简单地引入依赖和注解就能提供完整的服务注册和服务发现。

服务中心

服务中心又称注册中心,集中式地管理各个服务的注册和发现。

在服务较多、每个服务又多份部署的的情况下,手动管理服务间的调用关系既麻烦又容易出错,其中一个服务改动,就会牵连好几个服务跟着重启。

在包含服务中心的微服务体系中,每个服务都将自身的信息注册到服务中心,各个服务间的调用都需要通过服务中心来调用,服务间调用关系有服务中心来统一管理。

Eureka

Eureka 采用 C-S 设计架构,Eureka Server 作为服务注册、发现的服务器,系统中其他服务使用 Eureka Client 连接到 Eureka Server 并维持心跳。

Eureka-Server 实践

1.添加 Eureka 服务端依赖

org.springframework.cloud
spring-cloud-starter-eureka-server
复制代码

2.使用注解启用 Eureka Server

package com.ulyssesss.eurekaserver;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;@EnableEurekaServer@SpringBootApplicationpublic class EurekaServerApplication {    public static void main(String[] args) {        SpringApplication.run(EurekaServerApplication.class, args);    }}复制代码

3.添加 Eureka 相关配置

server.port=8761spring.application.name=eureka-server# 多节点部署时各节点 url 用逗号分隔eureka.client.service-url.defaultZone=http://localhost:8761/eureka/,http://localhost:8762/eureka/# 关闭自我保护# 如 15 分钟内统计的心跳失败比例超过 85%,Eureka 会将所有实例信息保护起来,单机调试很容易出发保护机制# eureka.server.enable-self-preservation=false# 不向注册中间检索服务# eureka.client.fetch-registry=false# 不向注册中心注册自己# eureka.client.register-with-eureka=false复制代码

Eureka-Client 实践

1.添加 eureka 客户端依赖

org.springframework.cloud
spring-cloud-starter-eureka
复制代码

2.使用注解启用 Eureka Client

package com.ulyssesss.eurekaclient;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.client.discovery.EnableDiscoveryClient;@EnableDiscoveryClient@SpringBootApplicationpublic class EurekaClientApplication {    public static void main(String[] args) {        SpringApplication.run(EurekaClientApplication.class, args);    }}复制代码

3.添加 Eureka 相关配置

spring.application.name=eureka-clienteureka.client.service-url.defaultZone=http://localhost:8761/eureka/# 服务续约任务调用间隔,默认为30秒# eureka.instance.lease-renewal-interval-in-seconds=20# 服务失效时间,默认为90秒# eureka.instance.lease-expiration-duration-in-seconds=60# 服务获取任务调用间隔,默认为30秒# eureka.client.registry-fetch-interval-seconds=20复制代码

欢迎 Star

转载于:https://juejin.im/post/5adee7cd6fb9a07ac23a616e

你可能感兴趣的文章
WinForm程序中两份mdf文件问题的解决
查看>>
程序计数器、反汇编工具
查看>>
Android N: jack server failed
查看>>
如何将lotus 通讯簿导入到outlook 2003中
查看>>
WinForm 应用程序中开启新的进程及控制
查看>>
js replace,正则截取字符串内容
查看>>
Thinkphp5笔记三:创建基类
查看>>
查询反模式 - GroupBy、HAVING的理解
查看>>
Android中EditText,Button等控件的设置
查看>>
TextKit简单示例
查看>>
网格最短路径算法(Dijkstra & Fast Marching)(转)
查看>>
软链接和硬链接详解
查看>>
Redis_master-slave模式
查看>>
彻底卸载删除微软Win10易升方法
查看>>
SWT/JFACE之环境配置(一)
查看>>
应用程序日志中总是说MS DTC无法正确处理DC 升级/降级事件,是什么意思
查看>>
mybatis数据处理的几种方式
查看>>
作业2
查看>>
远程主机探测技术FAQ集 - 扫描篇
查看>>
C++中调用python函数
查看>>