This abstract给出了微服务和API之间的区别:
微服务通过以下方式公开其接口及其功能: API。 API是微服务响应的所有端点的列表 当它收到命令/查询时。微服务包含API 以及用于回应客户的其他内部+隐藏的东西 请求。
我已经使用Java处理模块和微服务,但是有没有更好的方法来区别地描述模块和微服务之间的区别?
根据我的经验,几个模块作为微服务项目的一部分被导入。微服务是具有公开RESTful端点的附加功能的某种模块吗?是什么将模块与微服务区分开来?反之亦然?
我们还有更多可以讨论的话题来澄清潜在的困惑吗?
我添加了一些视觉辅助工具,以使内容更清晰:
如果可以的话,请反驳,并提供有关您使用微服务和模块的经验的可靠参考。
答案 0 :(得分:1)
微服务提供API(REST或不休息)。
微服务代码的编写方式可以使某些更大的项目将其用作模块。
当我们选择它作为微服务而不是模块时:
答案 1 :(得分:1)
模块和微服务之间的区别是包装之一。模块是编程级别的构造,它们打包和封装一个软件,以便通过包含在部署中(供进程内执行使用)供其他软件重用。微服务是软件的部署,供其他软件使用,由有线协议分隔。
答案 2 :(得分:1)
模块和微服务是软件行业中使用的完全不同的术语。我可以用电子商务行业的例子来解释。
结帐是一个模块,具有购物车,订单查看,添加到购物袋等功能。这是更通用的术语。
微服务更具技术性,它们是彼此独立的服务。 例如,我们可以将“添加到购物袋”创建为微服务。这只会在购物袋中添加一个项目。 (最重要的是)仅需要袋子ID和要添加的产品。该服务将不知道其他功能,例如送货方式,付款方式等。