架构历史的认知

  • 第一阶段是早期系统竖井式的架构

        应用和数据交织在一起,无论是从逻辑上还是从物理部署上都是,因为这个时候各维度对能力的需要不是那么强烈,没有明显的能力短板,不需要明确区分相互间的关系。但随着系统壮大复杂,来自硬件的能力以不足以支撑整个维度需要的能力,这就进入第二阶段。

  • 第二阶段基于SOA的分布式架构

       通过SOA把这种能力水平拆分,好处当然是使得能力可以灵活增减,坏处是这种拆分会给能力间的关系增加复杂度,举例来说,原来通过内部调用即可满足的关系由于SOA把能力拆分,现在需要通过网络调用才能满足。那么当这种关系复杂度给系统间带来协作障碍时,我们就需要进入第三阶段。

  • 第三阶段即微服务+大平台架构阶段

通过构件大平台来控制这些复杂的关系,不要让其暴露出去变成不可控的因素。此阶段即把业务逻辑分散在微服务中,把所有业务处理中需要的技术能力统一归置到平台进行管理,平台通过标注化的,约定熟成的协议及通讯方式为上层的微服务们提供固定的服务,并把所有与服务安全、可靠性、监控、服务治理等相关的工作作为平台基础的能力提供出来。因此这种大平台其实就是通过设定标准和规范来降低关系的复杂度,是通过引入另外的能力和关系来达到的,比如大平台的引入本身就带来了更为复杂的关系。就像马路上的红路灯,虽然通过红灯停绿灯行等规范来解决交通拥堵的问题,但难道它们就不是造成更大拥堵的原因吗?

你可能感兴趣的:(编程思想,微服务,程序员的辅助,JAVA)