关于java:一分布式微服务

1次阅读

共计 1639 个字符,预计需要花费 5 分钟才能阅读完成。

1. 微服务和 SOA 的区别,优劣势?

辨别
1).SOA(Service Oriented Architecture)“面向服务的架构”: 他是一种设计办法,其中蕴含多个服务,服务之间通过相互依赖最终提供一系列的性能。一个服务 通常以独立的模式存在与操作系统过程中。各个服务之间 通过网络调用。

2). 微服务架构: 其实和 SOA 架构相似, 微服务是在 SOA 上做的升华,微服务架构强调的一个重点是“业务须要彻底的组件化和服务化”,原有的单个业务零碎会拆分为多个能够独立开发、设计、运行的小利用。这些小利用之间通过服务实现交互和集成。

微服务架构 = 80% 的 SOA 服务架构思维 + 100% 的组件化架构思维 + 80% 的领域建模思维

优劣势
1. 引入微服务就会牵扯到分布式的各种问题:数据一致性、分布式事务、服务发现、容错、负载,
部署一个微服务利用也很简单,一个分布式应用只须要简略在简单均衡器前面部署各自的服务器就好了。每个利用实例是须要配置诸如数据库和消息中间件等根底服务。绝对比,一个微服务利用个别由少量服务形成。每个服务都有多个实例。这就造成许多须要配置、部署、扩大和监控的局部,除此之外,你还须要实现一个服务发现机制等,以用来发现与它通信服务的地址(包含服务器地址和端口)。传统的解决问题方法不能用于解决这么简单的问题。接续而来,胜利部署一个微服务利用须要开发者有足够的管制部署办法,并高度自动化

2. 画一下 dubbo(SOA)的角色调用关系图,并简述一下?


(1)零碎角色
Provider: 裸露服务的服务提供方。
Consumer: 调用近程服务的服务生产方。
Registry: 服务注册与发现的注册核心。1
Monitor: 统计服务的调用次和谐调用工夫的监控核心。
Container: 服务运行容器。

(2)调用关系
服务容器负责启动,加载,运行服务提供者。
服务提供者在启动时,向注册核心注册本人提供的服务。
服务消费者在启动时,向注册核心订阅本人所需的服务。
注册核心返回服务提供者地址列表给消费者,如果有变更,注册核心将基于长连贯推送变更数据给消费者。
服务消费者,从提供者地址列表中,基于软负载平衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
服务消费者和提供者,在内存中累计调用次数和调用工夫,定时每分钟发送一次统计数据到监控核心

3. 分布式系统原理 -CAP、BASE?

CAP
C – Consistent,一致性。具体是指,操作胜利当前,所有的节点,在同一时间,看到的数据都是完全一致的。所以,一致性,说的就是数据一致性。
A – Availability,可用性。指服务统一可用,在规定的工夫内实现响应。
P – Partition tolerance,分区容错性。指分布式系统在遇到某节点或网络分区故障的时候,依然可能对外提供服务。
CAP 原理指出,这 3 个指标不能同时满足,最多只能满足其中的两个 分布式中 P 必须满足,所有只有两种抉择:CP、AP

BASE
BASE 是 Basically Available(根本可用), Soft-state(软状态), Eventually consistent(最终统一)的缩写。
Basically Available,根本可用是指分布式系统在呈现故障的时候,容许损失局部可用性,即保障外围可用。电商大促时,为了应答访问量激增,局部用户可能会被疏导到降级页面,服务层也可能只提供降级服务。这就是损失局部可用性的体现。
软状态(Soft State)
软状态是指容许零碎存在中间状态,而该中间状态不会影响零碎整体可用性。分布式存储中个别一份数据至多会有两到三个正本,容许不同节点间正本同步的延时就是软状态的体现。mysql replication 的异步复制也是一种体现。
最终一致性(Eventual Consistency)
最终一致性是指零碎中的所有数据正本通过肯定工夫后,最终可能达到统一的状态。弱一致性和强一致性相同,最终一致性是弱一致性的一种非凡状况。

4.RPC(如:dubbo)蕴含哪些组件,RPC 协定的组成?

正文完
 0