
AlibabaCloud笔记
文章平均质量分 66
AlibabaCloud学习笔记
Edric2021
这个作者很懒,什么都没留下…
展开
-
第十五章 AlibabaCloud微服务下的分布式配置中⼼
1.微服务下的分布式配置中⼼现在微服务存在的问题配置⽂件增多,不好维护修改配置⽂件需要重新发布什么是配置中⼼⼀句话:统⼀管理配置, 快速切换各个环境的配置相关产品百度的disconf 地址:https://github.com/knightliao/disconf阿⾥的diamand 地址:https://github.com/takeseem/diamondspringcloud的configs-server地址:https://cloud.spring.io/spring-原创 2022-02-07 21:05:07 · 226 阅读 · 0 评论 -
第十四章 AlibabaCloud微服务下的链路追踪系统
1.微服务架构下的排查问题复杂性概述两个常⻅的问题微服务调⽤链路出现了问题怎么快速排查?微服务调⽤链路耗时⻓怎么定位是哪个服务?链路追踪系统分布式应⽤架构虽然满⾜了应⽤横向扩展的需求,但是运维和诊断的过程变得越来越复杂,例如会遇到接⼝诊断困难、应⽤性能诊断复杂、架构分析复杂等难题,传统的监控⼯具并⽆法满⾜,分布式链路系统由此诞⽣核⼼将⼀次请求分布式调⽤,使⽤GPS定位串起来,记录每个调⽤的耗时、性能等⽇志,并通过可视化⼯具展示出来注意:AlibabaCloud全家桶还没对应的链路追踪系统,原创 2022-02-07 20:13:31 · 1986 阅读 · 0 评论 -
第十三章 ⽹关Gateway架构 +断⾔+过滤器
1. SpringCloud Gateway配置和交互流程⽹关的配置项路由:是⽹关的基本单元,由ID、URI、⼀组Predicate、⼀组Filter组成,根据Predicate进⾏匹配转发route组成部分id:路由的IDuri:匹配路由的转发地址predicates:配置该路由的断⾔,通过PredicateDefinition类进⾏接收配置。order:路由的优先级,数字越⼩,优先级越⾼。交互流程客户端向Spring Cloud Gateway发出请求如果⽹关处理程序映射确定请求原创 2022-02-06 18:24:02 · 1553 阅读 · 0 评论 -
第十二章 微服务核⼼组件之⽹关
1.什么是微服务的⽹关和应⽤场景什么是⽹关API Gateway,是系统的唯⼀对外的⼊⼝,介于客户端和服务器端之间的中间层,处理⾮业务功能提供路由请求、鉴权、监控、缓存、限流等功能统⼀接⼊:智能路由,AB测试、灰度测试,负载均衡、容灾处理,⽇志埋点(类似Nignx⽇志)流量监控:限流处理,服务降级安全防护:鉴权处理,监控,机器⽹络隔离主流的⽹关zuul:是Netflix开源的微服务⽹关,和Eureka,Ribbon,Hystrix等组件配合使⽤,依赖组件⽐较多,性能较差kong: 由Mas原创 2022-02-06 17:35:15 · 1036 阅读 · 0 评论 -
第十一章 Sentinel⾃定 义异常-整合Open-Feign
异常种类FlowException //限流异常DegradeException //降级异常ParamFlowException //参数限流异常SystemBlockException //系统负载异常AuthorityException //授权异常实现BlockExceptionHandler并且重写handle⽅法@Component public class XdclassUrlBlockHandler implements BlockExceptionHandler {..原创 2022-02-02 18:52:54 · 348 阅读 · 0 评论 -
第十章 Sentinel流控规则
1.Sentinel流量控制功能流量控制(flow control)原理是监控应⽤流量的 QPS 或并发线程数等指标,当达到指定的阈值时对流量进⾏控制,以避免被瞬时的流量⾼峰冲垮,从⽽保障应⽤的⾼可⽤性两种规则1)基于统计并发线程数的流量控制并发数控制⽤于保护业务线程池不被慢调⽤耗尽Sentinel 并发控制不负责创建和管理线程池,⽽是简单统计当前请求上下⽂的线程数⽬(正在执⾏的调⽤数⽬)如果超出阈值,新的请求会被⽴即拒绝,效果类似于信号量隔离2)基于统计QPS的流量控制当 QPS 超过原创 2022-02-02 18:01:41 · 846 阅读 · 0 评论 -
第九章 分布式系统的流量防卫兵-Sentinel
1.分布式系统的流量防卫兵Sentinel介绍什么是Sentinel阿⾥巴巴开源的分布式系统流控⼯具以流量为切⼊点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性丰富的应⽤场景:消息削峰填⾕、集群流量控制、实时熔断下游不可⽤应⽤等完备的实时监控:Sentinel 同时提供实时的监控功能提供开箱即⽤的与其它开源框架/库的整合模块,例如与 Spring Cloud、Dubbo、gRPC 的整合官网:https://github.com/alibaba/Sentinel/wiki/主原创 2022-02-01 21:35:34 · 591 阅读 · 0 评论 -
第八章 ⾼并发下的微服务架构存在的问题和解决⽅案
1.⾼并发下的微服务存在的问题⾼并发下存在的问题微服务拆分多个系统,服务之间互相依赖,可能会由于系统负载过⾼,突发流量或者⽹络等各种异常情况 导致服务不可⽤核⼼思想-⾯向失败编程不要外界影响不被请求拖垮2.⾼并发下的微服务容错⽅案限流漏⽃,不管流量多⼤,均匀的流⼊容器,令牌桶算法,漏桶算法熔断保险丝,熔断服务,为了防⽌整个系统故障,包含当前和下游服务降级抛弃⼀些⾮核⼼的接⼝和数据,返回兜底数据 旅⾏箱的例⼦:只带核⼼的物品,抛弃⾮核⼼的,等有条件的时候再去携带这些原创 2022-02-01 18:02:17 · 339 阅读 · 0 评论 -
第七章 ⼀致性和可⽤性的权衡结果 BASE理论
什么是Base理论CAP 中的⼀致性和可⽤性进⾏⼀个权衡的结果,核⼼思想就是:我们⽆法做到强⼀致,但每个应⽤都可以根据⾃身的业务特点,采⽤适当的⽅式来使系统达到最终⼀致性, 来⾃ ebay 的架构师提出Basically Available(基本可⽤)假设系统,出现了不可预知的故障,但还是能⽤, 可能会有性能或者功能上的影响Soft state(软状态)允许系统中的数据存在中间状态,并认为该状态不影响系统的整体可⽤性,即允许系统在多个不同节点的数据副本存在数据延时Eventually cons.原创 2022-02-01 17:55:07 · 469 阅读 · 0 评论 -
第六章 分布式架构CAP理论
CAP定理: 指的是在⼀个分布式系统中,Consistency(⼀致性)、 Availability(可⽤性)、Partitiontolerance(分区容错性),三者不可同时获得⼀致性(C):所有节点都可以访问到最新的数据可⽤性(A):每个请求都是可以得到响应的,不管请求是成功还是失败分区容错性(P):除了全部整体⽹络故障,其他故障都不能导致整个系统不可⽤CAP理论就是说在分布式存储系统中,最多只能实现上⾯的两点。⽽由于当前的⽹络硬件肯定会出现延迟丢包等问题,所以分区容忍性是我们必须需要实现的。.原创 2022-02-01 17:12:28 · 2903 阅读 · 0 评论 -
第五章 负载均衡进阶之 Ribbon和Feign实战
1.Ribbon负载均衡源码2.微服务新⼀代负载均衡组件Open-Feign原先ribbon代码存在的问题:不规范,⻛格不统⼀,维护性⽐较差什么是FeignSpringCloud提供的伪http客户端(本质还是⽤http),封装了Http调⽤流程,更适合⾯向接⼝化让⽤Java接⼝注解的⽅式调⽤Http请求.不⽤像Ribbon中通过封装HTTP请求报⽂的⽅式调⽤ Feign默认集成了RibbonNacos⽀持Feign,可以直接集成实现负载均衡的效果3.集成Feign实现远程⽅法调原创 2022-02-01 16:24:16 · 1057 阅读 · 0 评论 -
第四章 AlibabaCloud集成Ribbon实现负载均衡
1.什么负载均衡和常见的解决方案什么是负载均衡(Load Balance)分布式系统中一个非常重要的概念,当访问的服务具有多个实例时,需要根据某种“均衡”的策略决定请求发往哪个节点,这就是所谓的负载均衡,原理是将数据流量分摊到多个服务器执行,减轻每台服务器的压力,从而提高了数据的吞吐量软硬件角度负载均衡的种类通过硬件来进行解决,常见的硬件有NetScaler、F5、Radware和Array等商用的负载均衡器,但比较昂贵的通过软件来进行解决,常见的软件有LVS、Nginx等,它们是基于Li原创 2022-01-30 22:23:12 · 961 阅读 · 1 评论 -
第三章 AlibabaCloud核心组件服务治理Nacos
1. 什么是微服务的注册中心微服务架构图什么是注册中心(服务治理)服务注册:服务提供者provider,启动的时候向注册中心上报自己的网络信息服务发现:服务消费者consumer,启动的时候向注册中心上报自己的网络信息,拉取provider的相关网络信息核心:服务管理,是有个服务注册表,心跳机制动态维护,服务实例在启动时注册到服务注册表,并在关闭时注销为什么要用微服务应用和机器越来越多,调用方需要知道接口的网络地址,如果靠配置文件的方式去控制网络地址,对于动态新增机器,维护带来原创 2022-01-30 21:43:01 · 1850 阅读 · 0 评论 -
第二章 Maven聚合工程创建微服务项目
1.创建聚合工程 xdclass-cloud,修改pom文件注意:记得删除聚合工程src目录 <!-- 一般来说父级项目的packaging都为pom,packaging默认类型jar类型--> <packaging>pom</packaging> <properties> <java.version>1.8</java.version> </properties>原创 2022-01-30 17:50:25 · 1748 阅读 · 0 评论 -
第一章 单机应用到分布式架构演进
1.传统单机-分布式架构演进历史单机架构优点: 易于测试 便于集成 小型项目友好缺点: 开发速度慢 启动时间长 依赖庞大分布式架构SOA :Service Oriented Architecture 面向服务的架构 其中包含多个服务, 服务之间通过相互依赖最终提供一系列的功能, 一个服务 通常以独立的形式存在与操作系统进程中, 各个服务之间 通过网络调用微服务:将一个大的单体应用进行细粒度的服务化拆分,每个拆分出来的服务各自独立打包部署,各个服务之间 通过网络调用优点:易开发、理解和原创 2022-01-30 17:18:04 · 286 阅读 · 0 评论