zoukankan      html  css  js  c++  java
  • 深入Eureka/Feign/Hystrix原理学习(1)

    第一步:
    创建注册中心项目,引入cloud discovery相关依赖。
    ①在pom文件中引入相关依赖。
    ②在启动类上加上@EnableEurekaServer注解,标注这是一个注
    册中心。
    ③在application.yml配置文件中进行相关配置:配置端口
    server:port:7776,配置注册中心的地址http://localhost:7776/euraka
    等。
    ④在启动项目后,直接在浏览器输入localhost:7776就可以访问
    eureka的管理界面。
    注意:pom文件中spring boot和spring cloud的版本要相对应,如果是较
    低版本的spring cloud,比如Dalston.SR4,对应的spring boot版本是
    1.5.6.


    第二步:
    创建客户端,发布服务。对于注册中心而言,所有的连接对象都
    是客户端。
    ①引依赖。
    ②配置yml:给项目取名,便于其他工程发现,
    spring:application:name:dm-user-provider这就是取名。将服务注册到
    注册中心去,需要指定注册中心的地址:eureka:client:service-
    url:defaultZone:http://localhost:7776/eureka.同样需要进行端口配
    置server:port:8080.
    ③在启动类上加上@EnableDiscoveryClient注解,在启动时就会
    去读取配置文件中的信息,按照Eureka客户端的要求加载数据。
    ④启动项目后就可以在eureka的管理界面中看到发布的服务。
    三板斧:依赖,配置文件,注解。
    Eureka的自我保护机制默认是开启的,是为了保证某些暂时不可用的服务
    节点不会被激进地清理掉。因为有些服务暂时不可用不代表这些服务是无
    效的。

    第三步:
    对注册中心的管理界面进行安全控制。
    使用spring-boot-starter-security进行权限控制,让注册中心
    的服务更加安全。
    ①首先在pom文件中引入security依赖。
    ②在配置文件中进行配置:启用-
    security:basic:enabled:true.配置用户名密码-
    security:user:name:root/security:user:password:123456.
    ③在进行权限控制后,客户端访问注册中心时需要在访问url中
    进行如下配置:http://root:123456@localhost:7776/eureka.

    第四步:
    新建项目,对注册中心存在的服务进行调用。
    ①需要额外引入spring-cloud-starter-feign依赖,解决服务调
    用的问题。
    ②在配置文件中进行配置:spring:application:name:dm-user
    -consumer.标注这是服务的调用方。server:port:8081.要保证端口不要
    重复。
    ③在启动类中加上注解:@EnableDiscovery注解将服务注册到注
    册中心。@EnableFeignClients注解用于从注册中心中调用服务。
    ④在业务处理类也就是和Service接口上加上@FeignClient注解
    ,指定要从注册中心调用的服务的名称,@FeignClient(name="dm-user-
    provider").注意,接口中方法的定义格式要与provider中的方法一致,
    比如提供方的方法上加了@RequestMapping
    (value="/login",method=RequestMethod.GET)。就相当于告诉Feign组件
    ,要调用的服务长这个模样,Feign从而好创建一个实现类去调用服务。
    ⑤在调用方的Controller类中就可以通过@Autowired注解直接注
    入提供方的服务。

    第五步:
    公共模块的使用场景,被多个客户端共同使用的模块都定义到公
    共模块中,比如javaBean等。Common项目无需注册到注册中心。
    其他项目或者是模块想要使用Common模块,需要在pom文件中引入Common
    的依赖,先install一下Common项目。

    第六步:
    熔断器hystrix配置。feign:hrstrix:enabled:true.如果服务调
    用出错时的处理方案:通常做法是定义一个类,在服务调用出错时执行这
    个类中的方法,一般命名为**Fallback,同时需要implements正常调用的
    那个接口。并且需要在该类上添加@Compnent注解,纳入spring容器管理
    。在@FeignClient注解中追加fallback=**Fallback.class。就类似于一
    个备胎,在出错时顶上去。

  • 相关阅读:
    RabbitMQ-RPC版主机管理程序
    FTP
    主机管理程序
    高级FTP
    选课系统
    电子银行购物商城
    计算器
    员工信息查询系统
    工资管理系统
    三级菜单
  • 原文地址:https://www.cnblogs.com/niwotaxuexiba/p/10506298.html
Copyright © 2011-2022 走看看