分布式与微服务

从服务化到微服务概述

2018-12-15  本文已影响0人  黄金矿工00七

对于一个刚接触技术的菜鸟来说,各种各样的技术总是让人充满了新鲜感,从刚刚学习接触到的SSM到分布式到微服务,我总是充满了憧憬。

对于我来说,SSM就是技术生涯中的初恋,回想起来她总是那样美好,但是不免缺少了新鲜感。对于代码中到处都是bug的我来说,抛去热部署,每次修改都要重启Tomcat简直是无法忍受,但是无可避免:

为了满足互联网时代的发展,SOA出现了,关于SOA与微服务其实存在着很多的讨论,这里我们要说一下SOA准确的来说具有两重含义,

  1. SOA即面向服务架构,服务间松散耦合,支持服务的封装,服务注册和自动发现,以服务契约方式定义服务交互方式。
  2. 说的是Enterprise Service Bus(ESB)、WebSphere Process Server(WPS)、WebSphere Integration Developer(WID)、WebSphere Message Broker(WMB)这些具体的产品。我们日常所说的SOA多是指以ESB为代表的具体实现。

SOA其实就是为了解耦,解耦的本质就是为了去中心化,但是SOA有个很大的问题是,按照SOA的思路这些系统总会在某个环节上走向集中,所以去中心化做得很不彻底。

好了,这么看起来有点太烧脑了,我们通俗一点,很多人认为SOA与微服务是两个东西,但是我始终认为微服务架构是SOA架构的另一种实现方式,准确的来说是彻底去中心化的SOA,它们的分歧在于对服务的治理,是分布还是集中。当然这只是从大的方向上来说,具体的微服务实现细节是很多的,微服务架构首先要关注的不是RPC/ServiceDiscovery/Circuit Breaker这些概念,也不是Eureka/Docker/SpringCloud/Zipkin这些技术框架,而是服务的边界、职责划分,划分错误就会陷入大量的服务间的相互调用和分布式事务中。

所以说,有时候没必要过于抠字眼,本来都是SOA思想的不同体现方式,微服务对我们的思考我觉得更多的是思维上的,对于微服务架构, 技术上不是问题,意识比工具重要。

上一篇 下一篇

猜你喜欢

热点阅读