闲来偶记

  • 首页

  • 归档

  • 分类

  • 标签

  • 关于

  • 搜索

Dubbo网络通信-编解码

发表于 2018-10-06 | 分类于 Dubbo
Dubbo远程通讯协议头定义 1.为什么Dubbo要自己增加协议扩展? —-为了解决TCP/IP粘包和拆包的问题。 所谓粘包和拆包,就是一个完整的业务数据可能会被TCP拆分成多个包进行发送,也有可能把多个小的包封装成一个大的数据包发送。 2.TCP为什么会出现粘包与拆包? TCP是以流动的方式传输 ...
阅读全文 »

Dubbo如何实现SOA的服务降级

发表于 2018-10-05 | 分类于 Dubbo
服务开关对于在线商城,在下单交易环节,可能需要调用A、B、C三个接口来完成,其中A和B是必须的,C只是附加功能(如在下单的时候推荐相关商品或push消息),可有可无,在平时系统没有压力,容量充足的情况下,调用下没问题,但是在类似618店庆之类的大促环节,系统满负荷运行,此时完全可以不调用C接口,怎么 ...
阅读全文 »

Dubbo服务响应执行过程

发表于 2018-10-05 | 分类于 Dubbo
Dubbo总体设计流程 Provider的响应流程:1234567891011121314151617181920212223242526272829303132NettyHandler.messageReceived -->AbstractPeer.received -->Mu ...
阅读全文 »

Dubbo请求调用分析

发表于 2018-10-04 | 分类于 Dubbo
接下来分析Consumer的请求调用原理。以运行方式启动provider,以debug模式启动consumer。 我们在DemoConsumer类中打断点作为起点来跟踪具体的调用: 1234567891011121314151617181920public class DemoAction ...
阅读全文 »

Dubbo服务引用的设计原理

发表于 2018-10-04 | 分类于 Dubbo
准备首先为了分析服务引用的过程, 需要在源码中修改注册中心的地址如下: dubbo-demo项目的dubbo-demo-consumer/src/test/resources/dubbo.properties 12#dubbo.registry.address=multicast://224.5.6 ...
阅读全文 »

Dubbo服务发布原理

发表于 2018-10-03 | 分类于 Dubbo
序修改dubbo-demo子项目的dubbo-demo-provider模块的main/resources/dubbo-demo-provider.xml中注册中心的配置: 123<!-- 使用multicast广播注册中心暴露服务地址 --><!--<dubbo:regis ...
阅读全文 »

Dubbo的动态编译

发表于 2018-10-02 | 分类于 Dubbo
前面分析SPI机制时,提到createAdaptiveExtensionClass()自动生成和编译一个动态的adpative类。 Compiler的类继承关系: 在Dubbo实现中,默认使用JavassistCompiler进行动态编译,不使用JdKComplier。这一点从Compiler接口 ...
阅读全文 »

Dubbo之Spi机制分析

发表于 2018-10-02 | 分类于 Dubbo
一、Dubbo内核Dubbo内核主要包含SPI、AOP、IOC、Compiler。 二、JDK的SPI1.spi的设计目标: 面向对象的设计里,模块之间是基于接口编程,模块之间不对实现类进行硬编码。一旦代码里涉及具体的实现类,就违反了可插拔的原则,如果需要替换一种实现,就需要修改代码。为了实现在模 ...
阅读全文 »
hnxydq

hnxydq

Nothing lasts forever

8 日志
1 分类
1 标签
RSS
© 2019 hnxydq
 访客   |   访问量