8 BazingaLyncc

尚未进行身份认证

暂无相关描述

等级
博文 120
排名 5k+

Dubbox 链路追踪(基于Brave+Zipkin的简单实现)上

很多时候,我们都能体会到分布式架构的话好处,其实一个系统不大,做分布式的成本是很高的,系统变得松耦合,这样做的好处不言而喻,说说坏处吧,A系统远程调用B系统,B系统又依赖C,D系统,当线上某个接口报错,或者超时的时候,亦或者是业务问题的时候,定位一个问题是麻烦的,因为日记不在一个系统里面,排查问题的时候,需要花费很大的时间,往往定位问题的所在比解决这个问题花的时间长的多,所以解决这个问题,才会出来

2017-01-12 17:15:49

Dubbox 基本特性之泛化调用

Dubbo是支持泛化调用的,什么是泛化调用呢,泛化调用的好处是什么呢,泛化调用说白一点就是服务消费者并没有服务的接口,学了前面几章的内容之后,你肯定会发现,在我们开发写Demo的时候,必做的一件事情,就是在服务消费者和服务提供者两端同路径下有同样的接口,只不过在服务提供者端会有该接口的具体实现,之所以在服务消费者有一个没有任何具体实现的接口,是因为在设计RPC之初,设计者的最高理念就是你去面向接

2017-01-10 14:45:47

Dubbox 基本特性之直接调用

Dubbo的原作者梁飞说过,其实对于远程调用RPC来说,远程调用的大白话理解就是服务消费者直接通过网络IO传递参数,传递方法名,服务提供者获取到参数,方法名之后通过反射来调用本地的方法,执行完本地的方法之后,将结果再通过网络传递给调用方,这个过程就是RPC最最简单也是最最精髓的实现,关于注册中心,其实是服务治理的模块,注册中心方便服务的管理,发现,统计等等好处,注册中心把服务提供者的地址发送给服务

2017-01-10 13:30:45

Dubbox 基本特性之结果缓存

3.3Dubbo结果缓存 3.3.1结果缓存  缓存的好处不用多说,在传统的业务开发中,引入缓存可以帮助减轻数据库的压力,在分布式的系统中,引入缓存有两种方式,第一种是在调用者,也就是消费者端引入缓存,如果能够命中缓存,则默认读取缓存中的内容,不需要再进行远程调用,这样就减少了一次IO请求,也能减少服务提供者的压力,第二种就是在服务提供者提供缓存,同样的请求,把对请求的结果缓

2017-01-03 10:40:34

Dubbox 基本特性之异步调用

相对比与前一个小节来说,异步调用的功能也是很实用的,现在异步化的操作是越来越多了,异步化的好处也是比较明显的,可以加快后台的处理效率,做到代码直接的解耦,Dubbo就是一个支持异步调用的RPC框架  3.2.1异步调用的场景假设系统A,远程调用B系统的某个方法,这个方法与数据库的交互很多,逻辑相对复杂,正常的代码执行的时间是3秒,A系统调用完B系统之后,还需要做一些其他的逻辑操作

2016-12-27 17:15:48

Dubbox 基本特性之参数验证

Dubbo作为史上功能最全的RPC框架并不是浪得虚名,在能保证性能的基础上,有这么多的特性,的确是很强,我们先来列举一下dubbo的特性:本章将会抽选出一些比较常用的一些特性,给出具体的代码实现,方便大家的理解。例如参数验证,结果缓存等给出具体的栗子,当然dubbox对dubbo进行了增强了,我们也会给出对restful,序列化等栗子,方便大家一起学习3.1Dubbo

2016-12-21 14:58:19

Dubbox 环境搭建

Dubbox简介 Dubbox是一个开源的RPC(RemoteProcedureCallProtocol)远程调用框架,是由dangdang对阿里的Dubbo的升级,可以被视为Dubbo的增强版,基本架构没有变动,升级spring2.x到spring3.x,支持restful风格的调用调试方式,丰富了序列化的方式,提高了序列化的性能。 Dubbox的Github官网:htt

2016-12-20 10:01:04

搭建新浪RPC框架motan Demo

motan是新浪微博开源的RPC框架,github官网是:https://github.com/weibocom/motan今天就先搭建一个Helloworlddemo,本demo基于motan0.2.1版本首先先去github下载源代码(motan-manager报错请忽略,eclipse的webModule不兼容):选中motan下的pom.xml,

2016-11-10 15:45:27

一起写RPC框架(二十七)RPC 写在最后

sigh,很遗憾,没有写完整,还有很多想做而没有做的事情,总结一下想做而没有做的事情吧1)性能测试,没有条件和环境给我做这个事情2)对portal,对页面的支持,没有一个可以直观的可视页面3)注册中心对zookeeper的支持4)监控中心链路调用的追踪的支持,这个很重要,不过没有做当然这是一个比较简单的RPCDEMO,一个学习的工具,希望对大家有提升就可以了,

