世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程。
什么是微服务?微服务不是小服务,而是高可伸缩的服务群。既然是服务,那么肯定是基于服务层面的调用。为什么是“微”?这个“微”并不是小,而是应在了单一上。设计模式六大原则有一个是单一职责原则,而微服务的“微”就是单一职责的意思。在程序设计中,每一个类设计成单一职责,目的是解耦;而在微服务中,每一个服务设计成单一职责,目的也是解耦。那么为什么要解耦呢?解耦的目的并不是独立,因为独立的一个职责,如果不是完成某个业务功能,那是没有任何意义的。所以说,解耦的目的不是独立,而是为了更好的协作。如何更好的协作呢?就是既要保持独立,又要有合作精神。单独拿出来,是为某一个功能服务;对于整个业务,又是整个架构中的一部分。微服务的目的是什么呢?就是变结合为组合。一个作用是解耦,一个作用是复用,一个作用是高可扩展。就像河流之于大海,单独时哺育一方,归海时成就壮阔。就像游击队,单独时可以突击敌人保护一个村庄,多股合在一起时可以保护一个地区,所有都合在一起时,就是保卫国家的中流砥柱。灵活多变,可分可合,就像堆积木,长方形、正方形、圆形、三角形,是积木的基本组成,但是不同的组合会搭出不同的作品,当需要多个相同形状的积木堆积在一起时,那就是集群。微服务是一种架构方式,但同样可以映射到战略战术、现实生活与天地自然。程序设计的过程就是模仿现实的过程,现实是程序的生产资料,现实中提炼出的思想就是生产力。