模块化不是采用微服务主要目的

如果你转向微服务的动机是为了实现模块化,那么请三思而行。

模块化是JVM内部的解决方案,比如JPMS, OSGI和JBOSS模块。JPMS对于应用程序级别的模块化是没有用的,OSGI的复杂臃肿会掩盖程序本身。

在JVM之外分布式系统、远程调用等场合不要使用模块化,否则会付出代价。

选择微服务主要好处不是模块化,而是因为可以跨团队,跨语言,跨框架,比如用JAVA和nodejs各做一个微服务,这些微服务能独立自个进行灵活扩展,可以独立部署,微服务之间通过http隔离,这些比模块化更松耦合,模块化不是采取微服务的目标。

Twitter
[该贴被banq于2018-09-11 18:25修改过]