微服务到底需要多“微”
如果要追溯微服务的定义,大家一般都会去看Martin Fowler在2014年发表的Microservices那篇文章。
一共7个特点。微服务中的"微"时常给我们潜意识里面下了一个定义,似乎是有一个尺寸,大小,很明显上面7个特点里面没有涉及大小。
微服务侧重点在于拆分能力,拆分的原则我们也都比较熟悉,包括单一职责原则,改变一个类应该有且只有一个理由。还有闭包原则,在包中包含的所有类应该是对同类的变化的一个集合,也就是说,如果对包做修改,需要调整的类应该都在这个包之内。
因此,微服务不应该太在意大小,而应该关注能力是否拆的清楚,利索。
六边形架构
如果按照架构的风格来分的话,有分层架构,六边形架构,微服务架构,实际上这也是架构的演变过