随笔分类 - 微服务专题
微服务相关组件
摘要:SkyWalking快速开始 SkyWalking Agent追踪微服务 通过jar包方式接入 准备一个springboot程序,打成可执行jar包,写一个shell脚本,在启动项目的Shell脚本上,通过 -javaagent 参数进行配置SkyWalking Agent来追踪微服务; start
阅读全文
摘要:SkyWalking 环境搭建部署 skywalking agent和业务系统绑定在一起,负责收集各种监控数据 Skywalking oapservice是负责处理监控数据的,比如接受skywalking agent的监控数据,并存储在数据库中;接受skywalking webapp的前端请求,从数
阅读全文
摘要:Spring Cloud Skywalking介绍: 对于一个大型的几十个、几百个微服务构成的微服务架构系统,通常会遇到下面一些问题,比如: 如何串联整个调用链路,快速定位问题? 如何理清各个微服务之间的依赖关系? 如何进行各个微服务接口的性能分折? 如何追踪整个业务流程的调用处理顺序? 全链路追踪
阅读全文
摘要:微服务接入Spring Cloud Gateway 1) 引入依赖 <!-- gateway网关 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gatewa
阅读全文
摘要:什么是API网关 API网关是随着微服务概念兴起的一种架构模式,它是运行于外部请求与内部服务之间的一个流量入口,用于实现对外部请求的协议转换、鉴权、流控、参数校验、监控等通用功能。 背景 在微服务架构中,通常一个系统会被拆分为多个微服务,面对这么多微服务客户端应该如何去调用呢?如果根据每个微服务的地
阅读全文
摘要:Seata快速开始 Seata分TC、TM和RM三个角色,TC(Server端)为单独服务端部署,TM和RM(Client端)由业务系统集成。 Seata Server(TC)环境搭建 Server端存储模式(store.mode)支持三种: file:单机模式,全局事务会话信息内存中读写并持久化本
阅读全文
摘要:分布式事务简介 分布式事务:https://www.processon.com/view/link/61cd52fb0e3e7441570801ab 本地事务 大多数场景下,我们的应用都只需要操作单一的数据库,这种情况下的事务称之为本地事务(Local Transaction)。本地事务的ACID特
阅读全文
摘要:推模式 生产环境下一般更常用的是 push 模式的数据源。对于 push 模式的数据源,如远程配置中心(ZooKeeper, Nacos, Apollo等等)。 由拉模式改造流程来改造推模式思路: 该模式存在的问题: 控制台修改的规则要经过微服务端推送,才能同步到nacos配置中心,增加了微服务端的
阅读全文
摘要:sentinel规则持久化部分源码分析 Sentinel规则推送模式 Sentinel规则的推送有下面三种模式: 原始模式 如果不做任何修改,Dashboard 的推送规则方式是通过 API 将规则推送至客户端并直接更新到内存中: 这种做法的好处是简单,无依赖;坏处是应用重启规则就会消失,仅用于简单
阅读全文
摘要:Sentinel控制台介绍 Sentinel 提供一个轻量级的开源控制台,它提供机器发现以及健康情况管理、监控(单机和集群),规则管理和推送的功能。 Sentinel 控制台包含如下功能: 查看机器列表以及健康情况:收集 Sentinel 客户端发送的心跳包,用于判断机器是否在线。 监控 (单机和集
阅读全文
摘要:官方快速入门案例: 在官方文档中,定义的Sentinel进行资源保护的几个步骤: 1. 定义资源 2. 定义规则 3. 检验规则是否生效 Entry entry = null; // 务必保证 finally 会被执行 try { // 资源名可使用任意有业务语义的字符串 开启资源的保护 entry
阅读全文
摘要:使用背景: 1、当服务访问量达到一定程度,流量扛不住的时候,该如何处理? 2、服务之间相互依赖,当服务A出现响应时间过长,影响到服务B的响应,进而产生连锁反应,直至影响整个依赖链上的所有服务,该如何处理? 这是分布式、微服务开发不可避免的问题。 分布式系统遇到的问题 在一个高度服务化的系统中,我们实
阅读全文
摘要:配置中心介绍: 在微服务架构中,当系统从一个单体应用,被拆分成分布式系统上一个个服务节点后,配置文件也必须跟着迁移(分割),这样配置就分散了,不仅如此,分散中还包含着冗余。配置中心将配置从各应用中剥离出来,对配置进行统一管理,应用自身不需要自己去管理配置。 配置中心的服务流程如下: 1. 用户在配置
阅读全文
摘要:Spring Cloud Alibaba快速整合Feign 引入依赖 <!-- openfeign 远程调用 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-
阅读全文
摘要:RPC概述: RPC 全称是 Remote Procedure Call ,即远程过程调用,其对应的是我们的本地调用。 RPC 的目的是:让我们调用远程方法像调用本地方法一样。 //本地调用 R result = orderService.findOrderByUserId(id); //RPC远程
阅读全文
摘要:什么是Ribbon: Spring Cloud Ribbon是基于Netflix Ribbon 实现的一套客户端的负载均衡工具,Ribbon客户端组件提供一系列的完善的配置,如超时,重试等。通过Load Balancer获取到服务提供的所有机器实例,Ribbon会自动基于某种规则(轮询,随机)去调用
阅读全文
摘要:负载均衡介绍: 负载均衡(Load Balance),其含义就是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,例如FTP服务器、Web服务器、企业核心应用服务器和其它主要任务服务器等,从而协同完成工作任务。 目前主流的负载均衡方案分为以下两种: 服务端负载均衡:集中式负载均衡,在消费者
阅读全文
摘要:Spring Cloud Alibaba Nacos快速开始 Spring Cloud Alibaba版本选型: #版本说明:https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%
阅读全文
摘要:单机模式: 官方文档: https://nacos.io/zh-cn/docs/deployment.html 下载安装包 下载地址:https://github.com/alibaba/nacos/releases/download/2.1.0/nacos-server-2.1.0.tar.gz
阅读全文
摘要:第一章: Alibaba Nacos注册中心 01_Nacos注册中心介绍 02_Nacos Server环境搭建 03_Nacos Client端使用 04_Nacos Config配置中心 第二章: 负载均衡器Ribbon 01_负载均衡简介 02_ribbon使用及扩展点 第三章: 服务远程调
阅读全文