博客中代码地址:https://github.com/farliu/farpc.git
dubbo结构
直至上一章,手写dubbo全部介绍完了,这一章作为番外篇,了解如何使用内嵌tomcat。
本节涉及博客中代码的module,farpc-rpc(远程调用)。
使用tomcat,自然就是http协议,我们先导入tomcat的依赖。
继续实现之前留下的扩展接口IConsumerServer、IProviderServer。在实现IProviderServer之前,我们需要先得到一个Servlet用于处理请求。
为了方便扩展,我在servlet中调用定义的Handler,后续如果需要增加Handler,也只要修改这里就行了。
Handler的代码也很容易理解,就是从Request中获得请求参数,然后根据请求参数反射执行对应的方法,然后输出到输出流中。
对于IConsumerServer的实现,就是Http调用了,代码如下:
还有别忘了增加SPI扩展点
测试代码位于farpc-demo的模块下。
可以分别看到相应的日志。服务提供端日志如下:
消费端: