最近接手了几个 Java springboot 项目,看能让你吐血不

2022-01-11 14:50:29 +08:00
 3kkkk

最近接手了几个 java springboot 项目,看到代码一刻血往上涌血压有点快压不住了。各位大神帮分析下什么样的项目会这样做。 api 服务接收传参定义 json 串->转 map->拼接参数 bean->转 json 串-> feign 调用第二个服务->接收 json 串->转 map->拼接参数 bean-> feign 调用第三个服务->接收 json 串->转 map->拼接入库参数 ——>返回到第二个服务数据库->json 转 bean->入库并返参。

而且吧三个服务没有做链路追踪处理,并且 feign 调用不打印调用日志。出一个问题排查到泪奔。

5409 次点击
所在节点    程序员
24 条回复
xuanbg
2022-01-11 15:18:34 +08:00
我只能表示写这种代码的人非蠢即坏,🤷‍♂️

写代码简单直接一点不好吗,非得绕来绕去。
powerman
2022-01-11 15:52:41 +08:00
Spring Cloud Sleuth
Kaiv2
2022-01-11 16:00:29 +08:00
用下 http://skywalking.apache.org/ 排查问题非常方便
3kkkk
2022-01-11 16:20:29 +08:00
@xuanbg 应该感觉这就是微服务吧,本来一个方法或封装一个工具类的事。非要跳转一个服务。多做几次序列化。
392039757
2022-01-11 16:20:33 +08:00
猜测是因为 feign 的 RequestBody 只能有一个,非得传多个的时候又得写一个对象,用 map 可以直接 get 出来
xuanbg
2022-01-11 16:54:17 +08:00
@3kkkk 我司微服务根本不这么干啊,服务间调用不是没有,但全都是上层业务服务调用下层基础服务,而且调用链就只有 1 层。哪有 A 调用 B ,B 再调用 C ,然后依次返回数据这种事情。业务间通信也不是没有,但都是通过消息队列实现的,从来就不用 feign 。
v2gf
2022-01-11 17:02:33 +08:00
强行微服务的后果
xlsepiphone
2022-01-11 17:05:33 +08:00
单应用就没这些破事了
shyangs
2022-01-11 17:22:26 +08:00
濫用微服務.

調用一個服務,要經過 3~5 個微服務主機,然後使用者說服務怎麼這麼慢.

網路 IO(微服務)遠慢於記憶體(單體), 時間都消耗在序列化、反序列化、網路傳遞上面了. PG 怎麼優化都幹不過架構師的渣架構.
oneisall8955
2022-01-11 17:38:33 +08:00
真·代码和你,一个能跑就行
banmuyutian
2022-01-11 17:45:18 +08:00
A 君用 json 传参,B 君用 Map 传参,C 君用 java bean 传参,他们和微服务一起构成这座屎山
boris93
2022-01-11 18:01:18 +08:00
谢谢,已经在替你想辞职之前怎么开喷了
newxhk
2022-01-11 19:14:50 +08:00
雖然不做後端,但看到已經想跑路了
ZSeptember
2022-01-11 20:24:09 +08:00
和 spring boot 无关,和程序员有关
akin
2022-01-11 20:46:20 +08:00
这样串联,直接上 kafka 吧
byte10
2022-01-11 21:39:44 +08:00
(⊙o⊙)… 以前也有接收过一个项目全是 map 参数的接口,我估计这样写是方便吧,不用 class 对象,直接当脚本语言开发,休休的快。😂
cocang
2022-01-12 00:24:02 +08:00
看文字已经头皮发麻了,我觉得这是技术能力或者逻辑能力不够的问题,这是纯坏吧
ixx
2022-01-12 09:06:09 +08:00
故事要从第一个 springboot demo 开始.....
dengji85
2022-01-12 09:17:11 +08:00
服务之间不依赖实体,调用不就是 json 吗,而且参数容易扩展,只是多级调用搞复杂了
3kkkk
2022-01-12 09:50:08 +08:00
@xuanbg 我之前公司也没这样干过啊。大小项目参与加起来有上百个,也是第一次碰到。

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

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

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

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

© 2021 V2EX