微服务聚合、镜像管理与 CI/CD 搭建全流程指南
1. 聚合服务(Aggregator Service)
聚合服务是一种微服务,其主要功能是聚合其他两个或更多的服务,并为消费者提供一个前端 API,从而将背后的所有逻辑封装起来。尽管它并非完美,但这是一种常见的模式,因为它允许我们运用熔断机制的理念,并且能在专门的层管理错误。
以下是聚合服务的代码示例:
const Hapi = require('hapi') const server = new Hapi.Server() let request = require('request') server.connection({port: 8080}) server.route({ method: 'GET', path: '/dates/{timestamp}', handler: (req, reply) => { const utcEndpoint = `http://utcdate-service:3001/utcdate/${req.params.timestamp}` const isoEndpoint = `http://isodate-service:3000/isodate/${req.params.timestamp}` request(utcEndpoint, (err, response, utcBody) => { if (err) { console.log(err) return } request(isoEndp