微服务踩坑经历
记录
最近在做项目重构,原来的单体项目升级为微服务。在实现的过程中,经验缺乏导致走了很多弯路。下面列举一下这几天踩得坑。
1、在将原项目模块拆分时,原计划是按功能拆。以用户模块来说,最开始就打算拆用户管理的,后来发现用户相关接口牵扯太多,导致越拆越多……菜单、日志记录、七七八八的一些功能都进来了。这个过程后,自我反思。拆分前应该做好接口梳理了,再开始干活。不要盲目拆分。
2、微服务架构,session共享的问题。用 redis 实现微服务间的 session 共享不难,但是细节很坑。比如在A服务中将Users对象放入session中,在A服务中Users的路径是 com.sys.a.Users。在B服务中通过session取Users的数据时,你就会发现现在的Users的路径是 com.sys.b.Users,从而导致异常。所以session共享时,最好不要把整个实体对象存到session,就算存也要将实体对象转换成Json字符串,取的时候Json字符串转对象,其实也方便。
下班前记录今天踩得一个坑,后面肯定还有很多,慢慢记录。