微服务如何统一返回格式

2022-04-22 11:10:43 +08:00
 a1lenyang

最近在做毕业设计,关于微服务也是自己在摸索当中: 微服务一般是每个服务自己处理返回一个全局统一的格式,还是统一由网关处理返回一个统一的格式好呢?以下哪个方式比较合适? 1 、微服务直接对外的接口返回统一格式,RPC 调用的则直接返回原始数据。 2 、微服务直接对外接口和 RPC 接口都返回原始数据,由网关处理返回统一格式

2511 次点击
所在节点    Java
10 条回复
codefever
2022-04-22 11:14:44 +08:00
建议走网关,这样将来维护也方便
chendy
2022-04-22 11:18:54 +08:00
统一格式,网关只做转发和认证
转格式啥的……当 ESB 用么……
fkdog
2022-04-22 11:25:42 +08:00
@chendy 网关能干的东西多了,请求合并、协议转换 /适配、数据格式转换都是网关力所能及的范围。
ZCPgyer
2022-04-22 11:28:24 +08:00
走网关试试?
luckyrayyy
2022-04-22 11:49:02 +08:00
微服务不应该有直接对外的接口啊
libook
2022-04-22 11:50:40 +08:00
软件架构上的事情,抛开场景谈好不好,不太严谨,你最好看看不同的方案在什么场景下合适,在什么场景下不合适。

服务是否要返回统一格式和用不用网关不矛盾。
多数情况下微服务在一些方面做到统一,会比较方便管理,尤其是团队协作的时候。
微服务的域太多的话,前端和运维方面处理可能会比较麻烦,所以可以使用网关把多个微服务的接口整合成一套。
多个前端产品对应同一套后端微服务池的时候,后端为每种前端产品做定制会使得服务变复杂,那么可以分出一个 BFF 层让每个产品的前端开发自己写一个后端服务,把微服务接口封装成适合当前产品的接口,并融入当前产品的一些业务逻辑。

微服务在一些场景下可以降低开发成本、提升性能,但同时又引入了其他问题,具体可以看看微服务治理相关的概念。
Kilerd
2022-04-22 13:22:04 +08:00
service mesh ,可以用 sidecar 模式,让 sidecar 帮忙
EastLord
2022-04-22 13:23:49 +08:00
要不参考一下 jhipster 生成的微服务
wolfie
2022-04-22 18:30:45 +08:00
统一规范的东西,为什么要网关做。
Akiya
2022-04-23 09:36:58 +08:00
毕业设计就一个人做完的的东西真有必要上微服务吗

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/848531

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX