最近项目里要用到OAuth2.0 做用户统一验证,加上项目的整体框架是用Spring Boot + Dubbo 微服务搭建的,所以这次OAuth2.0 的实现框架就使用了Spring自家的Spring Boot Security OAuth2。OAuth2作为OAuth的第二个版本,被国内外很多大的软件公司所使用,如国内的BAT,国外的GitHub,Twitter,等等等等。OAuth2为不同系统            
                
         
            
            
            
            一、前沿在上一节中我们分析了集群容错的第一部分 — 服务目录 Directory,服务目录在列举 Invoker 列表的过程中,会通过 Router 进行服务路由,筛选出符合路由规则的 provider,接下来我们分析集群容错的第二部分 — 服务路由 Router服务路由 Router 定义:Router 包含一条路由规则,路由规则决定了 consumer 的调用目标,即规定了 consumer            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-05 18:02:24
                            
                                168阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            接口级或应用级服务发现Dubbo3 默认采用 “应用级服务发现 + 接口级服务发现” 的双注册模式可以通过配置 dubbo.registry.register-mode=instance/interface/all 来改变注册行为。instance : 应用级interface : 接口级all :两者都注册(默认模式)Zookeeper增加 Maven 依赖<properties>            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-05 20:39:55
                            
                                85阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            前言紧接上文Dubbo分析之Protocol层,本文继续分析dubbo的cluster层,此层封装多个提供者的路由及负载均衡,并桥接注册中心,以Invoker为中心,扩展接口为Cluster, Directory, Router, LoadBalance;Cluster接口整个cluster层可以使用如下图片概括:各节点关系:这里的Invoker是Provider的一个可调用Service的抽象,            
                
         
            
            
            
            简介SPI 全称为 Service Provider Interface,是一种服务发现机制。SPI 的本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类。这样可以在运行时,动态为接口替换实现类。正因此特性,我们可以很容易的通过 SPI 机制为我们的程序提供拓展功能。SPI 机制在第三方框架中也有所应用,比如 Dubbo 就是通过 SPI 机制加载所有的组件。不过,D            
                
         
            
            
            
            前言 本文主要接着 上篇 接着Dubbo学习记录(一)zookeeper、dubbo-admin管理平台安装部署来基于springboot用dubbo写了一个RPC简单的实例:实现创建一个简单的服务接口,然后在dubbo的服务端实现该接口并向zookeeper服务器进行注册,客户端向zookeeper服务器订阅该接口并使用。同时,也介绍了一下dubbo,总结了一下spring通过xml配置使用du            
                
         
            
            
            
            在系统架构设计当中,限流是一个不得不说的话题,因为他太不起眼,但是也太重要了。这点有些像古代镇守边陲的将士,据守隘口,抵挡住外族的千军万马,一旦隘口失守,各种饕餮涌入城内,势必将我们苦心经营的朝堂庙店洗劫一空,之前的所有努力都付之一炬。所以今天我们点了这个话题,一方面是要对限流做下总结,另一方面,抛砖引玉,看看大家各自的系统中,限流是怎么做的。提到限流,映入脑海的肯定是限制流量四个字,其重点在于如            
                
         
            
            
            
            dubbo如何集成路由1.默认路由是怎么设置的消费者服务启动时,会监听注册中心的变更。所以我调用下面的方法//RegistryDirectory
