码迷,mamicode.com
首页 > 其他好文 > 详细

4.Eureka结合项目

时间:2021-07-01 17:18:14      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:更改   register   code   ssl   配置文件   list   auto   acl   模拟   

0.项目结构

api和consumer模块没有变化(参考之前的项目)

7001-7003是注册的三个eureka服务,正常应该是在三台电脑上进行操作,这里只是进行一个模拟

技术图片

 

1.Eureka模块

由于模块相似,这里只写一个模块

技术图片

1.1 pom

    <dependencies>
<!--eureka包-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka-server</artifactId>
            <version>1.4.6.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
        </dependency>
    </dependencies>

1.2 配置文件

application.yml

server:
  port: 7001
 #eureka配置
eureka:
  instance:
    hostname: localhost
  client:
    register-with-eureka: false #表示是否注册自己
    fetch-registry: false #表示自己是注册中心
    service-url: #监控页面
     defualtZone: http://localhost:7002/eureka/,http://localhost:7003/eureka/
     #设置与其他两个eureka关联 如果是其他的电脑前面的localhost也要改变

1.3 启动类

@SpringBootApplication
@EnableEurekaServer//服务端启动类,可以接受别人注册进来
public class EurekaServer_7001 {
    public static void main(String[] args) {
        SpringApplication.run(EurekaServer_7001.class,args);
    }
}

2.Provider模块

技术图片

2.1 主启动类添加注解

@SpringBootApplication
@EnableEurekaClient//在服务启动后自动注册到eureka中
@EnableDiscoveryClient//服务发现
public class DeptProvider_8001 {
    public static void main(String[] args) {
        SpringApplication.run(DeptProvider_8001.class,args);
    }
}

2.2 controller类可以获得一些微服务的信息

//提供restful服务
@RestController
public class DeptController {
    @Autowired
    private DeptService deptService;
    @Autowired
    private DiscoveryClient discoveryClient;//获取一些具体微服务

    @PostMapping("/dept/add")
    public boolean addDept(Dept dept) {
        return deptService.addDept(dept);
    }

    @GetMapping("/dept/get/{id}")
    public Dept get(@PathVariable("id") Long id) {
        return deptService.queryById(id);
    }

    @GetMapping("/dept/list")
    public List<Dept> queryAll(Dept dept) {
        return deptService.queryAll();
    }

    //注册进来的微服务 获取一些信息
    @GetMapping("/dept/discovery")
    public Object discovery() {
        //获得微服务列表的清单
        List<String> strings = discoveryClient.getServices();
        System.out.println(strings);

        //得到具体的微服务的信息
        List<ServiceInstance> instances = discoveryClient.getInstances("SPRINGCLOUD-PROVIDER-DEPT");//通过eureka里显示的名字来取
        for (ServiceInstance instance : instances) {
            System.out.println(instance.getHost() + " " + instance.getPort() + " " + instance.getUri() + " " + instance.getInstanceId());
        }
        return this.discoveryClient;
    }

}

3.3 配置文件application.yml 注册eureka,集群设置,以及更改一些信息

server:
  port: 8001
  #mybatis的配置
mybatis:
  type-aliases-package: com.wu.springcloud.pojo
  mapper-locations: classpath:mybatis/mapper/*.xml
  config-location: classpath:mybatis/mybatis-config.xml
#spring的配置
spring:
  application:
    name: springcloud-provider-dept
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: org.gjt.mm.mysql.Driver
    url: jdbc:mysql://localhost:3306/db01?useSSL=true&useUnicode=true&characterEncoding=utf-8
    username: root
    password: root
#注册eureka,服务注册到哪里
eureka:
  client:
    service-url:
      #集群发布
      defaultZone: http://localhost:7001/eureka/,http://localhost:7002/eureka/,http://localhost:7003/eureka/
  instance:
    instance-id: provider-dept-8001 #修改描述信息

info:
  app.name: xiaowu-springcloud
  company.name: yuzhibo.com

 

4.Eureka结合项目

标签:更改   register   code   ssl   配置文件   list   auto   acl   模拟   

原文地址:https://www.cnblogs.com/wuyimin/p/14958266.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!