服务注册中心 eureka 搭建

服务注册中心,netfix公司的,出道即巅峰,可惜没人维护了。
1.x 可用,2.x 使用后果自负。本文讲eureka服务中心的搭建,分为单机版本和eureka集群版本。以及服务消费者,服务提供者如何入驻注册中心。

eureka

    • eureka pom
    • eureka 服务server端的注册中心, single
    • eureka的集群搭建
    • 客户端如何入驻eureka集群
    • eureka的自我保护机制

eureka pom

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>cloud2020</artifactId><groupId>top.bitqian</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><!-- 127.0.0.1 eureka7001.com --><artifactId>cloud-eureka-server7001</artifactId><dependencies><!-- eureka server~ --><!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-eureka-server --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency><dependency><groupId>top.bitqian</groupId><artifactId>cloud-api-commons</artifactId><version>${project.version}</version></dependency><!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web  --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-devtools --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency><!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-test --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId></dependency></dependencies></project>

eureka 服务server端的注册中心, single

server:port: 7001# 单机版eureka
eureka:instance:hostname: localhost  #eureka服务端的实例名字client:register-with-eureka: false    #表识不向注册中心注册自己fetch-registry: false   #表示自己就是注册中心,职责是维护服务实例,并不需要去检索服务service-url:defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/#设置与eureka server交互的地址查询服务和注册服务都需要依赖这个地址

eureka的集群搭建

  1. 更改host文件
127.0.0.1 http://eureka7001.com
127.0.0.1 http://eureka7002.com
  1. yaml 相互注册,相互守望
server:port: 7001# 服务注册集群 eureka服务注册中心地址7001
eureka:instance:hostname: eureka7001.com #eureka服务端的实例名字client:register-with-eureka: false    #表识不向注册中心注册自己fetch-registry: false   #表示自己就是注册中心,职责是维护服务实例,并不需要去检索服务service-url:defaultZone: http://eureka7002.com:7002/eureka/     #设置与eureka server交互的地址查询服务和注册服务都需要依赖这个地址
server:port: 7002# 服务注册集群 eureka服务注册中心地址7002
eureka:instance:hostname: eureka7002.com #eureka服务端的实例名字client:register-with-eureka: false    #表识不向注册中心注册自己fetch-registry: false   #表示自己就是注册中心,职责是维护服务实例,并不需要去检索服务service-url:defaultZone: http://eureka7001.com:7001/eureka/     #设置与eureka server交互的地址查询服务和注册服务都需要依赖这个地址

客户端如何入驻eureka集群

  1. 消费者
# 暴露80端口,消费者调用8001 支付接口
server:port: 80# 服务消费者 client
spring:application:name: cloud-order-serviceeureka:client:register-with-eureka: true # 是否注册到服务中心~fetchRegistry: trueservice-url:# 将80消费者服务 发布到7001, 7002端口的eureka集群服务里面defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka  #集群版
  1. 两个服务提供者
eureka:client:register-with-eureka: truefetchRegistry: trueservice-url:# 将支付服务8001发布到7001, 7002 两台eureka集群配置中defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka  #集群版
# eureka客户端 可以又多个
eureka:client:register-with-eureka: truefetchRegistry: trueservice-url:# 将支付服务8001发布到7001, 7002 两台eureka集群配置中defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka  #集群版

eureka的自我保护机制

eureak 不会删掉,干掉已经挂掉的服务。

      # 自我保护机制出现现象: 服务客户端和eureka server之间在网络分区下进行的保护# 一旦进入保护模式,eureka server将会尝试保护其注册表中的信息, 不会注销掉任何微服务# 某个时刻某一个微服务不可用了, eureka不会进行服务清理, 会对微服务信息进行保存。# 为什么进行保护: 网络是不稳定的, 可能某个服务可能因为短暂的网络拥堵, 导致服务暂停了, 但是服务是健康的。 cap --> ap

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/420463.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jwt, json web token

jwt1. JWT什么是JWTJWT能做什么为什么用JWTJWT结构JWT问题和趋势2. jwt加解密工具&#xff0c;使用pom工具类测试1. JWT 什么是JWT 官方定义 json web token是一个开放标准&#xff08;rfc7519&#xff09;&#xff0c;它定义了一种紧凑的&#xff0c;自包含的方式&#xff0c;…

微信小程序结合Java后端实现登录注册

微信小程序登录微信用户&#xff0c;授权信息&#xff0c;相关实体类微信用户表实体类获取微信的token常量抽取httpClient工具&#xff0c;用于发送请求获取tokennbplus pom工具类请求微信后台&#xff0c;获取openid&#xff0c;返回的是json登录或者注册完整业务实现&#xf…

