Spring Cloud Eureka高可用(二)

简介: Eureka 服务器配置高可用Eureka服务器1.配置公用Eureka 服务器application.properties##定义应用名称spring.application.name=spring-cloud-eureka-server##配置端口##通过启动参数覆盖9090端口#server.

Eureka 服务器

配置高可用Eureka服务器

1.配置公用Eureka 服务器
application.properties


##定义应用名称
spring.application.name=spring-cloud-eureka-server
##配置端口
##通过启动参数覆盖9090端口
#server.port=9090
##取消向注册中心注册
eureka.client.register-with-eureka=true
##取消向注册中心获取注册信息,实例信息
eureka.client.fetch-registry=true
##解决Peer/集群连接问题
#eureka.instance.hostname=localhost
#eureka.client.serviceUrl.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka

2.配置Peer 1 Eureka服务器
application-peer1.properties(单机情况相当于profile="peer1")


##peer1完整配置
##配置端口
#peer1端口9090
server.port=9090
#peer2主机:localhost 端口9091
peer2.server.host=localhost
peer2.server.port=9091
#Eureka注册信息
eureka.instance.hostname=localhost
eureka.client.serviceUrl.defaultZone=http://${peer2.server.host}:${peer2.server.port}/eureka

启动Peer1 Eureka服务器
--spring.profiles.active=peer1,相当于读取了application-peer1.properties和application.properties
aa1

3.配置Peer 2 Eureka服务器
application-peer2.properties(单机情况相当于profile="peer2")


##peer2完整配置
##配置端口
#peer2端口9090
server.port=9091
#peer1主机:localhost 端口9090
peer1.server.host=localhost
peer1.server.port=9090
##取消向注册中心注册
#eureka.client.register-with-eureka=false
##取消向注册中心获取注册信息,实例信息
#eureka.client.fetch-registry=false
##解决Peer/集群连接问题
#Eureka注册信息
eureka.instance.hostname=localhost
eureka.client.serviceUrl.defaultZone=http://${peer1.server.host}:${peer1.server.port}/eureka

启动Peer2 Eureka服务器
--spring.profiles.active=peer2,相当于读取了application-peer2.properties和application.properties
效果如图:
aa2

Spring cloud Consul

Consul组件

  • 服务发现(Service Discovery)
  • 健康检查(Health Check)
  • 键值存储(KV Store)
  • 多数据中心(Multi Datacenter)
    理解Raft协议:http://thesecretlivesofdata.com/raft/
  • Agent的启动
    我的操作系统是windows所以下面的步骤是windows下安装步骤

1.首先下载consul的windows版本
2.解压到指定文件夹
我的文件夹路径是D:\consul
3.配置环境变量
在path下添加

aa3

4.启动consul
cmd下输入consul agent -dev

aa4

5.在浏览器中输入localhost:8500出现下图所示则为正确
aa5

consul agent -dev
查看本机信息
consul members
创建K/V
consul kv put abc 123
获取K/V
consul kv get abc

  • UI控制台
    localhost:8500/ui

Spring Cloud整合Consul

1.引入依赖

<?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">
   <modelVersion>4.0.0</modelVersion>
   <parent>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-parent</artifactId>
      <version>2.1.3.RELEASE</version>
      <relativePath/> <!-- lookup parent from repository -->
   </parent>
   <groupId>com.example</groupId>
   <artifactId>spring-cloud-lesson-consul-client</artifactId>
   <version>0.0.1-SNAPSHOT</version>
   <name>spring-cloud-lesson-consul-client</name>
   <description>Demo project for Spring Boot</description>

   <properties>
      <java.version>1.8</java.version>
      <spring-cloud.version>Greenwich.SR1</spring-cloud.version>
   </properties>

   <dependencies>
      <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-actuator</artifactId>
      </dependency>
      <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-web</artifactId>
      </dependency>
      <dependency>
         <groupId>org.springframework.cloud</groupId>
         <artifactId>spring-cloud-starter-consul-discovery</artifactId>
      </dependency>

      <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-test</artifactId>
         <scope>test</scope>
      </dependency>
   </dependencies>

   <dependencyManagement>
      <dependencies>
         <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>${spring-cloud.version}</version>
            <type>pom</type>
            <scope>import</scope>
         </dependency>
      </dependencies>
   </dependencyManagement>

   <build>
      <plugins>
         <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
         </plugin>
      </plugins>
   </build>

</project>

2.激活服务发现客户端
使用@EnableDiscoveryClient注解

package com.example.springcloudlessonconsulclient;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

@SpringBootApplication
@EnableDiscoveryClient
public class SpringCloudLessonConsulClientApplication {

   public static void main(String[] args) {
      SpringApplication.run(SpringCloudLessonConsulClientApplication.class, args);
   }

}

利用服务发现API操作
配置应用信息

##应用名称
spring.application.name=spring-cloud-consul
##服务端口
server.port=8080
##配置连接Consul服务器的配置
#Consul主机地址
spring.cloud.consul.host=localhost
##Consul服务端口
spring.cloud.consul.port=8500
目录
相关文章
|
11天前
|
消息中间件 监控 Java
如何将Spring Boot + RabbitMQ应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot + RabbitMQ应用程序部署到Pivotal Cloud Foundry (PCF)
26 6
|
11天前
|
Java 关系型数据库 MySQL
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
30 5
|
11天前
|
缓存 监控 Java
如何将Spring Boot应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot应用程序部署到Pivotal Cloud Foundry (PCF)
22 5
|
2月前
|
负载均衡 算法 Nacos
SpringCloud 微服务nacos和eureka
SpringCloud 微服务nacos和eureka
67 0
|
5月前
|
资源调度 Java 调度
Spring Cloud Alibaba 集成分布式定时任务调度功能
Spring Cloud Alibaba 发布了 Scheduling 任务调度模块 [#3732]提供了一套开源、轻量级、高可用的定时任务解决方案,帮助您快速开发微服务体系下的分布式定时任务。
15025 33
|
3月前
|
负载均衡 Java Nacos
SpringCloud基础1——远程调用、Eureka,Nacos注册中心、Ribbon负载均衡
微服务介绍、SpringCloud、服务拆分和远程调用、Eureka注册中心、Ribbon负载均衡、Nacos注册中心
SpringCloud基础1——远程调用、Eureka,Nacos注册中心、Ribbon负载均衡
|
4月前
|
负载均衡 监控 Java
SpringCloud常见面试题(一):SpringCloud 5大组件,服务注册和发现,nacos与eureka区别,服务雪崩、服务熔断、服务降级,微服务监控
SpringCloud常见面试题(一):SpringCloud 5大组件,服务注册和发现,nacos与eureka区别,服务雪崩、服务熔断、服务降级,微服务监控
SpringCloud常见面试题(一):SpringCloud 5大组件,服务注册和发现,nacos与eureka区别,服务雪崩、服务熔断、服务降级,微服务监控
|
5月前
|
负载均衡 Java Spring
Spring cloud gateway 如何在路由时进行负载均衡
Spring cloud gateway 如何在路由时进行负载均衡
546 15
|
5月前
|
Java Spring
spring cloud gateway在使用 zookeeper 注册中心时,配置https 进行服务转发
spring cloud gateway在使用 zookeeper 注册中心时,配置https 进行服务转发
123 3