个人思考文,图个乐
我所理解的微服务
- 复用
- 解耦
价值的到达
微服务是一个很新的概念?其实并不是,世间万物都是作用在规律之下,不管你是哪个领域(再细化一下,在人类社会中,不管你是哪个领域) ,当你到达某一阶段,你就会面临该阶段的问题。
以人类文明发展进程来看,从一个为数不多的族氏团体一起生活,到之后不断壮大的上百人部落,再到之后建立的正式的国家。
以小作坊工业发展进程来看,从一个简单的小作坊营业,到之后不断扩大店面,开启分店,再到之后建立的正式企业。
以单体应用发展进程来看,从一个简单的单体架构提供服务,到之后需求不断扩大,架构逐渐复杂,到之后的各种架构优化,再到之后的微服务架构。
我们都可以看到一种共性,并且从这种共性之下看到了某种规律,在这种规律的作用下,不论你是人类社会,或者是其他某个小的领域,最后都会走向一种:
一个点,膨胀为一个圆,嘭!形成一个由各个点聚集而又分散的集合。
第三幅图之间的点是具有联系的,因为它们本身构成了一个集合体,并且可以预见在以后的发展过程中,每个点又会膨胀为一个圆,又发展为一个新的聚集而又分散的集合体。
对于这样的发展过程如此解释似乎有点粗略和不正式,因为这其中蕴含的哲学是深邃且复杂的,非要解释的话我自己觉得可以这样概括:在这个世界,事物之间具有联系,每个事物的价值都在某一阶段体现出来,举例来说,一件衣服、一个螺丝钉,一个职业,一个身份验证服务,它们的背后都是一个宇宙,当人类处于捕猎阶段,衣服的重要性并不明显,仅在于蔽体保暖,但随着人类社会的发展,一件衣服的背后是一个行业,一个圈子,这个圈子之中又包含着更多的待为发掘的事物,一个身份验证服务同理,当安全服务变得重要,一个身份验证服务背后的技术、思想等等都足够支撑该服务成为一个庞大的服务。
到达这个时候,一个事物不是因为某件事而存在,它就具有了独立性(复用),又因为它的庞大,它就需要解耦。
你应该听过这样的例子数不胜数,某个事物本来依附于某个领域产生,但后来经过某些人的发掘,这些事物走向大众,为所有人服务。 这就是价值被发掘。
现在回到微服务概念,我所认为的微服务就是这样,应用的目的就是更好地提供服务,这一目的驱动着应用的实现不断趋于完美(这个完美各有不同),实现完美的过程正是发挥不同组件价值的过程。
看起来有些不好理解,举例来说,为了更快处理,我们有了并发,这就是并发价值的发掘,为了更安全,我们有了各种安全措施的实现,比如HTTPS、jwt等等。
同理,服务的价值也在此时被挖掘,任何一个业务服务随着价值的不断上升变得庞大(因为各种技术的加入),此时,单体应用便不再现实。
单体应用为了提供业务功能,一个程序耦合了多个服务。服务依附于业务。
微服务的思想就是:将服务独立出来,服务不再依附于业务。
举例来说,你需要购买手机。
- 厂商加工芯片、加工外壳、组装
- 厂商加工芯片、厂商B加工外壳、厂商C组装。
二者的区别在哪里?
加工芯片、加工外壳、组装每一个工作的价值在目前手机的需求中都非常高,价值越高,越需要专业化、精细化的实现。一个厂商将这三个领域都做到第一和寻找三个领域第一的厂商哪个更容易,当然是后者。
价值的支撑
最后的最后,回到微服务领域,微服务的意义:
- 服务价值的到达,服务不能再依附于应用
- 服务价值的支撑,想要发挥服务的价值,需要将服务独立出来,不再是一个团队负责所有服务,而是每个服务由一个团队服务,精细化、专业化。