15、Go语言中的事件处理、查询服务与Web应用构建

Go语言中的事件处理、查询服务与Web应用构建

1. 事件处理器与查询处理服务

1.1 事件处理器服务依赖

事件处理器服务的 manifest.yml 文件显示,它需要两个后端服务:
- rabbit
- mongoevent - rollup

需要注意的是,事件处理器使用的 RabbitMQ 服务与命令处理器使用的是同一个。若不是同一个,我们将无法看到命令处理器产生的消息,因为这些消息会存储在单独的 Rabbit 实例中。

1.2 事件处理器与查询处理器的数据库共享问题

事件处理器和查询处理器将共享同一个 MongoDB 服务( mongoevent - rollup ),这样查询服务就能看到最近存储和处理的事件。不过,这种做法违反了微服务的关键规则:绝不能将数据库用作集成层。我们这样做只是为了降低示例的复杂度。在实际应用中,事件处理器会使用服务来写入事件存储和计算状态。这在微服务开发者中存在争议,一些人认为两个服务共享同一数据库没问题,而另一些人则持反对意见。

1.3 事件处理器的集成测试

事件处理器集成测试的主要目标是确保它能正确处理传入事件,并将适当的值存入 MongoDB 存储库。具体操作步骤如下:
1. 通过 vcapinate 工具和 Wercker 服务镜像启动带有一组模拟绑定服务的服务器。
2. 向队列提交各种事件。
3. 等待处理器完成处理。
4. 查询存储库,确

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值