实际上是一个很简单的玩法,就是一切可行的都转换http,我们可以将grpc-http,db-http,mq-http,wf-http。。。。
一张参考图
简单概述
因为实际常见业务模型的特殊行,我们需要集成,基于http 的模式是一个简单,同时灵活的 ,而且有些服务因为特殊性,是不支持
其他语言访问的(比如fastdfs,.net api,golang api 就不好)我们可以基于官方提供的sdk,包装一个http服务,这样就具有通用性的
在比如dubbo服务,rpc 服务,因为业务特殊性,我们需要互调用但是缺少灵活的语言支持,就可以基于http proxy 模式扩展,实际上
已经有了好多不错的实现,rabbitmq 的management plugin 扩展rabbitmq 支持基于http 的灵活访问,对于kafaka 我们可以基于nakadi
扩展,我们可以将smtp2http 实际邮件发送的灵活控制,基于db 2 http,可以暴露通用数据服务(odata,graphql,restful 都是例子),
etcd 同时也暴露了http 接口(基于grpc gateway),我们基于sqler可以将mysql,sql server,pg 转为http 服务
说明
以上并不是一个新奇的玩法,很多时候我们已经这么做了,比如webservice 就是为了暴露业务以及数据操作为http 方便其他系统访问