SpringCloud Ribbon负载均衡配置

本章基于SpringCloud Ribbon初步配置,内存小于8G可能启动不起来服务,建议最低8G内存跑集群

SpringCloud 深入理解Ribbon之源码解析

 

集群的图说明:消费者向eureka 上获取可用的任务,根据默认的轮训方式随机选一个提供服务。

SpringCloud Ribbon负载均衡配置_第1张图片

步骤一:创建端口8002,8003 maven module提供服务工程,将8001端口的配置分别复制到8002,8003下


		
		
			com.gcxzflgl.spring
			springCloud-api
			${project.version}
		

		
			org.springframework.cloud
			spring-cloud-starter-eureka
		
		
			org.springframework.cloud
			spring-cloud-starter-config
		

		
		
			org.springframework.boot
			spring-boot-starter-actuator
		

		
			junit
			junit
		
		
			mysql
			mysql-connector-java
		
		
			com.alibaba
			druid
		
		
			ch.qos.logback
			logback-core
		
		
			org.mybatis.spring.boot
			mybatis-spring-boot-starter
		
		
			org.springframework.boot
			spring-boot-starter-jetty
		
		
			org.springframework.boot
			spring-boot-starter-web
		
		
			org.springframework.boot
			spring-boot-starter-test
		
		
		
			org.springframework
			springloaded
		
		
			org.springframework.boot
			spring-boot-devtools
		
	

步骤二:在8002,8003中,将8001的application.yml复制到对应的工程下。注意服务名称不能修改要保持同一个服务名称

server:
  port: 8003
  
mybatis:
  config-location: classpath:mybatis/mybatis.cfg.xml        # mybatis配置文件所在路径
  type-aliases-package: com.gcxzflgl.springCloud.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              # mysql驱动包
    url: jdbc:mysql://localhost:3306/db_springCloud03             # 数据库名称
    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:7001/eureka/,http://eureka7002:7002/eureka/,http://eureka7003:7003/eureka/
  instance:
    instance-id: gcxzflgl-dept8003
    prefer-ip-address: true     #访问路径可以显示IP地址     

    
    
info: 
  app.name: springCloud
  company.name: www.gcxzflgl.com
  build.artifactId: $project.artifactId$
  build.version: $project.version$
    


 

步骤三:创建数据库db_springCloud02,db_springCloud03,分别执行如下sql

DROP DATABASE IF EXITS db_springcloud;
create database db_springcloud02 CHARACTER set UTF8;
use db_springcloud;
create table dept(
	deptno BIGINT not null PRIMARY key auto_increment,
	dname varchar(60),
	db_source varchar(60)
);
 
insert into dept(dname,db_source) values('开发部',DATABASE());
insert into dept(dname,db_source) values('人事部',DATABASE());
insert into dept(dname,db_source) values('财务部',DATABASE());
insert into dept(dname,db_source) values('市场部',DATABASE());
insert into dept(dname,db_source) values('运维部',DATABASE());

步骤四:启动7001,7002,7003端口eureka集群,在启动8001,8002,8003端口提供的服务,在启动80端口消费者,

启动7个服务后,访问http://localhost/consumer/dept/get/1,第一次访问可能是db_springCloud提供服务,在次访问可能就是下一个服务提供,默认用的轮训方式提供服务。下一章讲解Ribbon的负载均衡策略选择。

 

你可能感兴趣的:(SpringCloud)