Eureka 服务与发现(单机模式)
1...... 概念:
Eureka 是Netflix开发的服务发现框架,本身是一个基于REST的服务,
主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。
2..... 基于上次代码:
基于springBoot,,springCloud,mybatis 框架简单 微服开发 ==CRUD (依次为基础进行 添加 eureka 服务与 发现代码 )
3..... provider 类 的 resources / application.yml 加上代码
1 server: 2 port: 8001 3 mybatis: 4 config-location: classpath:mybatis/mybatis.cfg.xml #mybatis 配置文件路径 5 type-aliases-package: com.wsc.core.pojo # entity别名类所在包 6 mapper-locations: mybatis/mapper/*.xml # mapper映射文件 7 spring: 8 application: 9 name: microserver-product #这个很重要,这在以后的服务与服务之间相互调用一般都是根据这个name 10 datasource: 11 type: com.alibaba.druid.pool.DruidDataSource 12 driver-class-name: com.mysql.cj.jdbc.Driver 13 url: jdbc:mysql://127.0.0.1:3306/springcloud_db01?serverTimezone=GMT%2B8 14 password: wsc 15 username: root 16 dbcp2: 17 min-idle: 5 # 数据库连接池的最小维持连接数 18 initial-size: 5 # 初始化连接数 19 max-total: 5 # 最大连接数 20 max-wait-millis: 150 # 等待连接获取的最大超时时间 21 22 eureka: 23 client: 24 register-with-eureka: true #服务注册开关 25 fetch-registry: true #服务发现开关 26 service-url: 27 defaultZone: http://localhost:6001/eureka # 1 显示主机名 28 instance: 29 instanceId: ${spring.application.name}.${server.port} # 2 指定实例ID 不显示主机名 30 preferipAddress: true
启动类上:加上注解:
1 @EnableEurekaClient // 本服务启动后 自动注册进Eureka中心 2 @MapperScan("com.wsc.core.mapper") //mapper扫描包 类 ProductMapper 3 @SpringBootApplication 4 public class Start_8001 { 5 public static void main(String[] args) { 6 SpringApplication.run(Start_8001.class,args); 7 } 8 }
4..... 新建 eureka-6001 服务包
resources / application.yml
1 server: 2 port: 6001 3 eureka: 4 instance: 5 hostname: localhost 6 server: 7 enable-self-preservation: false # 禁用自我保护模式 8 client: 9 register-with-eureka: false #服务注册开关 10 fetch-registry: false #服务发现开关 11 service-url: 12 defaultZone: # http://localhost:6001/eureka # 1 显示主机名 单机是配置自己 如果不配置默认端口是8761 13 http://${eureka.instance.hostname}.${server.port}/eureka # 不显示主机名
启动类:
1 package com.wsc.core.eureka; 2 3 import org.springframework.boot.SpringApplication; 4 import org.springframework.boot.autoconfigure.SpringBootApplication; 5 import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; 6 7 /** 8 * @version 1.0 9 * @ClassName Start_6001 10 * @Description TODO 11 * @Author WSC 12 * @Date 2019/8/28 14:11 13 **/ 14 @EnableEurekaServer //声明注册中心 15 @SpringBootApplication 16 public class Start_6001 { 17 public static void main(String[] args) { 18 SpringApplication.run(Start_6001.class,args); 19 } 20 }
5....测试结果:
单机
这是测试关闭保护,正常开发需要开启保护。
enable-self-preservation: false # 禁用自我保护模式 (不写 或 设置 true)
THE SELF PRESERVATION MODE IS TURNED OFF.THIS MAY NOT PROTECT INSTANCE EXPIRY IN CASE OF NETWORK/OTHER PROBLEMS.
自我保护模式被关闭,这可能无法在网络/其他问题的情况下保护实例失效。
学习不分先后,知识不分多少;事无巨细,当以虚心求教;三人行,必有我师焉!!!wished for you successed !!!