consul作为服务注册中心

consulconsul下载地址providerorderconsul 由go语言编写的一款优秀的服务注册中心应用。 https://www.consul.io/intro/index.html 中文文档 功能&#xff1a; 1. 服务发现 提供HTTP和DNS两种发现方式 2. 健康监测 支持多种协议&#xff0c;HTTP、TCP、Docker、Shell脚本定制…

ribbon, restTemplate 负载均衡服务调用

ribbonribbon conceptribbon核心组件IRule模仿源码重写轮询ribbon concept spring cloud ribbon 是基于Netflix ribbon实现的一套客户端负载均衡的工具。 简单的说&#xff0c; Ribbon是Netflix发布的开源项目&#xff0c; 主要功能是提供客户端的软件负载均衡算法和服务 完善的…

ABAP 弹出框自建内容POPUP

可以自己设计内容&#xff0c;仅供参考。转载于:https://www.cnblogs.com/matinal/p/4135269.html

前端学习(1287):node.js的组成

var first hello nodejs; console.log(first);function fn() {console.log("fn函数被调用了"); }fn();for (var i 0; i < 5; i) {console.log(i); }if (true) {console.log(123); } 运行结果

gateway路由网关,zuul的替代品

zuul1 low, zuul2 还没长大呢&#xff0c;不敢用。 gateway 基于netty, spring flux, reactor 异步非阻塞, 快呀。 与spring良好整合, spring社区的呢。官方推荐。https://spring.io/projects/spring-cloud-gateway https://cloud.spring.io/spring-cloud-static/spring-cloud-…

ASP.NET MVC 5 入门教程 (3) 路由route

文章来源&#xff1a; Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc-5-get-started-route.html 上一节&#xff1a;ASP.NET MVC 5 入门教程 (2) 控制器Controller 下一节&#xff1a;ASP.NET MVC 5 入门教程 (4) View和ViewBag 源码下载&#xff1a;点我下载 上一节我…

spring cloud config 配置中心

/(ㄒoㄒ)/~~ 还有好多要学鴨 cloud config分布式面临的系统配置问题&#xff0c;如何解决分为服务端配置与客户端配置客户端不能自动更新git上的配置分布式面临的系统配置问题&#xff0c;如何解决 1. 分布式系统面临的配置问题 微服务意味着要将单体应用中的业务拆分成一个个…

前端学习(1289):nodejs模块化的开发规范

demo02.js const add (n1, n2) > n1 n2exports.add add; demo03.js const a require(./demo02.js); console.log(a); 运行结果

spring cloud bus消息总线

解决的痛点: 当git仓库的配置更新后&#xff0c; cloud config 客户端不能获取到配置信息的问题, 需要手动发送请求&#xff0c;刷新配置。 可以参照 spring cloud config cloud busbus消息总线使用rabbitMQ推送消息原理架构实现使用curl命令刷新客户端的配置bus bus配合conf…

前端学习(1290):nodejs模块化的开发导出另一种方式

demo04.js const greeting _name > hello ${_name};module.exports.greeting greeting; demo05.js const a require(./demo04.js); console.log(a); console.log(a.greeting(geyao)); 运行结果 demo04.js const greeting _name > hello ${_name}; const x 100;…

SpringCloud Stream消息驱动

为啥有这个技术&#xff1f;&#xff1f;&#xff1f; 1. 这个stream是操作消息队列的&#xff0c;简化&#xff0c;学习消息队列的成本降低。 2. 可操作rabbitMQ兔子message queue&#xff0c;kafaka&#xff0c;可理解为jdbc可操作oracle, mysql.. 3. spring家的技术学就完了…

前端学习(1291):nodejs的系统模块文件读取操作

//通过模块对模块进行引入 const fs require(fs); //读取文件 fs.readFile(./demo01.js, utf8, (err, doc) > {console.log(err);console.log(doc); }) 运行结果

解决MySQL忘记root密码

网上有很多关于忘记MySQL root密码的一些文章&#xff0c;里面都有写怎么去解决&#xff0c;但有时觉得写得太恶心&#xff0c;要么一字不漏的抄别人的&#xff0c;要么就说得不清不楚&#xff0c;好了&#xff0c;不吐槽了&#xff0c;以下是解决的整个过程。 首先我们要知道忘…

前端学习(1292):文件写入操作

const fs require(fs);fs.writeFile(./demo.txt, 即将要写入的内容, err > {if (err ! null) {console.log(err);return;}console.log(文件内容写入成功); }) 运行结果