目前系统遇到公共模块有这些,字幕,分类,标签,这些都会被业务模块共用,那么是否应该把这些实体和响应的 curd 方法也抽取到公共模块呢,以往的经验只是抽取实体类,但是如果到时候拆微服务又是一个坑,数据库不同地方,这些公共的实体该怎么放,还是说每个模块自己维护自己的分类,标签,字幕
1
w292614191 2020-11-07 11:29:04 +08:00 2
不要为了微服务而微服务。
|
2
xuanbg 2020-11-07 13:20:11 +08:00
虽然人和宠物、物品都有名字,但名字可不是公共属性,而是每个个体的固有属性。
|
3
jtchris 2020-11-07 13:21:19 +08:00
拆微服务的话,根据这些公共模块数据的更新频率、数据量与复杂程度,每个服务各自维护一份或者使用一个单独的服务都是个办法。前者的一致性可能会存在些问题,后者可能又复杂了些,只能说是从上下文和实际的使用情况尽量平衡了。
|
4
WispZhan 2020-11-07 14:04:51 +08:00
请按事物原本的样子设计系统,不要为了微服务而微服务。 尽量用代码来描述现实世界的业务形态,建议了解一下 DDD 。
|