springcloud最简单实战手册

    技术2022-07-10  121

    1springcloud 原理见图 2 实现微服务管理机 核心代码 1 @EnableEurekaServer 2 修改端口 1001 3 服务名 spring.application.name=eureka-server #主机名 eureka.instance.hostname=localhost #关闭自我注册 eureka.client.register-with-eureka=false #表示是否从Eureka Server获取注册信息这是一个单点的 Eureka Server,不需要同步其他节点的数据 eureka.client.fetch-registry=false

    3 实现客户机(微服务) 核心代码 1 @EnableEurekaClient //专用版/@EnableDiscoveryClient//通用版 2 实例名 主机名 端口统统改好 3 eureka.client.serviceUrl.defaultZone=http://127.0.0.1:1001/eureka/ 注意可以配置多个地址 http://127.0.0.1:1001/eureka/,http://127.0.0.1:1002/eureka/

    使用较高的可以复制项目( 修改client02.iml 修改pom 导入项目)

    4 负载均衡路由机 0 需要zuul依赖 spring-cloud-starter-netflix-zuul 1 @EnableZuulProxy @EnableEurekaClient //开启zuul的功能:

    2 api-a 也是模块名随便起

    zuul: routes: api-a: path: /模块名/** serviceId: client01

    zuul: routes:

    模块1

    api-a: # 定义一个路径 只要在地址栏里面 输入 user开头/controller的名称 #就会到 serviceId: user 里面去找对应的controller path: /user/** #服务的名称 serviceId: user

    /------例子--------- zuul: routes: user: path: /user/** serviceId: client spring: application: name: zuul server: port: 8080

    eureka: client: serviceUrl: defaultZone: http://127.0.0.1:1001/eureka/ instance: hostname: localhost /----------------------

    feign 1 org.springframework.cloud spring-cloud-starter-openfeign

    2 @EnableFeignClients

    3 接口 @FeignClient(value = “服务名”,fallback = UserControllerImpl.class) public interface UserController { @GetMapping("/服务的controller") //方法 public String getUserById(@RequestParam(“id”) int id);

    //当服务不可以用时的默认操作 4 hystrix 断路器 feign: hystrix: enabled: true

    4.1 zuul配置中加入 #设置ribbon的超时时间小于zuul的超时时间 ribbon: ReadTimeout: 10000 ConnectTimeout: 10000

    Processed: 0.009, SQL: 9