eureka 集群的实现方式?

Posted zxf6

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了eureka 集群的实现方式?相关的知识,希望对你有一定的参考价值。

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

 

    eureka集群版  (正宗的eureka!2.1.配置eureka的集群之前首先先配置HOSTNAME和IP的映射
    
        具体的路径。

//                C:WindowsSystem32driversetc
        
        在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集群的关系。

 

技术图片

 

 

以上是关于eureka 集群的实现方式?的主要内容,如果未能解决你的问题,请参考以下文章

配置 Eureka Server 集群

配置 Eureka Server 集群

Eureka(三)eureka集群的实现原理

spring cloud 搭建注册中心Eureka(集群模式)

《SpringCloud超级入门》使用Eureka集群搭建《十三》

Eureka非分区集群部署