我感到难过,不是因为你欺骗了我,而是因为我再也不能相信你了。
从概念理解,分布式服务架构强调的是服务化以及服务的分散化,微服务则更强调服务的专业化和精细分工;
从实践的角度来看,微服务架构通常是分布式服务架构,反之则未必成立。所以,选择微服务通常意味着需要解决分布式架构的各种难题。
微服务架构是团队面对互联网产品爆发式增长的最优选择,
要解决的是快速迭代、高可靠和高可用等问题,
把复杂度很高的产品拆分成一些较小的模块,并遵循康威定律,每一个模块用5-9个小团队来维护,
这样可以减少沟通成本,提高协作效率,更好地实现快速迭代和弹性扩展
在康威的这篇文章中,最有名的一句话就是:
Organizations which design systems are constrained to produce designs
which are copies of the communication structures of these organizations. - Melvin Conway(1967)
中文直译大概的意思就是:设计系统的组织,其产生的设计等同于组织之内、组织之间的沟通结构。看看下面的图片(来源于互联网,侵删),再想想Apple的产品、微软的产品设计,就能形象生动的理解这句话。
springcloud
Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为开发分布式应用提供了一些列工具,例如配置管理、服务发现、断路器、智能路由、微代理、控制总线、one-time tokens、全局锁、决策竞选、分布式会话和集群状态管理等,它们在任何分布式环境中都能很好地工作,包括开发人员自己的笔记本电脑
它的特征
开箱即用,提供了微服务的一整套解决方案:
服务发现注册 , 配置中心 ,消息总线 ,负载均衡, 断路器, 数据监控等;