分布式\微服务
文章平均质量分 92
SpringCloud、Zookeeper、Dubbo、RabbitMQ
柚几哥哥
用科技让复杂的世界更简单
展开
-
Java实现对象存储的4种方式(本地对象存储、MINIO、阿里云OSS、FastDFS)
对象存储(Object Storage)是一种数据存储架构,它以对象(Object)为基本单位管理数据,区别于传统的文件存储(按目录层级组织)和块存储(主要用于磁盘和卷)。在对象存储中,每个对象包含数据本身、可变数量的元数据(描述数据的信息)和一个全局唯一的标识符(通常是对象的名称或键)。这种存储模型非常适合处理非结构化数据,如图片、视频、文档等。2、本地对象存储3、MINIO4、阿里云OSS5、FastDFS原创 2024-05-29 18:00:39 · 2873 阅读 · 1 评论 -
Dubbo 快速上手
”Dubbo”是阿里巴巴开源的基于 `Java` 的高性能` RPC`(一种远程调用) 分布式服务框架,致力于提供高性能和透明化的`RPC`远程服务调用方案,以及`SOA`服务治理方案**。1.1 核心功能:远程通讯、集群容错、自动发现;1.2 架构演变:单体架构、垂直应用框架、分布式应用架构、分布式架构-SOA面向服务架构、分布式结构-微服务。2.3 `RPC`需要解决的问题;3.`Dubbo`作用;4.`Dubbo` 和 `Spring Cloud`区别;5.`Dubbo`技术架构;原创 2023-12-26 14:02:15 · 919 阅读 · 0 评论 -
Seata 处理分布式事务
Seata 处理分布式事务:Seata是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。分布式事务的处理过程:1 ID+ 3 组件模型1 ID:全剧唯一的事务ID术语3组件:- Tc-事务协调者:维护全局和分支事务的状态,驱动全局事务提交或回滚。- TM-事务管理器:定义全局事务的范围︰开始全局事务、提交或回滚全局事务。- RM-资源管理器:管理分支事务处理的资源,与TC交谈以注册分支事务和报告分支事务的状态,并驱动分支事务提交或回滚。原创 2023-07-12 14:53:03 · 327 阅读 · 0 评论 -
Sentinel 熔断与限流
Sentinel 熔断与限流:分布式系统的流量防卫兵随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel以流星为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。1、流量配置规则;2、熔断降级;3、热点规则;4、系统规则;5、熔断框架比较;6、Sentinel的规则持久化原创 2023-07-12 14:50:06 · 1048 阅读 · 0 评论 -
Nacos 服务注册和配置中心
Nacos 服务注册和配置中心:一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos = Eureka + Config + Bus。1、Nacos发现实例模型;2、注册中心对比;3、Nacos 支持AP和CP模式的切换;4、Nacos 服务配置;5、Nacos 集群是持久化配置原创 2023-07-12 14:46:46 · 216 阅读 · 0 评论 -
Hystrix 断路器
Hystrix 断路器:Hystrix是一个用于处理分布式系统的**延迟**和**容错**的开源库,在分布式系统里,许多依赖不可避免的会调用失败,比如超时、异常等Hystrix能够保证在一个依赖出问题的情况下,不会导致整体服务失败,避免级联故障,以提高分布式系统的弹性。1、服务降级;2、服务熔断;3、服务限流;4、服务监控 hystrixDashboard原创 2023-07-12 14:43:26 · 385 阅读 · 0 评论 -
OpenFeign 服务接口调用
Feign是一个声明式WebService客户端。使用Feign能让编写Web Service客户端更加简单。它的使用方法是定义一个服务接口然后在上面添加注解。Feign也支持可拔插式的编码器和解码器。Spring Cloud对Feign进行了封装,使其支持了Spring MVC标准注解和HttpMessageConverters。Feign可以与Eureka和Ribbon组合使用以支持负载均衡原创 2023-07-12 14:40:10 · 215 阅读 · 0 评论 -
Ribbon 负载均衡服务调用
Ribbon 负载均衡服务调用:Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具。主要功能是提供客户端的软件负载均衡算法和服务调用。1、Ribbon工作流程;2、自定义Ribbon 负载均衡算法原创 2023-07-12 14:37:08 · 960 阅读 · 0 评论 -
SpringCloud Alibaba微服务分布式架构组件演变
SpringCloud Alibaba:1、服务注册中心:Eureka、Zookeeper、Consul、Nacos;2、服务调用:Ribbon、LoadBalancer、Feign、OpenFeign;3、服务降级:Hystrix、Resilience4j、Sentinel;4、服务网关:Zuul、Gateway;5、服务配置:Config、Nacos;6、服务总线:Bus、Nacos;6、分布式事务解决方案:seata原创 2023-07-12 14:23:10 · 1844 阅读 · 0 评论 -
SpringCloud 性能优化
Springcloud的性能问题、Servlet 容器 优化、Feign 配置优化、Zuul配置 优化、hystrix配置 优化、ribbon 优化原创 2023-05-24 10:05:33 · 1766 阅读 · 0 评论 -
滑动窗口算法实现单位时间API限流
通过对一个时间窗口内的请求量进行限制来保障系统的正常运行。如果我们的服务资源有限、处理能力有限,就需要对调用我们服务的上游请求进行限制,以防止自身服务由于资源耗尽而停止服务。将一个时间窗口分为5份。每一份里面都有一个独立计数器c。在时间轴上的一个时间窗口内,没当请求过来的时候,就会求计数器 c1+c2+c3+c4+c5的和,当达到阀值就拒绝,没达到当前小格子里面的计数器就加1。滑动窗口算法是固定窗口算法的优化版本,主要是为了解决固定窗口中的零界值问题导致限流失败的问题。在限流中有两个概念需要了解。原创 2023-04-26 18:00:15 · 624 阅读 · 2 评论 -
SSO 单点登录
1、SSO说明SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。SSO(Single Sign On)_百度百科例如访问在网易账号中心(网易邮箱帐号安全中心)登录之后 访问以下站点都是登录状态网易直播https://v.163.com 网易博客https://blog.163.com 网易花田https://love.163.com 网易考拉https://www.kaola.com 网易Loft...原创 2022-02-10 19:14:20 · 693 阅读 · 1 评论 -
微信支付 SpringCloud+Vue
微信支付1、创建二维码1、安装 qrcodejs2 (注意:安装的是qrcodejs2,不要安装qrcode ---> 会报错)npm install qrcodejs2 --save2、页面中引入<el-dialog :visible.sync="dialogFormVisible" style="width:800px;margin:0px auto;" > <h1 style="font-size:30px;color:#00B38A">.原创 2022-01-20 19:19:15 · 468 阅读 · 4 评论 -
微信登录 SpringCloud+Vue
微信开放平台(针对开发者和公司)准备工作 | 微信开放文档1、准备工作 网站应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统。 在进行微信OAuth2.0授权登录接入之前,在微信开放平台注册开发者帐号,并拥有一个已审核通过的网站应用,并获得相应的AppID和AppSecret,申请微信登录且通过审核后,可开始接入流程。 注册帐号和申请应用都是免费的,必须要有一个线上的网站,才能审核通过(过程还是挺麻烦的),就可以使用微信的登录了原创 2022-01-20 19:02:09 · 1017 阅读 · 2 评论 -
Alibaba Cloud SDK播放器
播放组件 我们采用阿里云视频点播方案 阿里官网:什么是视频点播 - 产品简介| 阿里云 高端的额外服务是按照流量收取费用的 改造前端项目,加入阿里播放组件 在vue项目的public目录中的index.html文件中引入css和js <link rel="stylesheet" href="https://g.alicdn.com/de/prismplayer/2.8.2/skins/default/aliplayer-min.css" />原创 2022-01-20 17:17:27 · 828 阅读 · 2 评论 -
Java微服务 面试题
Java面试题大全免费下载地址:Java面试题大全.pdf-其它文档类资源-CSDN下载Nginx的作用http服务器:一般用于部署静态资源,和部署动态资源的服务器(如tomcat)分开部署,实现动静分离,达到服务器性能的最大化。 反向代理:代理后台服务器,通过配置实现灵活的路由。 负载均衡:将大量的用户请求,均衡的分配给多台服务器。反向代理正向代理和反向代理的区别:正向代理:代理客户端;(通过VPN代理服务器间接访问国外网站)反向代理:代理服务器。(业务部署到不同的服务器,通过N原创 2022-01-11 17:21:50 · 660 阅读 · 2 评论 -
SCA Sentinel 分布式系统的流量防卫兵
第 1 节 SCA Sentinel 分布式系统的流量防卫兵1.1 Sentinel 介绍1.1.1 简介Sentinel是一个面向云原生微服务的流量控制、熔断降级组件。替代Hystrix,针对问题:服务雪崩、服务降级、服务熔断、服务限流Hystrix:服务消费者(静态化微服务)—>调用服务提供者(商品微服务)在调用方引入Hystrix1)自己搭建监控平台 dashboard2)没有提供UI界面进行服务熔断、服务降级等配置(使用的是@HystrixCommand参数原创 2021-12-23 16:50:10 · 160 阅读 · 1 评论 -
SCA 第二代 Spring Cloud 核心组件
1 第二代 Spring Cloud 核心组件(SCA)SpringCloud 是若干个框架的集合,包括 spring-cloud-config、spring-cloud-bus 等近 20 个子项目,提供了服务治理、服务网关、智能路由、负载均衡、断路器、监控跟踪、分布式消息队列、配置管理等领域的解决方案。Spring Cloud 通过 Spring Boot 风格的封装,屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、容易部署的分布式系统开发工具包。一般来说,Spring Cloud 包原创 2021-12-23 16:45:06 · 609 阅读 · 1 评论 -
Spring Cloud Config 分布式配置中心
1.1 分布式配置中心应用场景往往,我们使用配置文件管理一些配置信息,比如application.yml单体应用架构,配置信息的管理、维护并不会显得特别麻烦,手动操作就可以,因为就一个工程;微服务架构,因为我们的分布式集群环境中可能有很多个微服务,我们不可能一个一个去修改配置然后重启生效,在一定场景下我们还需要在运行期间动态调整配置信息,比如:根据各个微服务的负载情况,动态调整数据源连接池大小,我们希望配置内容发生变化的时候,微服务可以自动更新。场景总结如下:1)集中配置管理,一个微服务原创 2021-12-23 16:40:56 · 154 阅读 · 0 评论 -
Feign远程调用组件 和 GateWay网关组件
在之前的案例中,服务消费者调用服务提供者的时候使用RestTemplate技术。 1.1 Feign简介Feign是Netflix开发的一个轻量级RESTful的HTTP服务客户端(用它来发起请求,远程调用的),是以Java接口注解的方式调用Http请求,而不用像Java中通过封装HTTP请求报文的方式直接调用,Feign被广泛应用在Spring Cloud 的解决方案中。类似于Dubbo,服务消费者拿到服务提供者的接口,然后像调用本地接口方法一样去调用,实际发出的是远程的请求。 Fe.原创 2021-12-23 16:26:38 · 2617 阅读 · 1 评论 -
Ribbon 负载均衡 和 Hystrix熔断器
1 Ribbon负载均衡1.1 关于负载均衡负载均衡一般分为服务器端负载均衡和客户端负载均衡所谓服务器端负载均衡,比如Nginx、F5这些,请求到达服务器之后由这些负载均衡器根据一定的算法将请求路由到目标服务器处理。所谓客户端负载均衡,比如我们要说的Ribbon,服务消费者客户端会有一个服务器地址列表,调用方在请求前通过一定的负载均衡算法选择一个服务器进行访问,负载均衡算法的执行是在请求客户端进行。Ribbon是Netflix发布的负载均衡器。Eureka一般配合Ribbon进行使用,R原创 2021-12-23 16:19:57 · 407 阅读 · 0 评论 -
Spring Cloud 体系架构
第 1 节 Spring Cloud 是什么[百度百科]Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留原创 2021-12-23 16:09:23 · 1714 阅读 · 2 评论 -
微服务架构演进
第 1 节 互联网应用架构演进随着互联网的发展,用户群体逐渐扩大,网站的流量成倍增长,常规的单体架构已无法满足请求压力和业务的快速迭代,架构的变化势在必行。下面我们就以系统网的架构演进为例,从最开始的单体架构分析,一步步的到现在的微服务架构。淘宝:LAMP,Linux、Apache、MySQL、PHP1)单体应用架构在诞生之初,系统的用户量、数据量规模都比较小,项目所有的功能模块都放在一个工程中编码、编译、打包并且部署在一个Tomcat容器中的架构模式就是单体应用架构,这样的架构既简单实用、原创 2021-12-23 15:30:22 · 842 阅读 · 0 评论