Crossbar 后端开发调试混乱解决方案

项目使用 Crossbar.io 进行通信,流程大概如下

流程图中的每个块状区域都是 Crossbar 的一个组件,都可以独立运行。所有通信全部通过 Crossbar 中注册的路由来进行通信。

  1. Frontend Component
  2. Crossbar Server
  3. Backend Component
  4. MongoDB Component
  5. S3 Component

由于关联服务较多,后端开发人员本地环境没有搭完整的测试环境,只有后端基本环境写代码,连接服务器端的主干分支环境测试。

服务器主干分支是项目发布运行的分支,主干分支的代码提交都是需要管理员合并,然后部署更新代码。持续了一段时间,发现前后端开发效率低下,主干分支总是出问题。

分析原因发现,由于 Backend Component 中 API 出现同一个 uri 会导致前端调用后端接口后返回结果异常的情况,后端开发人员在开发过程中,如果修改现有接口内容只能通过本地写代码,然后提交到主干分支后, master 把代码合并后后端开发者再测试改动后的代码效果

目前的解决方案

通过注册不同的 uri 来实现不同的后端调用,前端后端调整使用同一个 uri ,通过配置启动参数,程序接受一个通道 ch 作为参数,这个通道会被加到所有的 uri 里面。

每开发者都有属于自己的名字命名的通道,比如主干分支的代码版本中的

com.example.frontend.predict 添加对应的通道参数后变成

com.example.frontend.predict_davidcom.example.david.frontend.predict

这样就解决了后端开发人员的本地测试问题

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,323评论 19 139
  • 你是我的
    周佳诺阅读 929评论 0 0
  • (1) 大概两个月前的时候,我在路边上遇到了一只小的流浪猫。 它并不怕人,在我的裤脚上蹭来蹭去,我走到哪就跟到哪。...
    羊美味老板阅读 5,809评论 30 59
  • 很感恩昨天老公把暖气炉子接好了,生上炉子整个屋里都暖和,但是还有一个问题就是烧煤太多了,炉膛太大了,我和老公...
    宝贵的爱阅读 2,885评论 0 0
  • 最近看到有趣的美貌的博客总是会收藏起来,进程和线程的概念本科学的那点东西早忘得干干净净,后来怎么看怎么陌生。直到看...
    公子七阅读 3,379评论 2 9