![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
springCloud
文章平均质量分 63
二后生
主要是做: .NET、.NET Core、微服务
次要学习:JAVA、前端、运维
我记性不好,自己做做笔记方便工作用到的时候方便回忆
展开
-
spring cloud+Eureka搭建
eureka的作用:Eureka Server:注册中心服务端注册中心服务端主要对外提供了三个功能:服务注册服务提供者启动时,会通过 Eureka Client 向 Eureka Server 注册信息,Eureka Server 会存储该服务的信息,Eureka Server 内部有二层缓存机制来维护整个注册表提供注册表服务消费者在调用服务时,如果 Eureka Client 没有缓存注册表的话,会从 Eureka Server 获取最新的注册表同步状态Eureka Client原创 2022-01-24 09:48:28 · 847 阅读 · 0 评论 -
Nacos与Eureka区别
Nacos与eureka的共同点1、都支持服务注册和服务拉取2、都支持服务提供者心跳方式做健康检测区别:1、Nacos支持服务端主动检测提供者状态:临时实例采用心跳模式,非临时实例采用主动检测模式2、临时实例心跳不正常会被剔除,非临时实例则不会被剔除3、Nacos支持服务列表变更的消息推送模式,服务列表更新更加及时4、Nacos集群默认采用AP方式,当集群中存在非临时实例时,采用CP模式;Eureka采用AP方式...原创 2022-02-08 17:31:11 · 1264 阅读 · 0 评论 -
Nacos-安装指南
1.Windows安装开发阶段采用单机安装即可。1.1.下载安装包在Nacos的GitHub页面,提供有下载链接,可以下载编译好的Nacos服务端或者源代码:GitHub主页:GitHub - alibaba/nacos: an easy-to-use dynamic service discovery, configuration and service management platform for building cloud native applications.GitHub的转载 2022-01-28 13:58:08 · 150 阅读 · 0 评论 -
Nacos-注册中心 搭建+使用
Nacos 支持基于 DNS 和基于 RPC 的服务发现(可以作为springcloud的注册中心)、动态配置服务(可以做配置中心)、动态 DNS 服务。官方介绍:Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您实现动态服务发现、服务配置管理、服务及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构(例如微服务范式、云原生范式)的服务基础设施。官方网址:http://nacos.转载 2022-01-28 16:35:37 · 516 阅读 · 0 评论 -
Nacos-分级存储模型、集群优先负载均衡
一个服务可以有多个实例,例如我们的 user-service,可以有:127.0.0.1:8081 127.0.0.1:8082 127.0.0.1:8083假如这些实例分布于全国各地的不同机房,例如:127.0.0.1:8081,在杭州机房 127.0.0.1:8082,在杭州机房 127.0.0.1:8083,在上海机房Nacos就将同一机房内的实例,划分为一个集群。微服务互相访问时,应该尽可能访问同集群实例,因为本地访问速度更快。当本集群内不可用时,才访问其它集群。例如:杭转载 2022-01-28 17:34:50 · 561 阅读 · 0 评论 -
Nacos-配置管理+配置热更新
Nacos除了可以做注册中心,同样可以做配置管理来使用。当微服务部署的实例越来越多,达到数十、数百时,逐个修改微服务配置就会让人抓狂,而且很容易出错。我们需要一种统一配置管理方案,可以集中管理所有实例的配置。Nacos 一方面可以将配置集中管理,另一方可以在配置变更时,及时通知微服务,实现配置的热更新。创建配置在 Nacos 控制面板中添加配置文件然后在弹出的表单中,填写配置信息:注意:项目的核心配置,需要热更新的配置才有放到 nacos 管理的必要。基本不会变更的一些配转载 2022-03-08 16:48:15 · 6074 阅读 · 0 评论 -
Nacos-权重配置
实际部署中会出现这样的场景:服务器设备性能有差异,部分实例所在机器性能较好,另一些较差,我们希望性能好的机器承担更多的用户请求。但默认情况下 NacosRule 是同集群内随机挑选,不会考虑机器的性能问题。因此,Nacos 提供了权重配置来控制访问频率,0~1 之间,权重越大则访问频率越高,权重修改为 0,则该实例永远不会被访问。在 Nacos 控制台,找到 user-service 的实例列表,点击编辑,即可修改权重。在弹出的编辑窗口,修改权重另外,在服务升级的时候,有一种较好转载 2022-02-07 14:33:11 · 8460 阅读 · 1 评论 -
Nacos-环境隔离
Nacos 提供了 namespace 来实现环境隔离功能。Nacos 中可以有多个 namespace namespace 下可以有 group、service 等 不同 namespace 之间相互隔离,例如不同 namespace 的服务互相不可见创建namespace默认情况下,所有 service、data、group 都在同一个 namespace,名为 public(保留空间):我们可以点击页面新增按钮,添加一个 namespace:然后,填写表单:就转载 2022-02-08 16:40:25 · 1578 阅读 · 0 评论 -
Nacos-临时实例
Nacos 的服务实例分为两种类型临时实例:如果实例宕机超过一定时间,会从服务列表剔除,默认的类型。 非临时实例:如果实例宕机,不会从服务列表剔除,也可以叫永久实例。配置一个服务实例为永久实例:spring: cloud: nacos: discovery: ephemeral: false # 设置为非临时实例另外,Nacos 集群默认采用AP方式(可用性),当集群中存在非临时实例时,采用CP模式(一致性);而 Eureka 采用AP方式,不可切...转载 2022-02-08 17:24:05 · 1639 阅读 · 1 评论 -
SpringCloud Gateway网关 + 路由断言工厂
Spring Cloud Gateway 是 Spring Cloud 的一个全新项目,该项目是基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等响应式编程和事件流技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。Gateway 网关是我们服务的守门神,所有微服务的统一入口。网关的核心功能特性:请求路由 权限控制 限流权限控制:网关作为微服务入口,需要校验用户是是否有请求资格,如果没有则进行拦截。路由和转载 2022-03-14 16:07:02 · 292 阅读 · 0 评论 -
GateWay 三种过滤器执行顺序
请求进入网关会碰到三类过滤器:DefaultFilter、当前路由的过滤器、GlobalFilter;请求路由后,会将三者合并到一个过滤器链(集合)中,排序后依次执行每个过滤器.排序的规则是什么呢?每一个过滤器都必须指定一个 int 类型的 order 值,order 值越小,优先级越高,执行顺序越靠前。 GlobalFilter 通过实现 Ordered 接口,或者使用 @Order 注解来指定 order 值,由我们自己指定。 路由过滤器和 defaultFilter 的 o转载 2022-03-17 16:49:48 · 4290 阅读 · 0 评论 -
GateWay 网关路由过滤器配置
GatewayFilter 是网关中提供的一种过滤器,可以对进入网关的请求和微服务返回的响应做处理。Spring提供了31种不同的路由过滤器工厂。官方文档:Spring Cloud Gateway名称 说明 AddRequestHeader 给当前请求添加一个请求头 RemoveRequestHeader 移除请求中的一个请求头 AddResponseHeader 给响应结果中添加一个响应头 RemoveResponseHeader 从响应结转载 2022-03-17 15:51:47 · 5951 阅读 · 0 评论 -
GateWay 全局过滤器【GlobalFilter】
网关路由请求过后,如果我们希望拦截请求,做自己的业务逻辑则可以使用GlobalFilter 全局过滤器。全局过滤器的作用也是处理一切进入网关的请求和微服务响应,与 GatewayFilter 的作用一样。区别在于 GlobalFilter 的逻辑可以写代码来自定义规则;而 GatewayFilter 通过配置定义,处理逻辑是固定的。需求:定义全局过滤器,拦截请求,判断请求的参数是否满足下面条件参数中是否有 authorization authorization 参数值是否为 admin如果同转载 2022-03-17 16:47:09 · 11609 阅读 · 0 评论 -
GateWay 网关跨域问题
yml文件中配置即可:spring: cloud: gateway: globalcors: # 全局的跨域处理 add-to-simple-url-handler-mapping: true # 解决options请求被拦截问题 corsConfigurations: '[/**]': allowedOrigins: # 允许哪些网站的跨域请求 allowedOrigins: “*” 允许所有网站...转载 2022-03-17 17:06:09 · 874 阅读 · 0 评论 -
微服务Feign远程调用+性能优化
我们以前利用 RestTemplate 发起远程调用的代码:代码可读性差,编程体验不统一 参数复杂URL难以维护Feign 是一个声明式的 http 客户端,官方地址:https://github.com/OpenFeign/feign其作用就是帮助我们优雅的实现 http 请求的发送(Feign内部集成了ribbon,实现了负载均衡),解决上面提到的问题。Feign使用引入依赖我们在 order-service 引入 feign 依赖:<dependency>转载 2022-03-09 11:07:20 · 913 阅读 · 0 评论 -
Feign最佳实践
第一种继承方式:一样的代码可以通过继承来共享:1)定义一个 API 接口,利用定义方法,并基于 SpringMVC 注解做声明2)Feign 客户端、Controller 都继承该接口优点简单 实现了代码共享缺点服务提供方、服务消费方紧耦合 参数列表中的注解映射并不会继承,因此 Controller 中必须再次声明方法、参数列表、注解第二种抽取方式:将 FeignClient 抽取为独立模块,并且把接口有关的 POJO、默认的 Feign 配置都放到这个模块中,提转载 2022-03-14 15:59:45 · 1134 阅读 · 0 评论 -
RestTemplate Http请求
RestTemplate 用法详解_Lzc的博客-CSDN博客_resttemplate是一个发送http请求的工具使用方法:1、application中注册对象2、注入@Autowiredprivate RestTemplate restTemplate;3、public Order queryOrderById(Long orderId) { // 1.查询订单 Order order = orderMapper.findById原创 2022-01-24 14:33:31 · 309 阅读 · 0 评论 -
Ribbon-负载均衡拦截器+饥饿加载
当我们在启动类中注入的RestTemplate添加了@LoadBalanced注解,即可实现负载均衡功能,这是什么原理呢?SpringCloud 底层提供了一个名为 Ribbon 的组件,来实现负载均衡功能。源码跟踪为什么我们只输入了 service 名称就可以访问了呢?为什么不需要获取ip和端口,这显然有人帮我们根据 service 名称,获取到了服务实例的ip和端口。它就是LoadBalancerInterceptor,这个类会在对 RestTemplate 的请求进行拦截,然后从 ..转载 2022-01-27 17:33:58 · 539 阅读 · 0 评论