小项目在一开始就进行微服务代价是非常高的,原因不多说, 但是如果一开始就能以微服务的思想去设计架构, 在将来业务发展的时候, 将提高很快的效率迁移到微服务环境。
微服务主要解决业务扩容的问题,不要跟我说什么低耦合高内聚,这些不用微服务也能做得到。
微服务包含
-
注册中心
-
网关
-
配置中心
可以想象,当业务发展, 业务模块将会拆分, 这个一开始是可以预见部分的, 这将涉及到一开始业务模块是内部调用的,将来是通过rpc调用的。
在项目开始阶段,可以将package视为业务模块, 将package间调用的关系, 使用interface并在对应package建立子包bus, 进行不同包的服务调用, 这样的好处是将来把包转成微服务时, 可以将bus调用内容直接改成外部调用而不影响业务逻辑。