随笔分类 - springcloud-入门系列
图灵学院学习笔记(nacos、openfeign、loadblancer、sentinel、seata、gateway、skyWalking)
个人代码笔记:https://gitee.com/dev_xb/springcloudalibaba-tuling
摘要:Skywalking ui页面功能 菜单栏 仪表盘:查看被监控服务的运行状态; 拓扑图:以拓扑图的方式展现服务之间的关系,并以此为入口查看相关信息; 追踪:以接口列表的方式展现,追踪接口内部调用过程; 性能剖析:对端点进行采样分析,并可查看堆栈信息; 告警:触发告警的告警列表,包括服务失败率,请求超
阅读全文
摘要:链路追踪介绍 对于一个大型的几十个、几百个微服务构成的微服务架构系统,通常会遇到下面一些问题,比如: 1、如何串联整个调用链路,快速定位问题? 2、如何缕清各个微服务之间的依赖关系? 3、如何进行各个微服务接口的性能分折? 4、如何跟踪整个业务流程的调用处理顺序? 1. skywalking是什么
阅读全文
摘要:2.1 环境搭建 2.1.1 引入依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> </dependency> 2.1.
阅读全文
摘要:1.1 网关简介 大家都知道在微服务架构中,一个系统会拆分为多个微服务。那么作为客户端要如何去调用这么多的微服务,如果没有网关存在,我们只能在客户端记录每个微服务的地址,然后去分别用。 这样的架构,会存在着诸多的问题: 每个业务都会需要鉴权、限流、权限校验、跨域等逻辑,如果每个业务都各自为战,自己造
阅读全文
摘要:2.1 Seata 是什么 Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。AT模式是阿里首推的模式,阿里云上有商用版本的GTS(Global Trans
阅读全文
摘要:1.1 事务简介 事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。在关系数据库中,一个事务由一组SQL语句组成。 事务应该具有4个属性:原子性、一致性、隔离性、持久性。 这四个属性通常称为ACID特性。 原子性(atomicity):事务是一个不可分割
阅读全文
摘要:5. 整合openfeign + 规则持久化 5.1 整合openfeign进行降级 5.1.1 引入依赖 <!--集成alibaba-sentinel 启动器--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spri
阅读全文
摘要:4. Spring Cloud Alibaba整合Sentinel + 规则配置详解 4.1 Spring Cloud Alibaba整合Sentinel 4.1.1 引入依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http:/
阅读全文
摘要:3. Sentinel快速开始(API实现)+控制台访问 文档地址:https://github.com/alibaba/Sentinel/wiki/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8 在官方文档中,定义的Sentinel进行资源保护的几个步骤: 1. 定义资源
阅读全文
摘要:2. Sentinel 是什么 Sentinel: 分布式系统的流量防卫兵 源码地址:https://github.com/alibaba/Sentinel 官方文档:https://github.com/alibaba/Sentinel/wiki 随着微服务的流行,服务和服务之间的稳定性变得越来越
阅读全文
摘要:1. 为什么要使用sentinel 1.1 分布式系统遇到的问题 1.1.1 服务的可用性问题 1.1.2 服务的可用性场景 在一个高度服务化的系统中,我们实现的一个业务逻辑通常会依赖多个服务, 如图所示: 如果其中的下单服务不可用, 就会出现线程池里所有线程都因等待响应而被阻塞, 从而造成整个服务
阅读全文
摘要:1. 什么是Nacos配置中心 官方文档: https://github.com/alibaba/springcloudalibaba/wiki/Nacosconfig Nacos 提供用于存储配置和其他元数据的 key/value 存储,为分布式系统中的外部化配置提供服务器端和客户端支持。使
阅读全文
摘要:JAVA 项目中如何实现接口调用? Httpclient HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的,支持 Http 协议的客户端编程工具包,并且它支持 HTTP 协议最新版本和建议。HttpClient相比传统 JDK 自带
阅读全文
摘要:1. 什么是Spring Cloud LoadBalance Spring Cloud LoadBalancer是Spring Cloud官方自己提供的客户端负载均衡器, 用来替代Ribbon Spring官方提供了两种负载均衡的客户端: RestTemplate RestTemplate是Spri
阅读全文
摘要:1. 什么是Ribbon 目前主流的负载方案分为以下两种: 集中式负载均衡,在消费者和服务提供方中间使用独立的代理方式进行负载,有硬件的(比如 F5),也有软件的(比如 Nginx)。 客户端根据自己的请求情况做负载均衡,Ribbon 就属于客户端自己做负载均衡。 Spring Cloud Ribb
阅读全文
摘要:1. 什么是 Nacos 官方:一个更易于构建云原生应用的动态服务发现(Nacos Discovery )、服务配置(Nacos Config)和服务管理平台。 集 注册中心+配置中心+服务管理 平台 Nacos 的关键特性包括: 服务发现和服务健康监测 动态配置服务 动态 DNS 服务 服务及其元
阅读全文
摘要:1. 下载方式 1.1 下载源码编译 源码下载地址:https://github.com/alibaba/nacos/ (可以用迅雷下载) cd nacos/ mvn ‐Prelease‐nacos clean install ‐U cd nacos/distribution/target/ 1.2
阅读全文
摘要:1. Nacos单机 下载地址:https://github.com/alibaba/nacos/releases 1.1 创建nacos配置库,并运行下面的sql脚本: update数据库是更新设配ipv6地址的脚本 1.2 nacos切换持久化切换配置(可以不换,默认是内存中保存) 修改配置文件
阅读全文