Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!
当前位置: 主页 > Java文档 > Java基础相关 >

深入理解Spring与Dubbo整合原理与源码分析:从启动类配置到注解解析 PDF 下载


分享到:
时间:2024-02-07 12:34来源:http://www.java1234.com 作者:转载  侵权举报
深入理解Spring与Dubbo整合原理与源码分析:从启动类配置到注解解析
失效链接处理
深入理解Spring与Dubbo整合原理与源码分析:从启动类配置到注解解析 PDF 下载

 
相关截图:
 
主要内容:

服务导出⼤概原理(⾯试时可以这么答)

服务导出的⼊⼝为ServiceBean中的export()⽅法,当Spring启动完之后,通过接收Spring的
ContextRefreshedEvent事件来触发export()⽅法的执⾏。
⼀个ServiceBean对象就表示⼀个Dubbo服务,ServiceBean对象中的参数就表示服务的参数,⽐如
timeout,该对象的参数值来⾄@Service注解中所定义的。

 

服务导出主要得做两件事情:
1. 根据服务的参数信息,启动对应的⽹络服务器(netty、tomcat、jetty等),⽤来接收⽹络请求
2. 将服务的信息注册到注册中⼼

 

但是在做这两件事情之前得先把服务的参数确定好,因为⼀个Dubbo服务的参数,除开可以在@Service注
解中去配置,还会继承Dubbo服务所属应⽤(Application)上的配置,还可以在配置中⼼或JVM环境变量
中去配置某个服务的参数,所以⾸先要做的是确定好当前服务最终的(优先级最⾼)的参数值。
确定好服务参数之后,就根据所配置的协议启动对应的⽹络服务器。在启动⽹络服务器时,并且在⽹络服
务器接收请求的过程中,都可以从服务参数中获取信息,⽐如最⼤连接数,线程数,socket超时时间等
等。

 

启动完⽹络服务器之后,就将服务信息注册到注册中⼼。同时还有向注册中⼼注册监听器,监听Dubbo的
中的动态配置信息变更。

 

服务概念的演化

1. DemoService接⼝表示⼀个服务,此时的服务表示服务定义
2. DemoServiceImpl表示DemoService服务的具体实现,此时的服务表示服务的具体实现
3. DemoService+group+version表示⼀个服务,此时的服务增加了分组和版本概念
4. http://192.168.1.112:80/com.tuling.DemoService表示⼀个服务,此时的服务增加了机器IP和Port,
表示远程机器可以访问这个URL来使⽤com.tuling.DemoService这个服务
5. http://192.168.1.112:80/com.tuling.DemoService?
timeout=3000&version=1.0.1&application=dubbo-demo-provider-application表示⼀个服务,
此时的服务是拥有参数的,⽐如超时时间、版本号、所属应⽤
在dubbo中就是⽤的最后⼀种⽅式来表示服务的。
服务导出要做的⼏件事情:
1. 确定服务的参数
2. 确定服务⽀持的协议
3. 构造服务最终的URL
4. 将服务URL注册到注册中⼼去
5. 根据服务⽀持的不同协议,启动不同的Server,⽤来接收和处理请求
6. 因为Dubbo⽀持动态配置服务参数,所以服务导出时还需要绑定⼀个监听器Listener来监听服务的参数
是否有修改,如果发现有修改,则需要重新进⾏导出

 

 


------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