我们有一个网站,该网站通过API调用来比较航班票价和预订机票,这些航空公司向聚合商提供航班库存和票价。门票的付款通过我们网站上的付款网关的API调用进行。我们具有类似的酒店预订能力。酒店预订和航班预订使用流明作为单独的服务实施。由于酒店预订还使用与航班相同的付款方式,因此我们最终在“酒店服务”下复制了该代码。将付款转换为单独的微服务可能是一个更好的主意。问题是,微服务的正确粒度是什么?
答案 0 :(得分:0)
如果您在这里担心代码重复,我是否建议编写一个通过composer拉入的软件包?这样,您就可以将其引入将来可能需要的任何其他项目中。至于什么是正确的粒度,一根字符串要多长时间?
答案 1 :(得分:0)
答案是,这取决于。回答问题的一种方法是查看团队的组织方式。您是否有围绕航班集合,付款,酒店预订和航班预订组织的团队?如果有的话,那么也许有必要在您的微服务架构中模仿这种组织结构。毕竟,康威(Conway)的法律规定,这最终将成为您以任何方式组织服务的方式。
话虽如此,我知道的另外两种方式是: