由于现在公司用的微服务框架是dubbo-go,但是在接口测试阶段非常麻烦,所以想找下可以http转dubbo协议的网关产品
参考GPT和自己的思路:
目前并未找到一个专门支持http转dubbo协议的开源网关产品,而且在网关领域,Golang开发的网关产品并不是很多。不过目前有一些使用开源组件搭建的网关产品,比如使用nginx反向代理dubbo服务,将http请求转发到nginx,并在nginx上进行dubbo协议的转发,这种方式可以解决问题,只不过需要进行一定的定制化开发。另外,也可以考虑使用API网关产品来进行接口的转发和管控,如kong等,尽管kong是使用lua进行开发的,但也可以通过插件机制来实现对dubbo协议的支持。
基于http的远程调用协议,json序列化,和restful类似。
配置,
<!-- 配置协议:-->
<dubbo:protocol name="http" port="8080" />
<!-- 配置 Jetty Server (默认):-->
<dubbo:protocol ... server="jetty" />
<!-- 配置 Servlet Bridge Server (推荐使用): -->
<dubbo:protocol ... server="servlet" />
配置DispatcherServlet,
<servlet>
<servlet-name>dubbo</servlet-name>
<servlet-class>org.apache.dubbo.remoting.http.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dubbo</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
注意,如果使用 servlet 派发请求: