![](https://img-blog.csdnimg.cn/20190918135101160.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
微服务系列
文章平均质量分 88
以 Spring Cloud Alibaba 为主的微服务系列
程序猿秃头之路
这个作者很懒,什么都没留下…
展开
-
微服务系列:分布式日志 ELK 搭建指南
相信大家平时工作中,在生产环境中经常会遇到很多异常,报错信息,需要查看日志信息排查错误,并且这个项目是分布式应用,日志被分散在储存不同的设备上。如果你管理数十上百台服务器,还使用依次登录每台机器的传统方法查阅日志。这样是不是感觉很繁琐和效率低下。所以我们使用集中化的日志管理,分布式日志就是对大规模日志数据进行采集、追踪、处理。原创 2022-02-23 09:11:50 · 2720 阅读 · 2 评论 -
微服务系列:分布式事务 Spring Cloud Alibaba 之 Seata 实战篇
微服务系列:分布式事务 Spring Cloud Alibaba 之 Seata 入门篇在上一篇入门篇中,我们已经对 Seata 有了大致的了解,并搭建好了 seata-server 服务端也就是 TC 协调者 ,同时,我们还集成了 Nacos。这篇中我们就要项目实战中来使用 Seata 了,毕竟学习它就是为了实战中使用的。其实 Seata 使用起来很简单,主要就是使用 @GlobalTransactional注解,但是搭建过程却还是稍微有点复杂的。话不多说,开始今天的学习。一、前言本案例.原创 2022-02-17 08:46:00 · 1193 阅读 · 2 评论 -
微服务系列:分布式事务 Spring Cloud Alibaba 之 Seata 入门篇
在微服务独立数据源的思想,每一个微服务都有一个或者多个数据源,虽然单机单库事务已经非常成熟,但是由于网路延迟和不可靠的客观因素,分布式事务到现在也还没有成熟的方案,对于中大型网站,特别是涉及到交易的网站,一旦将服务拆分微服务,分布式事务一定是绕不开的一个组件,通常需要解决分布式事务问题。原创 2022-02-15 09:51:03 · 1000 阅读 · 0 评论 -
微服务系列:分布式链路追踪之 SkyWalking
随着微服务分布式系统变得日趋复杂,越来越多的组件开始走向分布式化,如分布式服务、分布式数据库、分布式缓存等,使得后台服务构成了一种复杂的分布式网络。在服务能力提升的同时,复杂的网络结构也使问题定位更加困难。在一个请求在经过诸多服务过程中,出现了某一个调用失败的情况,查询具体的异常由哪一个服务引起的就变得十分抓狂,问题定位和处理效率是也会非常低。原创 2022-02-09 08:48:13 · 1212 阅读 · 0 评论 -
微服务系列:Spring Cloud Alibaba 之 Sentinel 规则持久化
微服务系列:Spring Cloud Alibaba 之 Sentinel 详细入门微服务系列:Spring Cloud Alibaba 之 Sentinel 基本流控规则微服务系列:Spring Cloud Alibaba 之 Sentinel 高级流控规则微服务系列:Spring Cloud Alibaba 之 Sentinel 熔断降级规则微服务系列:Spring Cloud Alibaba 之 Sentinel 热点限流规则微服务系列:Sentinel 之 @SentinelResour.原创 2022-02-06 11:16:43 · 932 阅读 · 0 评论 -
微服务系列:Sentinel 之 @SentinelResource 注解配置
微服务系列:Spring Cloud Alibaba 之 Sentinel 基本流控规则微服务系列:Spring Cloud Alibaba 之 Sentinel 高级流控规则微服务系列:Spring Cloud Alibaba 之 Sentinel 熔断降级规则微服务系列:Spring Cloud Alibaba 之 Sentinel 热点限流规则在上面的学习 Sentinel 的各种规则的文章中,我们多次使用到 @SentinelResource 注解,虽然在入门篇 微服务系列:Spring.原创 2022-02-05 10:29:21 · 2280 阅读 · 0 评论 -
微服务系列:Spring Cloud Alibaba 之 Sentinel 热点限流规则
何为热点?热点即经常访问的数据。很多时候我们希望统计某个热点数据中访问频次最高的 Top K 数据,并对其访问进行限制。比如:- 商品 ID 为参数,统计一段时间内最常购买的商品 ID 并进行限制- 用户 ID 为参数,针对一段时间内频繁访问的用户 ID 进行限制热点参数限流会统计传入参数中的热点参数,并根据配置的限流阈值与模式,对包含热点参数的资源调用进行限流。热点参数限流可以看做是一种特殊的流量控制,仅对包含热点参数的资源调用生效。原创 2022-02-04 10:36:55 · 1267 阅读 · 0 评论 -
微服务系列:Spring Cloud Alibaba 之 Sentinel 熔断降级规则
除了流量控制以外,对调用链路中不稳定的资源进行熔断降级也是保障高可用的重要措施之一。一个服务常常会调用别的模块,可能是另外的一个远程服务、数据库,或者第三方 API 等。例如,支付的时候,可能需要远程调用银联提供的 API;查询某个商品的价格,可能需要进行数据库查询。然而,这个被依赖服务的稳定性是不能保证的。如果依赖的服务出现了不稳定的情况,请求的响应时间变长,那么调用服务的方法的响应时间也会变长,线程会产生堆积,最终可能耗尽业务自身的线程池,服务本身也变得不可用。原创 2022-02-03 19:36:20 · 1752 阅读 · 1 评论 -
微服务系列:Spring Cloud Alibaba 之 Sentinel 高级流控规则
微服务系列:Spring Cloud Alibaba 之 Sentinel 基本流控规则在上一篇中,我们学习完了 Sentinel 的基本流控规则,这篇我们来研究一下 Sentinel 的高级流控规则。话不多说,开始今天的学习。一、概述控制台打开流控规则的高级选项如下出现了 流控模式 和 流控效果 配置选项,这些配置项都是什么意思呢?流控模式:直接:api 达到限流条件时,直接限流关联:当关联的资源达到限流阈值时,就限流自己链路:只记录指定链路上的流量(指定资源从入口资源进来的.原创 2022-02-02 10:58:21 · 1947 阅读 · 0 评论 -
微服务系列:Spring Cloud Alibaba 之 Sentinel 基本流控规则
大型互联网应用都会有大量的用户流量,当遇到了某些特殊的时间节点,如:双十一秒杀、春节抢票等,大量的流量突然涌入系统,容易引发系统过载,造成系统整体的不稳定甚至崩溃。那么对这种问题,我们就需要对流量进行限制,对于超过限制的流量,我们可以采用熔断、降级、排队等待等方式来解决。原创 2022-02-01 11:01:30 · 781 阅读 · 0 评论 -
微服务系列:Spring Cloud Alibaba 之 Sentinel 详细入门
Sentinel 是阿里中间件团队开源的,面向分布式服务架构的轻量级高可用流量控制组件,主要以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度来帮助用户保护服务的稳定性。原创 2022-01-31 10:41:54 · 1528 阅读 · 0 评论 -
微服务系列:分布式文件存储之 Spring Boot 集成 MinIO
微服务系列:分布式文件存储之 MinIO 搭建指南在上一篇文章中,我们已经学会怎么去搭建一个 MinIO 的对象存储服务,这篇文章我们会学习一下在实战 Java 项目中如何集成 MinIO 去使用。话不多说,开始今天的学习。项目集成1. 引入依赖<dependency> <groupId>io.minio</groupId> <artifactId>minio</artifactId> <version&.原创 2022-01-30 17:18:40 · 1636 阅读 · 0 评论 -
微服务系列:分布式文件存储之 MinIO 入门指南
MinIO 是一款基于 Go 语言的高性能、可扩展、云原生支持、操作简单、开源的分布式对象存储产品。基于 Apache License v2.0 开源协议,虽然轻量,却拥有着不错的性能。它兼容亚马逊S3云存储服务接口。可以很简单的和其他应用结合使用,例如 NodeJS、Redis、MySQL 等。原创 2022-01-29 11:02:41 · 9938 阅读 · 1 评论 -
微服务系列:服务监控 Spring Boot Actuator 和 Spring Boot Admin
服务监控就是监视当前系统应用状态、内存、线程、堆栈、日志等等相关信息,主要目的在服务出现问题或者快要出现问题时能够准确快速地发现以减小影响范围。服务监控在微服务改造过程中的重要性不言而喻,没有强大的监控能力,改造成微服务架构后,就无法掌控各个不同服务的情况,在遇到调用失败时,如果不能快速发现系统的问题,对于业务来说就是一场灾难。原创 2022-01-28 09:19:56 · 2031 阅读 · 0 评论 -
微服务系列:Spring Cloud 之 Feign、Ribbon、Hystrix 三者超时时间配置
微服务系列:服务调用 Spring Cloud 之 OpenFeign 性能优化在上面这篇文章的结尾,我们提到了 Feign 中的请求超时配置,Feign 自身有超时时间配置,Feign 默认集成的 Ribbon 中也有超时时间配置。假如我们又使用了 Hystrix 来实现熔断降级,Hystrix 自身也有一个超时时间配置。注: spring-cloud-starter-openfeign 低一点的版本中默认集成的有 Hystrix,高版本中又移除了。好了,话不多说,让我们来研究一下。F.原创 2022-01-27 09:41:24 · 6938 阅读 · 2 评论 -
微服务系列:服务调用 Spring Cloud 之 OpenFeign 性能优化
上一篇文章:微服务系列:服务调用 Spring Cloud 之 OpenFeign 详细入门 我们已经能够学习到很多 OpenFeign 的入门知识,今天,我们来学习一下 OpenFeign 性能优化的相关配置。话不多说,开始今天的学习。日志增强浏览器发起的请求可以通过F12查看请求和响应信息。如果想看微服务中每个接口我们可以使用日志配置方式进行查看详细信息。OpenFeign 虽然提供了日志增强功能,但是默认是不显示任何日志的,不过开发者在调试阶段可以自己配置日志的级别。OpenFeign 的日原创 2022-01-26 09:42:47 · 2198 阅读 · 0 评论 -
微服务系列:服务调用 Spring Cloud 之 OpenFeign 详细入门
在微服务架构中很多功能都需要调用多个服务才能完成某一项功能,一个成熟的微服务集群,内部调用必然依赖一个好的 RPC 框架,比如:基于 Http 协议的 `Feign`,基于私有 tcp 协议的 `Dubbo`。原创 2022-01-24 08:56:48 · 1232 阅读 · 0 评论 -
微服务系列:Spring Cloud Alibaba 之 Nacos 集群搭建
集群是将应用复制成多个相同的应用,一起来工作,从而提高工作能力。即将多个应用程序分散在不同的服务器,每个服务器都独立运行相同的代码。可以**分散服务器压力解决高并发的问题**,同时也能**预防单节点故障**,即一台服务器故障不影响其他服务器正常运行。原创 2022-01-21 08:45:40 · 904 阅读 · 0 评论 -
微服务系列:Spring Cloud Alibaba 之 Nacos 配置中心
传统的静态配置方式要想修改某个配置只能修改之后重新发布应用,要实现动态性,可以选择使用数据库,通过定时轮询访问数据库来感知配置的变化。轮询频率低感知配置变化的延时就长,轮询频率高,感知配置变化的延时就短,但比较损耗性能,需要在实时性和性能之间做折中。配置中心专门针对这个业务场景,兼顾实时性和一致性来管理动态配置。原创 2022-01-20 08:57:57 · 1285 阅读 · 0 评论 -
微服务系列:Spring Cloud Alibaba 之 Nacos 注册中心
注册中心在微服务项目中扮演着非常重要的角色,是微服务架构中的纽带,类似于`通讯录`,它记录了服务和服务地址的映射关系。在分布式架构中,服务会注册到这里,当服务需要调用其它服务时,就到这里找到服务的地址,进行调用。原创 2022-01-19 09:06:04 · 695 阅读 · 0 评论 -
微服务系列:服务网关 Spring Cloud Gateway 集成 Sentinel 限流
Sentinel 是阿里开源的一款面向分布式服务架构的流量控制组件,主要以流量为切入点,从流量控制、熔断降级、系统自适应保护等多个维度来保障微服务的稳定性。除了Spring Cloud Gateway官方提供的RequestRateLimiterGatewayFilterFactory过滤器工厂来实现网关限流之外,我们还可以选择集成 Sentinel 来实现限流。本文将主要学习 Spring Cloud Gateway 集成 Sentinel 实现限流,对 Sentinel 的基础知识不做过多的讲解,大原创 2022-01-03 09:38:41 · 3562 阅读 · 0 评论 -
微服务系列:服务网关 Spring Cloud Gateway 全局过滤器
今天我们来学习下 Srping Cloud Gateway 的全局过滤器 GloableFilter。全局过滤器全局过滤器作用于所有的路由,不需要单独配置,我们可以用它来实现很多统一化处理的业务需求,比如权限认证,IP访问限制等等。GlobalFilter 接口package org.springframework.cloud.gateway.filter;import org.springframework.web.server.ServerWebExchange;import reacto原创 2021-12-27 13:22:42 · 1768 阅读 · 0 评论 -
微服务系列:服务网关 Spring Cloud Gateway 熔断降级
今天继续来学习下 Spring Cloud Gateway 的熔断与降级。在分布式系统中,网关做为流量的入口,所以会有大量的请求进入网关,向其余服务发起调用,其余服务不可避免的会出现调用失败(超时、异常),失败时不能让请求堆积在网关上,需要快速失败并返回给客户端,想要实现这个要求,就必须在网关上作熔断、降级操作。概念介绍服务降级:系统有限的资源的合理协调概念:服务降级一般是指在服务器压力剧增的时候,根据实际业务使用情况以及流量,对一些服务和页面有策略的不处理或者用一种简单的方式进行处理,从而释放服原创 2021-12-26 22:03:49 · 3297 阅读 · 2 评论 -
微服务系列:服务网关 Spring Cloud Gateway 限流配置
上一篇文章 微服务系列:服务网关 Spring Cloud Gateway 入门 中我们学习了 Spring Cloud Gateway 的一些入门知识,今天我们来学习怎么使用 Spring Cloud Gateway 来实现限流。话不多说,开始今天的学习。限流配置1. 相关概念限流是对某一时间窗口内的请求数进行限制,保持系统的可用性和稳定性,防止因流量暴增而导致的系统运行缓慢或宕机。常见的限流算法有:计数器算法,漏桶(Leaky Bucket)算法,令牌桶(Token Bucket)算法。Sp原创 2021-12-23 22:08:47 · 4872 阅读 · 0 评论 -
微服务系列:服务网关 Spring Cloud Gateway 入门
`Spring Cloud Gateway` 是基于 `Spring 5.0、Spring Boot 2.0 和 Project Reactor` 等技术开发的网关。所以就有了前置知识 `WebFlux` 的学习,而学习 WebFlux 又需要 `Stream` 流和 `Lambda` 表达式等技术作为前置知识。从这篇文章开始,将正式开始 微服务系列 的相关技术学习。话不多说,开始今天的学习。介绍Spring Cloud GatewaySpring Cloud Gateway是基于Spring生.原创 2021-12-21 17:34:27 · 873 阅读 · 0 评论 -
nacos 学习笔记
nacos 笔记1. Nacos是阿里的一个开源产品,它是针对微服务架构中的服务发现、配置管理、服务治理的综合型解决方案。2. Nacos 安装与启动:https://nacos.io/zh-cn/docs/quick-start.html3. 外部 Mysql 数据库支持单机模式时nacos默认使用嵌入式数据库实现数据的存储,若想使用外部mysql存储nacos数据,需要进行以下步骤:1.安装数据库,版本要求:5.6.5+ ,mysql 8 以下2.初始化mysql数据库,新建数据库naco原创 2021-05-06 16:29:23 · 207 阅读 · 0 评论 -
Nacos、Eureka、Consul、Zookeeper 主流服务注册与发现中心的对比
主流服务发现中心对比 对比项目 Nacos Eureka Consul Zookeeper 一致性协议 支持AP和CP模型 AP模型 CP模型 CP模型 健康检查 TCP/HTTP/MYSQL/Client Beat Client Beat TCP/HTTP/gRPC/Cmd Keep Alive 负载均衡策略 权重/metadata/Selector Ribbon Fabio - 雪崩保护原创 2021-05-05 22:29:35 · 447 阅读 · 0 评论 -
Nacos、Spring Cloud Config、Apollo 主流配置中心的对比
主流配置中心对比 对比项目 Spring Cloud Config Apollo Nacos 配置实时推送 支持(Spring Cloud Bus) 支持(HTTP长轮询1s内) 支持(HTTP长轮询1s内) 版本管理 支持(Git) 支持 支持 配置回滚 支持(Git) 支持 支持 灰度发布 支持 支持 不支持 权限管理 支持(依赖Git) 支持 不支持 多集群 支持原创 2021-05-05 22:14:28 · 858 阅读 · 0 评论