1、什么是分布式
分布式服务是分散部署在不同的机器上的,一个服务可能负责几个功能,是一种面向SOA架构的,服务之间也是通过rpc来交互或者是webservice来交互的。逻辑架构设计完后就该做物理架构设计,系统应用部署在超过一台服务器或虚拟机上,且各分开部署的部分彼此通过各种通讯协议交互信息,就可算作分布式部署,生产环境下的微服务肯定是分布式部署的,分布式部署的应用不一定是微服务架构的,比如集群部署,它是把相同应用复制到不同服务器上,但是逻辑功能上还是单体应用
优点:
1、将各个组件分开部署,某个组件占一个服务器,互相独立,互相调用,可以将组件的功能发挥强大
2、一个业务分拆多个子业务,部署在不同的服务器上(不同的服务器,运行不同的代码,为了同一个目的,降低服务代码之间依赖性)
3、模块之间独立,各做各的事,便于扩展,复用性高
4、高吞吐量。某个任务需要一个机器运行40个小时,将该任务用10台机器的分布式跑
(将这个任务拆分成10个小任务),可能4个小时就跑完了
2、什么是面向服务的体系架构(SOA)
什么是SOA:说的简单些,就是分布式架构注重业务逻辑的复用,上层业务想借用底层服务快速搭建应用,这些应用独立之后形成可用的服务,你调用什么样的服务就能实现什么样功能,这种设计就是SOA,说白了,就是服务化。
3、什么是集群
同一个相同的业务,部署在多个服务器上,(不同的服务器运行同样的代码,干同一件事)
优点:
1.通过多台计算机完成同一个工作,达到更高的效率。
2.两机或多机内容、工作过程等完全一样。如果一台死机,另一台可以起作用。
4、分布式与集群
集群和分布式并不冲突,可以有分布式集群
5、什么是微服务
微服务就是很小的服务,小到一个服务只对应一个单一的功能,只做一件事。这个服务可以单独部署运行,服务之间可以通过RPC来相互交互,每个微服务都是由独立的小团队开发,测试,部署,上线,负责它的整个生命周期。概括大意就是:微服务是一种架构风格,一组小服务、每个服务运行在独立进程中、服务之间使用轻量级通信、服务可独立部署、是基于业务能力实现、无集中式管理
6、什么是RPC交互
RPC (Remote Procedure Call)即远程过程调用,是分布式系统常见的一种通信方法,当两个物理分离的子系统需要建立逻辑上的关联时,RPC 是牵线搭桥的常见技术手段之一。除 RPC 之外,常见的多系统数据交互方案还有分布式消息队列、HTTP 请求调用、数据库和分布式缓存等。RPC 是两个子系统之间进行的直接消息交互,它使用操作系统提供的套接字来作为消息的载体,以特定的消息格式来定义消息内容和边界。
通俗来说,假设去大饭店吃饭就是一个完整的业务的话, 饭店的厨师、洗碗阿姨、服务员就是分布式; 厨师、洗碗阿姨和服务员都不止一个人,这就是集群,分布式就是微服务的一种表现形式,分布式是部署层面,微服务是设计层面。