Home Tags Posts tagged with "毕设"

毕设

0 70

写代码之前,我想先整理一下思路。

假设你在开发一款《学生成绩管理系统》的web应用时,你对自己的开发内容是十分清楚的:

  1. web应用是B/S架构;B/S模式是指基于浏览器(Browser)服务器(Server)形式的应用
  2. 正因为web应用是B/S架构,所以你需要编写一些好看的网页,并使得这些网页具有功能入口,这部分称之为前端工作。
  3. 前端工程展示在浏览器上,那浏览器上的数据从何而来?往何处而去?答案就是服务器。因此,你需要将后端工程部署到服务器上使之运行,同时还需要在服务器上配置MySQL,Redis等。

不管先写前端还是先写后端,还是先去部署MySQL这样的服务到服务器上,至少你清楚你要做的事情。

可是面对RPC框架,我还不知道要做什么。我的解决办法是:从应用的核心功能出发去思考,即——远程方法调用。

根据RPC框架中角色的定义:

客户端(Client):服务调用方。最理想的情况是RPC Client在完全不知道有RPC框架存在的情况下发起对远程服务的调用。

服务端(Server):服务提供方。在RPC规范中,这个Server并不是提供RPC服务器IP、端口监听的模块。而是远程服务方法的具体实现(在JAVA中就是RPC服务接口的具体实现)。其中的代码是最普通的和业务相关的代码,甚至其接口实现类本身都不知道将被某一个RPC远程客户端调用。

至此,我们只需要牢记一个概念,RPC框架是支持客户端在不知道调用细节的情况下,调用存在于远程计算机上的某个资源(该资源由服务端实现),就像调用本地应用程序中的资源一样的框架。框架中的所有细节所有技术,都是为了实现这个概念。

为此,我们可以奠定我们开发的核心内容:

  1. 实现客户端
  2. 实现服务端
  3. 实现客户端对服务端提供的远程服务的调用

让我们从最简易的实现开始,一步步的去完善这个框架的细节,支持更多的功能~