Spring Cloud组件

1.nacos(Naming and Configuration Service):服务发现、管理、配置

2.Spring cloud常用组件

2.1注册中心 nacos

注册中心分为客户端和服务端,它们之间存在心跳,客户端停止,服务端会报错

客户端:可直接在docker中安装部署

服务端:需要在微服务中部署(nacos自带数据库derby)

1.引入依赖 spring-cloud-starter-alibaba-nacos-discovery

2.配置文件

3.启动类

2.2配置中心 nacos

存放经常需要变更的数据,方便统一管理,如:服务器密钥

配置信息,谁后加载,执行谁

2.3负载均衡 loadbalancer(已封装好,默认轮循访问,可通过配置权重改变微服务的访问量)

1.在配置文件中开启负载均衡(配置在consumer,即order上)

2.配置权重(配置在provider,即user上)

2.4路由网关 gateway:用来统一给分布式系统进行路由分配的服务

用途:

请求路由

请求过滤

请求鉴权

流量控制,但流量控制现在用sentinel

统一异常处理

2.5 openFeign (封装了restTemplate),通过伪service的方式调用远程的微服务

它是轻量级RESTful的 http客户端,支持spring MVC的注解

配置在consumer

//可作为http客户端

@Bean

public RestTemplate a(){

RestTemplate restTemplate = new RestTamplate();

return restTemplate;

}

3.跨域:防止外来请求攻击服务器

4.负载均衡策略:

4.1轮询策略:按一定的顺序分配请求到服务器

4.2权重策略:将权重配置在提供者上,权重越大,请求响应越快

4.3随机策略

4.4最小连接数策略:分配请求给连接数数少的服务器

4.5重试策略:采用轮询策略,在规定的请求时间内,重复请求服务,超时,则返回null

4.6可用性敏感策略:先过滤掉非健康的服务,然后选择最小连接数服务

4.7区域敏感策略:根据服务所在区域的性能和服务的可用性来选择服务实例,在没有区域的环境下,该策略和轮询策略类似

5.常用断言(predicate)方式

Path路径断言:Path=/api/user/**

Method方法断言 Method=Get

Host域名断言:Host=www.baidu.com

6.过滤器

路由过滤器:只能当前路由用

网关过滤器:网关中所有路由都能用

自定义过滤器:全局,用户自定义

你可能感兴趣的:(java)