3.3 集群配置

一、eureka集群配置

这里采用了3个eureka

1. 新建microservicecloud-eureka-7002/microservicecloud-eureka-7003

(1)步骤:在父工程microservicecloud上右键 -> new -> maven module -> microservicecloud-eureka-7002  -> jar

      在父工程microservicecloud上右键 -> new -> maven module -> microservicecloud-eureka-700  -> jar

(2)修改7002的pom.xml为:将7001的pom.xml拷贝修改即可

<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>com.ning.springcloud</groupId>
    <artifactId>microservicecloud</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>microservicecloud-eureka-7002</artifactId>

  <dependencies>
   <!--告诉Springboot本微服务是eureka-server服务端 -->
   <dependency>
     <groupId>org.springframework.cloud</groupId>
     <artifactId>spring-cloud-starter-eureka-server</artifactId>
   </dependency>
   <!-- 修改后立即生效,热部署 -->
   <dependency>
     <groupId>org.springframework</groupId>
     <artifactId>springloaded</artifactId>
   </dependency>
   <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-devtools</artifactId>
   </dependency>
  </dependencies>

</project>

修改7003的pom.xml为:

<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>com.ning.springcloud</groupId>
    <artifactId>microservicecloud</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>microservicecloud-eureka-7003</artifactId>

  <dependencies>
   <!--告诉Springboot本微服务是eureka-server服务端 -->
   <dependency>
     <groupId>org.springframework.cloud</groupId>
     <artifactId>spring-cloud-starter-eureka-server</artifactId>
   </dependency>
   <!-- 修改后立即生效,热部署 -->
   <dependency>
     <groupId>org.springframework</groupId>
     <artifactId>springloaded</artifactId>
   </dependency>
   <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-devtools</artifactId>
   </dependency>
  </dependencies>

</project>

(3)修改7002和7003的主启动类

package com.ning.springcloud;

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

@SpringBootApplication
@EnableEurekaServer // EurekaServer服务器端启动类,接受其它微服务注册进来
public class EurekaServer7002_App {
    public static void main(String[] args) {
        SpringApplication.run(EurekaServer7002_App.class, args);
    }
}

package com.ning.springcloud;

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

@SpringBootApplication
@EnableEurekaServer // EurekaServer服务器端启动类,接受其它微服务注册进来
public class EurekaServer7003_App {
    public static void main(String[] args) {
        SpringApplication.run(EurekaServer7003_App.class, args);
    }
}

(4) 修改映射配置

做域名将映射:

在C:\Windows\System32\drivers\etc的hosts文件中加入:

127.0.0.1 eureka7001.com
127.0.0.1 eureka7002.com
127.0.0.1 eureka7003.com

(5)3台eureka服务器的yml配置

a. 7001的.yml文件修改为:文件中注释的两个地方为以前单机版的

server:
  port: 7001

eureka:
  instance:
#    hostname: localhost #eureka服务端的实例名称
    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/
      

b. 7002的.yml文件为:

server:
  port: 7002

eureka:
  instance:
#    hostname: localhost #eureka服务端的实例名称
    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/
      

c. 7003的.yml文件为:

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/

(5)microservicecloud-provider-dept-8001微服务发布到上面3台eureka集群配置中

8001入住到7001修改为8001,同时入住到7001、7002、7003

修改8001的.yml文件为:文件中注释掉的1行为修改的

server:
  port: 8001  # 此服务的端口

mybatis:                                                    # MyBatis整合
  config-location: classpath:mybatis/mybatis.cfg.xml        # mybatis配置文件所在路径
  type-aliases-package: com.ning.springcloud.entities       # 所有Entity别名类所在包
  mapper-locations:
  - classpath:mybatis/mapper/**/*.xml                       # mapper映射文件

spring:                                                     # spring的整合
   application:
    name: microservicecloud-dept                            # 对外暴露的微服务的名字
   datasource:
    type: com.alibaba.druid.pool.DruidDataSource            # 当前数据源操作类型
    driver-class-name: org.gjt.mm.mysql.Driver              # mysql驱动包
    url: jdbc:mysql://47.98.202.86:3306/cloudDB01              # 数据库名称
    username: root
    password: root
    dbcp2:
      min-idle: 5                                           # 数据库连接池的最小维持连接数
      initial-size: 5                                       # 初始化连接数
      max-total: 5                                          # 最大连接数
      max-wait-millis: 200                                  # 等待连接获取的最大超时时间

eureka:
  client: #客户端注册进eureka服务列表内
    service-url:
#      defaultZone: http://localhost:7001/eureka
      defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/
  instance:  # 给入住进eureka的服务做别名处理
    instance-id: microservicecloud-dept8001
    prefer-ip-address: true     #访问路径可以显示IP地址

info:
  app.name: ning-microservicecloud
  company.name: www.ning.com  # 公司名字
  build.artifactId: $project.artifactId$
  build.version: $project.version$

(6)测试:

  分别启动eureka7001、7002、7003

  启动8001

  访问http://eureka7001.com:7001/

访问http://eureka7002.com:7002/:同理

访问http://eureka7003.com:7003/:同理

原文地址:https://www.cnblogs.com/shiyun32/p/9868060.html

时间: 2024-10-07 12:37:25

3.3 集群配置的相关文章

java:redis(redis的集群配置)