2016-10-19 19:20:54

一起写RPC框架(二十七)RPC测试篇四---性能测试

性能测试的代码我也写了https://github.com/BazingaLyn/laopopo-rpc/tree/master/laopopo-example/src/main/java/org/laopopo/example/benchmark单机测试结果(Server/Client)放在同一台机器上(条件所限制)结果也写在代码的头部了,就不一一演示了,有热情的同学可以帮忙

2016-10-19 19:20:44

一起写RPC框架(二十六)RPC测试篇三---限流的测试

本小节测试一下限流的功能,首先我们先定义一个简单的类,配置一下它单位时间最大的调用次数packageorg.laopopo.example.generic.test_5;importorg.laopopo.client.annotation.RPCService;importorg.laopopo.example.demo.service.HelloSerivce;public

2016-10-19 19:20:24

一起写RPC框架(二十五)RPC测试篇二---服务消费者和服务提供者直连测试

因为在某些场合下,服务提供者和服务消费者是直接可以调用的,不需要通过注册中心,本小节测试直连的调用:服务提供者的代码:packageorg.laopopo.example.generic.test_4;importorg.laopopo.client.provider.DefaultProvider;importorg.laopopo.common.exception.

2016-10-19 19:20:07

一起写RPC框架(二十四)RPC测试篇一---基本业务逻辑的测试

进入了基本的测试篇,首先我们先进入基本的代码测试,我们先跑通代码:首先我们先写两个简单的接口:HelloService.javapackageorg.laopopo.example.demo.service;/****@authorBazingaLyn*@description*@time*@modifytime*/publ

2016-10-19 19:19:08

一起写RPC框架(二十三)RPC代码小总结

本来想多写点文字的,不过发现自己的表达能力的确有限,现在还是理解为啥大神都是贴代码,不做解释了,的确很难说明一切,大神的代码易懂,看到代码就基本上知道啥意思了,这就是所谓的妙笔生花吧,我不能,所以多写一点文字多加一点注释,这也是没有办法的事情RPC基本的代码上述22个小节所总结的,代码陆陆续续写了一个月,不过博客却是因为各种事情耽误了2个月,进度很慢,行百里者半九十,估计就是这个道理吧

2016-10-19 19:18:46

一起写RPC框架(二十二)RPC服务消费者四--服务消费者服务编织

对于远程调用来说,最高境界就是让使用者不知道此处代码是远程调用一样,感觉就是调用本地的某个普通方法,封装底层调用的细节,这是我们服务消费端最后要做的事情比如,消费者需要调用此接口的方法packageorg.laopopo.example.generic.test_2;importorg.laopopo.client.annotation.RPConsumer;publi

2016-10-19 19:18:23

一起写RPC框架(二十一)RPC服务消费者三--服务消费者负载策略

所谓负载策略,其实相对比较简单,某个消费者去远程调用某个服务,不过提供这个服务不止一个实例,那么建立的长连接就不止一个,所以需要做的事情就是根据某个策略在这个长连接中选择一个进行通讯本DemoRPC只实现了三个比较常用的负载策略1)随机2)加权随机3)轮询下面给出实现:packageorg.laopopo.client.loadbalance;imp

2016-10-19 19:17:42

一起写RPC框架(二十)RPC服务消费者二--服务消费者订阅服务

订阅服务看起来是比较简单容易实现的功能,乍一看,就是发送订阅服务的名称给注册中心,然后注册中心反馈给服务消费者,感觉万事大吉,其实并不是这样的,这块是比较容易实现的,使用Netty很容易就能实现了,但是写的时候就会发现各种问题

2016-10-19 19:17:21

一起写RPC框架(十九)RPC服务消费者一--服务消费者简介

服务消费者也就是我们最最核心的主角,它是整个RPC中的主角,一切都是为它服务的

2016-10-19 14:50:25

一起写RPC框架(十八)RPC注册中心五--注册中心之持久化的操作

介绍注册中心的功能的小节,我们曾经说过,注册中心要有持久化的操作,将一些服务的审核信息放到硬盘上,这样做的原因就是因为我们所有的服务信息都是放在内存里面的,如果注册中心的实例宕掉,或者服务器因为某种原因停止的时候,这样某些服务的审核记录就无法找回,为了避免这样的问题,我们需要做的事情就是把这些服务审核信息定时刷盘,把这些信息保存到硬盘上去,然后每个注册中心服务启动的时候,去硬盘上去恢复这些信息,这

2016-10-19 14:48:56

一起写RPC框架(十七)RPC注册中心四--注册中心服务消费者端的处理

上个小节简单的描述了一下注册中心如何处理与服务提供者的交互问题,也列举了几个简单的代码片段,中间有几个场景是需要通知服务消费者的几个业务逻辑的1)当服务消费者服务发布成功且审核通过的情况下

2016-10-19 14:47:39
奖章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!