本文已收录 https://github.com/lkxiaolou/lkxiaolou 欢迎star。 关于作者:滴滴中间件开发工程师,微信公众号"捉虫大师"作者,关注我,给你最纯粹的技术干货。
Tengine
是阿里巴巴基于Nginx开发并开源的Web服务器,它继承了Nginx所有的功能和特性,并在其基础上做了大量的扩展和增强,其中像动态模块加载,四层负载均衡,reuseport支持等能力,都逐渐被Nginx官方吸收引用。Tengine在开源以后大受欢迎,成为了Nginx最好的替代品之一,官方网站(http://tengine.taobao.org/)。Dubbo
是阿里巴巴开源的一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。2019年9月,Tengine 2.3.2版本发布了dubbo_pass
模块,支持HTTP协议到Dubbo协议的转换。Release页面如下:
https://github.com/alibaba/tengine/releases/tag/2.3.2
《Gateway技术革命 - Tengine开源Dubbo功能》对Tengine支持Dubbo协议的意义讲的比较清楚,总结有如下几点:
这里我用centos的基础镜像搭了一套Tengine环境,简单说明一下步骤:
这里要提一下之前在《dubbo应用级服务发现初体验》中提到的快速搭建Dubbo调试环境的方法:
由于Tengine有限制,接口的出参和入参必须是Map<String, Object>
,所以需要对例子进行修改:
使用如下命令测试
curl -X POST http://127.0.0.1:8080/dubbo -i -d "hello=roshi"
看一下传参情况
经过测试,总结以下几点:
正如《Gateway技术革命 - Tengine开源Dubbo功能》文中所说,Tengine只是完成了作为Dubbo Consumer的协议支持,像服务发现、自定义接口、服务分组、容错降级等其他功能暂未实现,暂时还离生产有些距离。
最后吐槽一下Tengine官网的文档
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。