三(2)、springcloud之Eureka集群配置
1)原理说明**
- 服务启动后向Eureka注册,Eureka Server会将注册信息向其他Eureka Server进行同步,当服务消费者要调用服务提供者,则向服务注册中心获取服务提供者地址,然后会将服务提供者地址缓存在本地,下次再调用时,则直接从本地缓存中取,完成一次调用。
 - 当服务注册中心Eureka Server检测到服务提供者因为宕机、网络原因不可用时,则在服务注册中心将服务置为DOWN状态,并把当前服务提供者状态向订阅者发布,订阅过的服务消费者更新本地缓存。
 - 服务提供者在启动后,周期性(默认30秒)向Eureka Server发送心跳,以证明当前服务是可用状态。Eureka Server在一定的时间(默认90秒)未收到客户端的心跳,则认为服务宕机,注销该实例。
 

- 处于不同节点的eureka通过Replicate进行数据同步
 - Application Service为服务提供者
 - Application Client为服务消费者
 - Make Remote Call完成一次服务调用
 
2)新建其它Eureka注册中心
新建microservicecloud-eureka-7002/microservicecloud-eureka-7003,步骤与之前一样,将microservicecloud-eureka-7001Eureka注册中心的内容复制到7002,7002,参考:上一篇博客
注意这里:要修改主启动类,
2)修改映射配置
修改C:\Windows\System32\drivers\etc路径下的hosts文件

如果是单节点的注册中心,是无法保证系统稳定性的,当然现在项目部署架构不可能是单节点的。集群节点的部署思路:通过运行多个实例并请求他们相互注册,来完成注册中心的高可用性
3)3台eureka服务器的yml配置
7001:
server:
  port: 7001
eureka:
  instance:
    hostname: eureka7001.com #eureka服务端的实例名称
  client:
    register-with-eureka: false     #false表示不向注册中心注册自己。
    fetch-registry: false     #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
    service-url:
      #单机 defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/       #设置与Eureka Server交互的地址查询服务和注册服务都需要依赖这个地址(单机)。
      defaultZone: http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/
7002:
server:
  port: 7002
eureka:
  instance:
    hostname: eureka7002.com #eureka服务端的实例名称
  client:
    register-with-eureka: false     #false表示不向注册中心注册自己。
    fetch-registry: false     #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
    service-url:
      #defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/       #设置与Eureka Server交互的地址查询服务和注册服务都需要依赖这个地址。
      defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7003.com:7003/eureka/
7003:
server:
  port: 7003
eureka:
  instance:
    hostname: eureka7003.com #eureka服务端的实例名称
  client:
    register-with-eureka: false     #false表示不向注册中心注册自己。
    fetch-registry: false     #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
    service-url:
      #defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/       #设置与Eureka Server交互的地址查询服务和注册服务都需要依赖这个地址。
      defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/
4)microservicecloud-provider-dept-8001微服务provider发布到上面3台eureka集群配置中
server:
  port: 8001
mybatis:
  config-location: classpath:mybatis/mybatis.cfg.xml  # mybatis配置文件所在路径
  type-aliases-package: com.jiatp.springcloud.entity  # 扫描此包下的entity ->所有entity别名类所在包
  mapper-locations:
  - classpath:mybatis/mapper/**/*.xml                 # mapper映射文件
spring:
  application:
    name: microservicecloud-dept                      # 很重要,对外暴露的微服务名字
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource      # 数据源类型
    driver-class-name: org.gjt.mm.mysql.Driver        # 数据库驱动包
    url: jdbc:mysql://localhost:3306/cloudDB01?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone = GMT
    username: root
    password: 123456
    dbcp2:
      min-idle: 5                                     # 数据库连接池的最小维持连接数
      initial-size: 5                                 # 初始化连接数
      max-idle: 5                                     # 最大连接数
      max-wait-millis: 200                            # 等待连接获取的最大超时时间
eureka:
  client:                                             # 客户端注册进eureka服务列表内
    serviceUrl:
      defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/
  instance:
    instance-id: microservicecloud-dept8001           # 自定义服务名称信息
    prefer-ip-address: true                           # 访问路径可以显示IP地址 
info:
  app.name: jiatp-microservicecloud
  company.name: www.jiatp.club
  build.artifactId: $project.artifactId$
  build.version: $project.version$
测试:

三(2)、springcloud之Eureka集群配置的更多相关文章
- Spring Cloud Eureka集群配置及注意事项(Greenwich版本)
		
Spring Cloud Eureka集群配置及注意事项(Greenwich版本) 一·概述 Spring Cloud Netflix Eureka 是一个提供服务注册与发现的套件.服务提供者只需要将 ...
 - SpringCloud之Eureka集群
		
前面我们介绍了SpringCloud注册中心Eureka,但是存在一个单点故障的问题,一个注册中心远远不能满足实际的生产环境,现在我们介绍一下如何搭建一个Eureka集群. 一:集群环境搭建 我们先建 ...
 - F版本SpringCloud 5—Eureka集群和自我保护机制
		
源码地址:https://gitee.com/bingqilinpeishenme/Java-Tutorials 前言 上篇文章中,通过代码搭建了Eureka注册中心和客户端,是Eureka的简单应用 ...
 - SpringCloud学习之eureka集群配置
		
一.集群方案及部署思路: 如果是单节点的注册中心,是无法保证系统稳定性的,当然现在项目部署架构不可能是单节点的. 集群节点的部署思路:通过运行多个实例并请求他们相互注册,来完成注册中心的高可用性(结伴 ...
 - 【Eureka篇三】Eureka集群配置(5)
		
1. 新建子模块microservicecloud-eureka-7002(后面简称7002) 和 microservicecloud-eureka-7003(后面简称为7003),packaging ...
 - SpringCloud搭建Eureka集群
		
第一部分:搭建Eureka Server集群 Step1:新建工程,引入依赖 依赖文件pom.xml如下 <?xml version="1.0" encoding=" ...
 - MongoDB 学习笔记(三) MongoDB (replica set) 集群配置
		
MongoDB Replica Sets的结构类似于以集群,完全可以把他当成一个集群,因为他确实与集群实现的作用是一样的:如果其中一个节点出现故障,其他的节点会马上将业务接管过来.而无需停机操作 Mo ...
 - 十六、springcloud(二)Eureka集群
		
1.创建子工程spring-cloud-peer(jar) 2.创建application-peer1.properties,application-peer2.properties applicat ...
 - springcloud中eureka集群unavailable-replicas
		
unavailable-replicas 配置了集群,但是在注册中心显示另外的几个集群地址是不可用的: 1 首先需要再host中添加服务名映射,如果应映射了再看是否在yml中配置了prefer-ip- ...
 
随机推荐
- 转 MySQL数据库面试问题集锦
			
如何设计一个高并发的系统 ① 数据库的优化,包括合理的事务隔离级别.SQL语句优化.索引的优化 ② 使用缓存,尽量减少数据库 IO ③ 分布式数据库.分布式缓存 ④ 服务器的负载均衡 锁的优化策略 ① ...
 - Java-技术专区-技术栈分析辨证方法
			
1.好多公司动不动就JVM.高并发.分布式.微服务等等,我没有实际经验. 2.从事Java开发三年了,目前的职位是高级Java工程师,感觉技术和工资都到了瓶颈,对以后的发展方向有些迷茫. 3.加班时间 ...
 - Python之向函数传递元组和字典
			
也可以在函数定义时加上这两个参数用以接收多余的参数哦~
 - Pyinstaller 打包exe 报错 "failed to execute script XXX"的一种解决方案
			
最近用PyQt5写了一个界面小程序,需要打包成exe给到其他windows上使用,一开始使用python 3.7 64位,用pyinstaller打包exe,在64位机上运行正常. 但是目标电脑是32 ...
 - JAXB读写xml
			
一.注解 在Java模型中的创建与 xml 文件对应的节点和属性需要用注解来表示 @XmlRootElement 作用:将一个Java类映射为一段XML的根节点参数: name 定义这个根节点 ...
 - JavaScript 绑定事件时传递数据
			
var data = { name: 'Ruchee', email: 'my@ruchee.com' }; data.handleEvent = function (e) { console.log ...
 - rabbitmq AmqpClient 使用Topic 交换机同一个channel 同时多个队列 ,多个交换机,C++代码示例
			
// 消息发送 bool PublishExchangeTopicMulti(const std::string &strUri) { AmqpClient::Channel::ptr_t c ...
 - 【Javascript DOM读书笔记】chapter8  充实文档内容
			
本章目的 作者举出了第一个实例,为一篇 web 页面动态创建缩略语(abbreviation)的列表.大家知道,我们可以使用 <abbr>...</abbr> 来指示一个缩略语 ...
 - idea 右键没有class文件的问题,,
			
修改文件夹的 属性 蓝色即为java代码,,绿色为test,,等等
 - hbuilder 配置app为沉浸式状态栏