springcloud 启动类注解说明

sprigcloud 注册中心启动类

package com.southwind;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@SpringBootApplication
@EnableEurekaServer
public class Test {
 public static void main(String[] args) {
 SpringApplication.run(Test.class,args);
 }
}

注解说明:
@SpringBootApplication :声明该类是 Spring Boot 服务的⼊⼝。
@EnableEurekaServer :声明该类是⼀个 Eureka Server 微服务,提供服务注册和服务发现功能,即
注册中⼼。

服务⽹关启动类

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
@EnableZuulProxy
@EnableAutoConfiguration
public class ZuulApplication {
 public static void main(String[] args) {
 SpringApplication.run(ZuulApplication.class,args);
 }
}

注解说明:
@EnableZuulProxy :包含了 @EnableZuulServer ,设置该类是⽹关的启动类。
@EnableAutoConfiguration :可以帮助 Spring Boot 应⽤将所有符合条件的 @Configuration 配
置加载到当前 Spring Boot 创建并使⽤的 IoC 容器中。

Ribbon 负载均衡:
Ribbon 是 Netflix 发布的负载均衡器,Spring Cloud Ribbon 是基于 Netflix Ribbon 实现的,是⼀个⽤于对 HTTP 请求进⾏控制的负载均衡客户端。在注册中⼼对 Ribbon 进⾏注册之后,Ribbon 就可以基于某种负载均衡算法,如轮询、随机、加权轮询、加权随机等⾃动帮助服务消费者调⽤接⼝,开发者也可以根据具体需求⾃定义 Ribbon 负载均衡算法。实际开发中,Spring Cloud Ribbon 需要结合 Spring Cloud Eureka 来使⽤,Eureka Server 提供所有可以调⽤的服务提供者列表,Ribbon 基于特定的负载均衡算法从这些服务提供者中选择要调⽤的具体实例。

启动类:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;
@SpringBootApplication
public class RibbonApplication {
 public static void main(String[] args) {
 SpringApplication.run(RibbonApplication.class,args);
 }
 @Bean
 @LoadBalanced
 public RestTemplate restTemplate(){
 return new RestTemplate();
 }
}

@LoadBalanced :声明⼀个基于 Ribbon 的负载均衡。

Feign
与 Ribbon ⼀样,Feign 也是由 Netflix 提供的,Feign 是⼀个声明式、模版化的 Web Service 客户端,
它简化了开发者编写 Web 服务客户端的操作,开发者可以通过简单的接⼝和注解来调⽤ HTTP API,
Spring Cloud Feign,它整合了 Ribbon 和 Hystrix,具有可插拔、基于注解、负载均衡、服务熔断等⼀
系列便捷功能。
相⽐较于 Ribbon + RestTemplate 的⽅式,Feign ⼤⼤简化了代码的开发,Feign ⽀持多种注解,包括
Feign 注解、JAX-RS 注解、Spring MVC 注解等,Spring Cloud 对 Feing 进⾏了优化,整合了 Ribbon
和 Eureka,从⽽让 Feign 的使⽤更加⽅便。
Ribbon 和 Feign 的区别
Ribbon 是⼀个通⽤的 HTTP 客户端⼯具,Feign 是基于 Ribbon 实现的。
Feign 的tedian
1、Feign 是⼀个声明式的 Web Service 客户端。
2、⽀持 Feign 注解、Spring MVC 注解、JAX-RS 注解。
3、Feign 基于 Ribbon 实现,使⽤起来更加简单。
4、Feign 集成了 Hystrix,具备服务熔断的功能。

Hystrix 容错机制
在不改变各个微服务调⽤关系的前提下,针对错误情况进⾏预先处理。
2、服务降级机制
3、熔断机制
4、提供实时的监控和报警功能
5、提供实时的配置修改功能
Hystrix 数据监控需要结合 Spring Boot Actuator 来使⽤,Actuator 提供了对服务的健康健康、数据统
计,可以通过 hystrix.stream 节点获取监控的请求数据,提供了可视化的监控界⾯。

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
import
org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;
import org.springframework.cloud.openfeign.EnableFeignClients;
@SpringBootApplication
@EnableFeignClients
@EnableCircuitBreaker
@EnableHystrixDashboard
public class HystrixApplication {
 public static void main(String[] args) {
 SpringApplication.run(HystrixApplication.class,args);
 }
}

注解说明:
@EnableCircuitBreaker :声明启⽤数据监控
@EnableHystrixDashboard :声明启⽤可视化数据监控

配置中心 启动类加:

@EnableConfigServer :声明配置中⼼。

服务跟踪
中请求数据的组件,让开发者可以更加直观的监控到请求在
各个微服务所耗费的时间等,Zipkin:Zipkin Server、Zipkin Client。

启动类加:
@EnableZipkinServer :声明启动 Zipkin Server

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章