服务器集群作用: 服务器集群就是指将很多服务器集中起来一起进行同一种服务,在客户端看来就象是只有一个服务器 集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个机器坏了整个系统还是能正常运行.一旦在服务器上安装并运行了群集服务,该服务器即可加入群集.群集化操作可以减少单点故障数量,并且实现了群集化资源的高可用性. redis的集群配置: (.编辑network文件 HOSTNAME=redis(自己定义的hostname) vi /etc/sysc

ELK5.3+Kafka集群配置

[一]资源准备 # 3台4C*8G, 安装Zookeeper.Kafka.Logstash--Broker(input: filebeat; output: Kafka) 10.101.2.23 10.101.2.24 10.101.2.25 # 2台4C*8G, 安装Logstash--Indexer(input: Kafaka; output: Elasticsearch) 10.101.2.26 10.101.2.27 # 3台8C*16G, 安装Elasticsearch 10.101.

nginx+tomcat集群配置(1)---根目录设定和多后端分发配置

前言: 对于javaer而言, nginx+tomcat集群配置, 已然成了web应用部署的主流. 大公司如此, 小公司亦然. 对于个人开发者而言, 资源有限, 往往多个web应用混部于一台服务器(云主机), 如何隔离访问这些服务资源? 彼此又不影响呢? nginx来为你排忧解难, ^_^. 本文将介绍tomcat的简单配置和部署, 以及nginx作为反向代理, 如何分流. 基础架构: 不成文的约定: 1). 一个tomcat容器部署一个webapp应用实例 2). url根目录访问webapp

企业级应用WebLogic11g集群配置与项目实施_WebLogic部署培训教程

企业级应用WebLogic11g集群配置与实项目施_风哥版WebLogic部署培训教程3 能完成企业级的WebLogic11g集群实施和维护工作,如下:1.了解企业级应用系统项目实施流程2.虚拟机配置与4台Linux主机系统的克隆安装3.熟悉Linux操作系统平台上的WebLogic集群安装4.熟悉WebLogic集群域的配置5.熟悉WebLogic集群JDBC连接池的配置6.熟悉WebLogic集群应用的布署与测试7.熟悉WebLogic的日常维护与性能优化8.熟悉JDK的安装与参数调整 视频

企业级应用WebLogic12c集群配置与项目实施_WebLogic部署培训教程

企业级应用WebLogic12c集群配置与项目实施_WebLogic部署培训教程 企业级应用WebLogic12c集群配置与实施_风哥主讲WebLogic部署培训教程4 能完成企业级的WebLogic12c集群实施和维护工作,如下:1.了解企业级应用系统项目实施流程2.虚拟机配置与2台Windows主机系统的克隆安装3.熟悉Windows操作系统平台上的WebLogic集群安装4.熟悉WebLogic集群域的配置5.熟悉WebLogic集群JDBC连接池的配置6.熟悉WebLogic集群应用的布

WildFly8.1(JBoss)+mod_cluster(Apache)集群配置

继上次使用mod_jk进行了Apache+JBoss集群配置之后,由于JBoss5.1启动过于缓慢,所以开始尝试使用最新的WildFly8.1进行配置(WildFly就是JBoss,在JBoss7之后改名). 系统环境: Windows 7 SP1(Windows Server 2003已测试,WildFly会有未知问题) 软件环境: JDK 7+(一定要使用7以上,否则WildFly不支持) WildFly 8.1.0(http://wildfly.org/downloads/) mod_cl

apache2.2 + tomcat6 整合以及集群配置整理

运行环境:apache2.2.X + tomcat6.0.X + window xp 1. 安装Apache,服务启动后在浏览器中输入http://localhost进行测试,如果能看到一个"It works!"的页面就代表Apache已经正常工作了 2. 安装Tomcat,略. 3. Apache配置 由于Apache 2.2.x集成了mod_jk功能,相对于1.3版本,不需要再进行繁琐的worker.properties配置,配置过程大幅简化. 3.1. 在Apache安装目录下找

Hadoop-2.2.0中文文档——MapReduce 下一代 -——集群配置

目的 这份文档描写叙述了怎样安装.配置和管理从几个节点到有数千个节点的Hadoop集群. 玩的话,你可能想先在单机上安装.(看单节点配置). 准备 从Apache镜像上下载一个Hadoop的稳定版本号. 安装 安装一个Hadoop集群,一般包含分发软件到全部集群中的机器上或者是安装RPMs. 一般地,集群中的一台机器被唯一地设计成NameNode,还有一台机器被设置成ResourceManager.这是master(主). 集群中剩下的机器作为DataNode 和 NodeManager.这些是

MySql 集群配置

MYSQL CLUSTER方案介绍 本文的大致框架来自罗志威.黄川的报告, 在它的基础上进行简化和修改一些bug并且添加了主从复制的章节,最后做出该文档 MySQL Cluster 是MySQL适合于分布式计算环境的高实用.高冗余版本.它采用了NDB Cluster 存储引擎,允许在1个 Cluster 中运行多个MySQL服务器.现在mysql cluster 被独立出来, 作为一个专门的产品进行运营, mysql-server-5.6+ 就不在存在对mysql cluster的支持,需要独立

Spring+quartz 实现定时任务job集群配置

为什么要有集群定时任务? 因为如果多server都触发相同任务,又同时执行,那在99%的场景都是不适合的.比如银行每晚24:00都要汇总营业额.像下面3台server同时进行汇总,最终计算结果可能是真实结果的3倍,那对银行来说是无法想象的,完全不可接受. 集群定时任务工作原理 所以为了解决以上问题,每个server把将要及正在运行的job所有状态都即时同步到中央数据库,然后再次触发调用时从数据库中分析是否已有别的server正在运行相同job (同名同定时时间点的job属于相当job),如果相同