eureka 集群的实现方式?

注意,本文还是对上一篇博客的延续,需要的配置,在前面的博客里面可以找到。

    eureka集群版  (正宗的eureka!)

2.1.配置eureka的集群之前首先先配置HOSTNAME和IP的映射

        具体的路径。

//                C:\Windows\System32\drivers\etc

        在windows系统中修改hosts文件
/*
                127.0.0.1(localhost) eureka01
                127.0.0.1(localhost) eureka02
                127.0.0.1(localhost) eureka03
*/

2.2.在 springcloud-eureka-management 项目下 创建7082和7083项目。

2.3.修改7081、7082、7083的application.properties配置文件和创建各自的启动类。
/*
                eureka.instance.hostname=eureka03
                eureka.client.service-url.defaultZone=http://eureka01:7081/eureka,http://eureka02:7082/eureka
*/

            2.2.4.修改provider-8081项目的application.properties配置文件
                eureka.client.service-url.defaultZone=http://eureka01:7081/eureka,http://eureka02:7082/eureka,http://eureka03:7083/eureka

二、eureka集群的配置文件 和各自的启动类。

package com.aaa.zxf;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@SpringBootApplication
@EnableEurekaServer         // eureka 提供的服务 所有这里的注解是 server
public class ApplicationRun7082 {
    public static void main(String[] args) {
        SpringApplication.run(ApplicationRun7082.class,args);
    }
}

三、修改provider-8081项目的application.properties配置文件

server.port=8081
server.servlet.context-path=/

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

# 我的数据库编码的问题 所以需要添加 characterEncoding=utf8   设置自字符集。
spring.datasource.url=jdbc:mysql://localhost:3306/qy100?characterEncoding=utf8&useSSL=false

spring.datasource.username=root
spring.datasource.password=root
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

