基于分布式思想下的RPC解决方案--笔记
2024-09-20 17:08:40
分布式:
RPC可以提高系统稳定性,比如说,我们的订单服务程序更新出BUG,导致内存溢出,是这台服务器宕机了,但是它只会影响的整个系统的订单业务部分,对于用户注册登录等业务没有影响,同样对于系统的日志记录也没有影响。
RPC:
注册中心:服务端会把它的服务注册到注册中心中,包括服务名称、服务调用的ip地址、端口、协议、还有调用路径等等。
RMI:
RMI接口和实现类不灵活,RMI必须继承和实现Remote接口之类的。
动态代理:
动态代理,两个概念,一个是代理,一个是动态。
代理的本质就是代理模式,代理模式一定要有这三个要素:接口,提供服务的真实对象,代理对象。
三个要素之外还有重要的两个动作,
首先是真实对象以及代理的对象都必须同时继承一个指定的接口。
第二个,这个代理对象必须包含这个真实的对象。
Java实现:
第一个小伙伴,Proxy, 它就是一个调度器,这个是专门调度人.
第二个小伙伴就是Invocationhandler,这个是一个增强器,专门做增强的.
Invocationhandler的源码,这个代码就只有一个方法,我们把这个方法实现了就可以了。
代理模式里面一个重点,代理模式一定要把真实对象包进来。
为什么在RPC中用动态代理增强?-----增强了网络远程调用功能。
ObjectOutputStream和ObjectInputStream结合Socket通讯就是我们实现的网络增强部分的组成.
请配合ppt观看:
链接:https://pan.baidu.com/s/1U6MgOtFOvAn7cEyA0gM6IQ
提取码:hrtv
复制这段内容后打开百度网盘手机App,操作更方便哦
最新文章
- Python抓取页面中超链接(URL)的三中方法比较(HTMLParser、pyquery、正则表达式) <;转>;
- 启动外部exe程序
- pod出现include of non-modular header inside framework module 错误
- HDU2089 暴力打表
- Web前端学习(4):显示图片、url与文件路径
- Beta Scrum Day 4
- 【Unity Shaders】Using Textures for Effects——让sprite sheets动起来
- springboot+jwt做api的token认证
- ES6系列之解构
- css美化滚动条
- Supervisor(Linux/Unix进程管理工具)安装与配置
- grafana+influxdb安装
- iframe中的历史记录问题汇总及解决方案[转]
- IE浏览器中,设置指定程序查看源文件
- Java使用POI导出excel(下)——实例与小技巧
- [ python ] 接口类和抽象类
- JDBC(6)事务处理&;批量处理
- PCA 降维算法详解 以及代码示例
- [比赛|考试]nowcoder NOIPpj组第二场
- web开发学习之路是否有尽头
热门文章
- MAC 下编译 ANDROID P 源码 提示 internal error: Could not find a supported mac sdk: [";10.10"; ";10.11"; ";10.12"; ";10.13";]
- git 基础学习笔记
- 初始化一个static的Map变量
- php session目录找不到的错误 Error session_start(): open(/var/lib/php/session error
- c++的关联容器入门(map and set)
- I.MX6 Android mmm convenient to use
- 《DSP using MATLAB》Problem 2.6
- python eval, exec. compile
- Ant build.xml相关属性详解
- django 模板关闭特殊字符转化