public synchronized void notify(List<URL> urls) {
        // 根据 URL 的分类或协议,分组成三个集合 。
       //.......省略代码
        // 2.ro            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-30 12:23:02
                            
                                56阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、覆盖策略JVM启动-D参数优先,这样可以使用户在部署和启动时进行参数重写,比如在启动时需改变协议的端口。XML次之,如果在XML中有配置,则dubbo.properties中的相应配置项无效。Properties最后,相当于缺省值,只有XML没有配置时,dubbo.properties的相应配置项才会生效,通常用于共享公共配置,比如应用名。详见官方文档:http://dubbo.apache.            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-14 10:51:45
                            
                                30阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            文章目录一、前言1. dubbo-admin二、Router1. 调用时机三、MockInvokersSelector四、TagRouter1. 标签路由1.1 标签格式1.2 路由降级约定1.3 简单演示2. 代码实现2.1 TagRouter#notify2.2 TagRouter#route五、ConditionRouter六、多分组情况下路由失效 一、前言本系列为个人Dubbo学习笔记,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-06 19:16:56
                            
                                102阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            配置原则JVM 启动 -D 参数优先,这样可以使用户在部署和启动时进行参数重写,比如在启动时需改变协议的端口。 XML 次之,如果在 XML 中有配置,则 dubbo.properties 中的相应配置项无效。 Properties 最后,相当于缺省值,只有 XML 没有配置时,dubbo.properties 的相应配置项才会生效,通常用于共享公共配置,比如应用名。服务检查:check值为tru            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-22 20:56:36
                            
                                54阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1 基础知识2 Dubbodubbo 是一个面向接口代理的高性能rpc框架,支持服务的自动注册和发现,有多重负载均衡策略, 支持灰度发布,可视化的服务治理与运维。1.引入依赖2.创建配置xml:生产者的配置文件:消费者的配置文件:3 springBoot整合dubbo 导入依赖 配置文件:生产者的配置: application.properties消费者的配置: application.prope            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-09 15:35:30
                            
                                56阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            从标题就知道,这次我讲的是集群容错中的第二个关键词 Router,中文意思就是 路由,这个 路由是个很有意思的词汇.因为前端的 路由和后端的 路由他们是不同的,但是思想是基本一致的.鉴于很多技术文章都有一个诟病,就是只讲 概念...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-07-30 10:02:31
                            
                                235阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            来想象这样一个场景:你的垂直电商系统部署的 IDC 机房,在某一天发布了公告说,机房会在第二天凌晨做一次网络设备的割接,在割接过程中会不定时出现瞬间或短时间网络中断。机房网络的中断肯定会对业务造成不利的影响,即使割接的时间在凌晨(业务的低峰期),作为技术负责人的你,也要尽量思考方案来规避隔离的影响。然而不幸的是,在现有的技术架构下,电商业务全都部署在一个 IDC 机房中,你并没有好的解决办法。而            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-26 12:57:25
                            
                                18阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Dubbo源码解析 --- DIRECTORY和ROUTER今天看一下Directory和Router。我们直接从代码看起(一贯风格),先看后总结,对着总结再来看,相信会收获很多。我们先看com.alibaba.dubbo.config.ReferenceConfig的createProxy:if (urls.size() == 1) {
	invoker = refprotocol.refer(            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-25 15:22:23
                            
                                40阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前言本文基于Dubbo2.6.x版本,中文注释版源码已上传github:xiaoguyu/dubbo今天,来聊点短的,服务路由Router,本文讲的是路由的调用路径,不讲路由的规则解析。想了解规则解析的可以去官方文档:服务路由Dubbo的路由,就是根据规则,规定了哪些服务消费者可调用哪些服务提供者。怎么用我们可以在服务治理控制台Dubbo-Admin写入路由规则。安装Dubbo-Admin我是使用            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-18 11:06:19
                            
                                124阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            近几年随着微服务化项目的崛起,逐渐成为许多公司中大型分布式系统架构的主流方式,而今天所说的 RPC 在这其中扮演着至关重要的角色。什么是RPC?RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的方法,由于不在一个内存空间,不能            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-15 14:05:09
                            
                                44阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1、dubbo环境1.引入dubbo<!-- 引入dubbo -->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>dubbo</artifactId>
			<version>2.6.2</version>
		<            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-11 12:53:40
                            
                                74阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            121212
dubbo负载均衡策略
RandomLoadBalance--随机负载均衡
默认情况下,dubbo是RandomLoadBalance,随机调用实现负载均衡,可以对不同provider设置不同的权重,会按照权重来进行负载均衡,权重越大分配流量分配越高,一般实用默认就可以。
RoundRobinLoadBalance--循环负载均衡
默认是均匀的将流量打到各个节点的机器上,但是如果各            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-26 21:32:00
                            
                                24阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            title: Dubbo超时控制源码分析 tags:dubbotimeout超时url categories: dubbo date: 2017-06-25 18:18:53我们在么dubbo声明超时大约可以分如下几个层次  上图中以timeout为例,显示了配置的查找顺序,其它retries, loadbalance, actives等类似。方法级优先,接口级次之,全局配置再次之。如果级别一样,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-27 21:40:15
                            
                                0阅读