在这篇文章中,边肖梳理了微服务和分布式的区别,并总结了相关知识点。感兴趣的朋友可以借鉴一下。
分布式体系结构是分布式计算技术的应用和工具。目前成熟的技术有J2EE、CORBA和。网络(DCOM)。这些技术涉及的内容很广,相关书籍也很多。没有关于这些技术的细节,但是从各种分布式系统平台及其在软件开发中的应用的背景来讨论它们之间的主要异同。
微服务架构是一种在云中部署应用和服务的新技术。围绕微服务的争论大多集中在容器或其他技术能否很好地实现微服务,红帽说API应该是重点。
服务可以在自己的程序中运行,并通过轻量级设备与HTTP API通信。关键是服务可以在自己的程序中运行。通过这个,我们可以区分服务公开和微服务架构(在现有系统中分发一个API)。在服务公开中,许多服务可以受到内部独立进程的限制。如果这些服务中的任何一个需要添加一些功能,那么就必须缩小流程的范围。在微服务架构中,只需要将所需的功能添加到特定的服务中,而不会影响整个流程的架构。
从概念理解上,分布式服务架构强调服务和服务去中心化,微服务强调服务专业化和精细分工。从实用的角度来看,微服务架构通常是分布式服务架构,反之不一定。所以选择微服务通常意味着解决分布式架构的各种问题。
区别是基于不同的机器和不同的服务。
将一个大型系统划分为若干业务模块,将业务模块部署到不同的机器上,业务模块之间的数据交互通过接口进行。区别是基于不同的机器和不同的服务。
微服务强调单一责任、轻量级通信(HTTP)、独立性和进程隔离。
微服务和分布式服务的细微区别在于,微服务的应用不一定分散在多个服务器上,也可以是同一个服务器。
分布式是否属于微服务?
不一定,一个大的应用拆分成三个应用,还是很庞大的。虽然是分布式的,但不是微服务。微芯元素的服务是微小的。
微服务架构是分布式服务架构的一个子集。
微架构通过更细粒度的服务细分,使得整个系统的迭代速度和并行性更高,但运维的复杂度和性能会随着服务粒度的细化而提高。
该服务侧重于解耦,因此每个模块都是独立的。关注分布式资源共享和加速计算机计算。
分散:分散压力。微观:能力分散。
知识点拓展
分布式-微服务-集群 的概念和区别
分布式:一个业务被分成几个子业务,部署在不同的服务器上。
集群:同一业务部署在多台服务器上。
微服务是将模块拆分成独立的服务单元,通过接口实现数据交互。
分布式是指将不同的业务分布在不同的地方。集群是指几个服务器的集合,实现相同的业务。
分布式系统中的每个节点都可以是一个集群。并且集群不一定是分布式的。
分布式,狭义上类似于集群,只是组织比较松散。与集群不同,它是有组织的。如果一台服务器出现故障,其他服务器可以恢复运行。
分布式系统中的每个节点完成不同的服务。如果一个节点崩溃,则无法访问该服务。
好的设计应该是分布和集群相结合,先分布再集群。具体实现就是把业务拆分成很多子业务,然后对每个子业务进行集群部署,这样如果每个子业务出了问题,整个系统完全不受影响。
微服务的设计是为了某个模块的升级和BUG不会影响到现有的系统业务。微服务和分布式服务的细微区别在于,微服务的应用不一定分散在多个服务器上,也可以是同一个服务器。
类似于分布式微服务的架构,只是部署方式不同。