1.应用场景
主要用于学习RPC的原理,工作流程,拆解和组装一个简单的RPC框架。 |
2.学习/操作
1.文档阅读
2.整理输出2.1 框架主体模块2.2 原理和程序的结构
2.3 通信与序列化
2.4 客户端
2.5 服务端
临时插入我们这个例子中注册中心的实现类是 LocalFileNameService,它的实现比较简单,就是去读写一个本地文件,实现注册服务 registerService 方法时,把服务提供者保存到本地文件中;实现查找服务 lookupService 时,就是去本地文件中读出所有的服务提供者,找到对应的服务提供者,然后返回。 这里面有一点需要注意的是,由于这个本地文件它是一个共享资源,它会被 RPC 框架所有的客户端和服务端并发读写。所以,这时你要怎么做呢?对,必须要加锁! 由于我们这个文件可能被多个进程读写,所以这里不能使用我们之前讲过的,编程语言提供的那些锁,原因是这些锁只能在进程内起作用,它锁不住其他进程。我们这里面必须使用由操作系统提供的文件锁。这个锁的使用和其他的锁并没有什么区别,同样是在访问共享文件之前先获取锁,访问共享资源结束后必须释放锁。 具体的代码你可以去查看 LocalFileNameService 这个实现类。 课后练习题要求你基于 JDBC 协议实现一个注册中心,这样就可以支持跨服务器来访问注册中心。 GitHub - liyue2008/simple-rpc-framework at jdbc-nameservice 后续补充 ... |
3.问题/补充
1. 关于注册中心
|
4.参考
参见文档阅读列表 |
后续补充
...