假设现在公司已有一些后台业务,用java/php等开发,现在在前端接入一个nodejs然后再转发到原有的服务。 那么这个转发用什么样的方案比较高效呢?我想了一下资料,有proxy转发,rpc转发等,proxy是node自带的了,rpc的话有推荐的npm包吗? 或者有更加有效的转发机制?
@klesh 嗯,谢谢指正,可能是我的表达不太清楚。 我的原意是这样的,现在有很多公司开始把node作用一个中间层,处理一些前后端模板共用,全局日志记录之类的问题。那么这一层node与原来的服务之间数据怎么交互?再走一遍http似乎没有必要,有没有更加高效的通讯协议?
@p2227 这要根据实际的场景去考虑,http 的优点是简单,通用性好,扩展简单,不是实时性要求特别高,连接不是特别频繁,二进制数据不是特别多,用 http 完全没什么问题。更加高效的通信协议当然有,像 google 的 protobuf 也有 node.js 的实现。但还是建议能用 http 就不要用这么高端的东西,性能特别高是要付出复杂性,通用性等代价的。 想一下,你现在后端提供 http 的 api ,那无论你是用 node.js ,还是 spa 还是原生客户端都可以对接,一些专门的协议可能就没有相应的实现,或者版本问题,或者有坑。也是件很麻烦的事。
@p2227 http就好了。你们量级大的话就加机器嘛,这一层浪费人力做复杂方案感觉吃力不讨好,完全可以靠机器扛的。 而且没感觉用其他私有方案可以带来量级的差异啊