mybatis.type-aliases-package=com.aaa.zxf.model
mybatis.mapper-locations=classpath:mapper/*Mapper.xml

#三、
# 配置的是在eureka中显示的服务名(Application)
# 如果不配置,则会显示UNKNOWN(这个是细节!!,以后有问题)
spring.application.name=user-provider

#一、
#配置eureka 的注册地址,将provider 注册进来。
# 单节点模式,eureka的命名空间是 defaultZone
# 客户端的命名空间可以随意指定,就算不一致,也可以注册进eureka 。因为单节点只有
#一台eureka, 此时的命名空间是失效的。

#二、     注意!
# GreenWich RS.3:无论是单点解还是集群模式,eureka的服务器端和客户端的命名空间必要保持一致,否则会报错(找不到服务实例)
#eureka.client.service-url.defaultZone=http://localhost:7081/eureka

# eureka    集群版的配置,需要将自己分别在三个 eureka上去注册。
eureka.client.service-url.defaultZone=http://eureka01:7081/eureka,http://eureka02:7082/eureka,http://eureka03:7083/eureka

#四
#在eureka中配置实例, 就是eureka的status下显示的名字
# 不可以重复!!! 等同于mysql中表的id。
eureka.instance.instance-id=user-provider-8081

#五、
#在eureka中显示ip的地址
eureka.instance.prefer-ip-address=true

#六  点击eureka的服务名显示出该服务的具体信息
# 根据服务的具体内容,作者,公司,以及对整个服务的描述来进行显示
# 相当于在HTML页面上有一个a标签<a href="/actuator/info"></a> --> 跳转到controller:@RequestMapping("/actuator/info")
# !!开头用info!!其他的随便输入

info.autor.name=ZhouXu
info.company.name=AAA
info.project.desription=This is Demo

#七  现在某些微服务就是不需要eureka的自我保护,就想办法把自我保护机制失效
# 规定自己向eureka发送心跳的时间  单位是秒
eureka.instance.lease-renewal-interval-in-seconds=5

#eureka.instance.lease-renewal-interval-in-seconds=5

# 当eureka最后一次检测到心跳的时间间隔(单位是秒)
# eg:15:05:20是最后一次检测到心跳-->检测8秒之后还是无法检测心跳的时候直接剔除
eureka.instance.lease-expiration-duration-in-seconds=8

图解eureka集群的关系。

原文地址:https://www.cnblogs.com/ZXF6/p/11614301.html

时间: 2024-10-09 02:13:00

eureka 集群的实现方式?的相关文章

eureka集群基于DNS配置方式

最近在研究spring cloud eureka集群配置的时候碰到问题:多台eureka server如果需要互相注册,需要在配置文件中将其他服务器地址配置写死.同样客户端启用服务发现功能(eureka client)也需要配置服务端地址列表(其实eureka server与其他eureka server通信也是用的是eureka client组件).按照官方案例提供3台server,如果现在需要增加第四台,第五台...那么问题就来了,所有eureka client的serverUrls列表是否

微服务架构:Eureka集群搭建

版权声明:本文为博主原创文章,转载请注明出处,欢迎交流学习! 服务注册.发现是微服务架构的关键原理之一,由于微服务架构是由一系列职责单一的细粒度服务构成的网状结构,服务之间通过轻量机制进行通信,这就必然引入一个服务注册发现的问题,也就是说服务提供方要注册报告服务地址,服务调用方要能发现目标服务.在我们的微服务架构中我们采用了Eureka来完成微服务的注册与发现.微服务通过Eureka进行注册,服务调用方通过Eureka找到目标服务.由于服务提供方以集群方式提供服务,Eureka也采用集群的方式来

基于dns搭建eureka集群

eureka集群方案: 1.通常我们部署的eureka节点多于两个,根据实际需求,只需要将相邻节点进行相互注册(eureka节点形成环状),就达到了高可用性集群,任何一个eureka节点挂掉不会受到影响. 2.可能会有初学者和我一样,一开始的时候没有完全理解eureka集群的原理,直接把每个eureka节点的url写进配置文件,期望所有的eureka节点进行相互注册.实际上,节点间进行信息同步的时候,只会选取配置文件第一个eureka的url,除非发生url错误,才会依次选取有效url进行信息同

Spring-Cloud学习之Eureka集群搭建

一.为什么需要集群 上一篇文章讲解了如何搭建单个节点的eureka,这篇讲解如何搭建eureka集群,这里的集群还是本地不同的端口执行三个eureka,因为条件不要允许,没有三台电脑,所以大家将就一下吧,eureka集群的目的就是防止一个点故障导致,整个服务瘫痪的问题,成为单点故障,因为一个点出问题,还有另一个点顶上去,代替这个点工作,所以集群也实现了高可用.高性能 二.集群的原理 每一个注册点都配置有其它点的url,能够与其他server点进行数据的同步,当服务向一个点注册时,该店就会把该服务

ehcache 集群使用 rmi方式 有图有真想

ehcache 有几种方式集群,rmi,jgroup还有jms:这里讲一下ehcache的使用 ehcache 使用rmi方式复制缓存是可取的,原因如下: 1.rmi是java 默认的远程机制 2.可以调优tcp选项 3.Elements因为要存到磁盘,所以肯定是早已序列化.所以不需要借助xml格式化什么的 4.通过配置可以通过防火墙 rmi方式集群交互图: Ehcache的rmi方式是一种点对点的协议,因此它会产生很多局域网的内部通信,当然Ehcache会通过一种异步批处复制理机制类解决 如果

SpringCloud之Eureka集群

前面我们介绍了SpringCloud注册中心Eureka,但是存在一个单点故障的问题,一个注册中心远远不能满足实际的生产环境,现在我们介绍一下如何搭建一个Eureka集群. 一:集群环境搭建 我们先建两个注册中心工程,一个叫eureka_register_master,一个叫eureka_register_salve.master的端口是7998,salve的端口是7999. eureka_register_master的配置文件application.properties如下: server.

eureka集群高可用配置

譬如eureka.client.register-with-eureka和fetch-registry是否要配置,配不配区别在哪里:eureka的客户端添加service-url时,是不是需要把所有的eureka的server地址都写上,还是只需要写一个server就可以了(因为server之间已经相互注册了)?如果写上了所有的server地址,那相当于将每个client服务都往所有的server都添加了一遍,那还配置server间的相互注册有什么意义? 上面的这些问题在多数讲eureka集群教

kubernetes (K8S) 集群的搭建方式

kubernetes (K8S) 集群的搭建方式有两种: 守护进程模式和容器模式 (请注意看图,不一样的) 容器的编排管理工具,当然推荐使用容器来部署了.不过容器镜像是在 Google 云上的,需要各位各显神通了. container部署: systemd模式部署: 原文地址:https://www.cnblogs.com/liuxgcn/p/11154259.html

springcloud费话之Eureka集群

  目录: springcloud费话之Eureka基础 springcloud费话之Eureka集群 springcloud费话之Eureka服务访问(restTemplate) springcloud费话之Eureka接口调用(feign) springcloud费话之断路器(hystrix in feign) 一.容灾server集群 复制上例中的server项目两个,分别命名为x-server2和x-server3,修改yml配置 ①端口:三个服务器的端口分别为9010,9011,901