之前持续分享的几十期阿里Java面试题中,几乎每次必问Dubbo,比如:“如何从0到1设计一个Dubbo的RPC框架”,其实主要考验两点:你对RPC框架的底层原理掌握程度。以及考验你的整体RPC框架系统设计能力。RPC和RPC框架1.RPC(Remote Procedure Call)即远程过程调用, 主要解决远程通信间的问题,不需要了解底层网络的通信机制。2.RPC框架RPC框架负责屏蔽底层的传            
                
         
            
            
            
            一、分布式系统分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统,分布式系统(distributed system)是建立在网络之上的软件系统。垂直应用架构1. 做不到界面+业务逻辑实现分离
2. 应用不可能完全独立,大量的应用之间需要交互分布式应用架构1. 可以做到点后端分离
2. 应用之间的相互调用二、RPC(远程过程调用)什么叫RPCRPC【Remote Procedu            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-08 22:26:43
                            
                                54阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            文章目录:1.RPC & 软件架构1.1 单一应用架            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-05-09 10:16:35
                            
                                295阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            目录一、dubbo 服务化最佳实践1. 分包2. 粒度3. 版本二、改造 dubbo 项目三、link-interface1. pom.xml2. 实体类3. 公共接口四、提供者1. pom.xml2. 接口实现3. 服务提供者的核心配置文件4. 添加监听器5. 配置Tomcat五、消费者1. pom.xml2. 服务消费者的核心配置文件3. controller4. applicationCon            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-06 17:06:39
                            
                                195阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1,首先,了解dubbo直连的过程原理:就是provider提供一个服务器地址,consumer直接调用已经指定的服务器地址,即可直连成功;不需要注册中心注册地址;2,环境搭配:系统:win10, IDEA,java 8, Maven : apache-maven-3.5.3, tomcat 7: apache-tomcat-7.0.86环境变量配置可以参考前面一篇 ” windows10环境搭载            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-24 16:29:59
                            
                                78阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Spring-boot+Dubbo(直连模式)Demo这里应该有很多人会问,直连模式(什么鬼啊),一般情况下我们进行微服务开发时,都是通过zookeeper等注册中心来实现服务的提供和引用的,那直连模式没啥用啊!其实不然,直连模式大有用处,当你要验证服务是否连通或者验证服务是否成功时,直连模式可以大大节省时间,不需要每台服务器的去配zookeeper的环境了.第一步:先搭建项目的结构我们都知道du            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-09 15:31:09
                            
                                629阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            dubbo功能非常完善,很多时候我们不需要重复造轮子,下面列举一些你不一定知道,但是很好用的功能;直连Provider在开发及测试环境下,可能需要绕过注册中心,只测试指定服务提供者,这时候可能需要点对点直连,点对点直连模式,将以服务接口为单位,忽略注册中心的提供者列表,A 接口配置点对点,不影响 B 接口从注册中心获取列表(说明:官方只建议开发&测试环境使用该功能),用法如下,url指定的            
                
         
            
            
            
              高可用就是通过设计和调整服务的架构来减少系统不能提供服务的时间,使系统能够7*24小时不间断地提供服务。 一、zookeeper宕机与dubbo直连  1、zookeeper宕机   在服务提供者和服务消费者都启动起来之后,如果注册中心宕机了并不会影响在宕机之前注册的服务,这个时候消费者依然能够正常的调用服务提供者提供的服务。这是因为,服务消费者启动之后会从注册中心获取服务地址列表,并缓存至本            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-01 10:19:57
                            
                                249阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
                        
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-07-13 16:50:19
                            
                                203阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前言:KCP是一个可靠的协议,它的延迟率比起tcp低很多。在游戏和视频推流领域广泛使用。在TCP是为流量设计的(每秒内可以传输多少KB的数据),讲究的是充分利用带宽。而 KCP是为流速设计的(单个数据包从一端发送到一端需要多少时间),以10%-20%带宽浪费的代价换取了比 TCP快30%-40%的传输速度。文章中内容解析了整个kcp的传输数据数据包组成。系统:       mac OS 10.14            
                
         
            
            
            
            1 Dubbo服务化最佳实践1. 分包建议将服务接口,服务模型,服务异常等均放在API包中,因为服务模型及异常也是API的一部分, 同时,这样做也符合分包原则:重用发布等价原则(REP),共同重用原则(CRP) 如果需要,也可以考虑在API包中放置一份spring的引用配置,这样使用方,只需在Spring加载过程中引用此配置即可, 配置建议放在模块的包目录下,以免冲突,如:com/alibaba/            
                
         
            
            
            
            本文是作者根据官方文档以及自己平时的使用情况,对 Dubbo 所做的一个总结。Dubbo 官网:http://dubbo.apache.org/zh-cn/index.htmlDubbo 中文文档: http://dubbo.apache.org/zh-cn/index.html目录:一 重要的概念1.1 什么是 Dubbo?1            
                
         
            
            
            
            Map接口介绍 java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMap.Map主要用于存储健值对,根据键得到值,因此不允许键重复(重复了覆盖了),但允许值重复。HashMap HashMap最多只允许一条记录的键为Null;允许多条记录的值为Null。HashMap不支持线程的同步,            
                
         
            
            
            
            前言最近一直在部署环境,终于到可以上手写go了,项目组里使用的go-zero,所以今天这篇文字给大家介绍一下这个框架。推荐配合食用更佳更为具体的配置和原理可以看这些文章https://github.com/zeromicro/zero-doc/blob/main/doc/shorturl.mdhttps://github.com/zeromicro/go-zero/blob/master/read            
                
         
            
            
            
            1.什么叫线程池吗?所谓的线程池指的就是一组线程对象被统一的一个外部对象包装(池对象),而后在这个池里面就可以利用这些线程对象一起完成更高效的程序开发,也就是所有的任务的执行都是采用了并发执行的模式完成。而JDK 1.5之后提供有java.util.concurrent开发包,这个开发包就是负责并发执行的操作开发包。2.spring代理机制JDK自带实现方法 和 用CGLIB包实现 区别和优缺点区            
                
         
            
            
            
             RPC 起源RPC 这个概念术语在上世纪 80 年代由 Bruce Jay Nelson 提出。这里我们追溯下当初开发 RPC 的原动机是什么?在 Nelson 的论文 "Implementing Remote Procedure Calls" 中他提到了几点:简单:RPC 概念的语义十分清晰和简单,这样建立分布式计算就更容易。高效:过程调用看起来十分简单而且高效。通用:在单机计算中过            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-21 11:50:01
                            
                                29阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            dubbo直连案例1.dubbo是什么?2.dubbo框架结构图3.为什么说dubbo性能高4. dubbo支持的协议5. dubbo直连案例(没有注册中心) 1.dubbo是什么?dubbo是由阿里基于java开发的一个rpc(远程调用过程)框架,它提供了三大核心功能:面向接口的远程方法调用,智能容错和负载均衡,服务自动注册与发现。2.dubbo框架结构图 1.服务提供者(Provider)            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-07 22:02:25
                            
                                94阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            xml文件读取参考:上文讲到dubbo接口测试中点对点的直连方式,需要明确dubbo服务的路径和接口名,如果项目dubbo服务太多的情况下,手动配置显然是下下之策,所以想到有没有什么方式能够把dubbo服务的信息获取到,然后自动生成xml配置文件。方法则是通过zkclient连接到dubbo服务的注册中心zookeeper,然后在zookeeper上面拿到对应服务的相关信息。pom.xml文件配置            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-04 06:21:42
                            
                                96阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            文章目录Dubbo是什么RPC又是什么说说Dubbo的分层能说下Dubbo的工作原理吗为什么要通过代理对象通信说说服务暴露的流程说说服务引用的流程有哪些负载均衡策略集群容错方式有哪些了解 Dubbo SPI 机制吗说说Dubbo支持哪些协议Dubbo中都用到哪些设计模式如果让你实现一个RPC框架怎么设计 Dubbo是什么Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-18 13:23:24
                            
                                30阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
                    在rust编程语言的官方介绍中,对于Box智能指针介绍比较简单,只说其可以包裹一个变量,将变量存在堆上,Box中包含堆上的地址。同时Box指针实现了自动解引用trait。在实际操作中,也确实类似,对其操作与对普通类型操作类似,支持连续引用和解引用,在编译器不能自动解引用时,需要手动解引用。Box指针看似简单,实际上在复杂的应用场景中也有很多情            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-08 13:47:06
                            
                                264阅读