转自:http://dy.163.com/v2/article/detail/DR10DQ890529HAG8.html
1.微服务架构模式方案
用Scale Cube方法设计应用架构,将应用服务按功能拆分成一组相互协作的服务。每个服务负责一组特定、相关的功能。每个服务可以有自己独立的数据库,从而保证与其他服务解耦。
1.1 聚合器微服务设计模式
聚合器调用多个服务实现应用程序所需的功能。它可以是一个简单的Web页面,将检索到的数据进行处理展示。它也可以是一个更高层次的组合微服务,对检索到的数据增加业务逻辑后进一步发布成一个新的微服务,这符合DRY原则。另外,每个服务都有自己的缓存和数据库。如果聚合器是一个组合服务,那么它也有自己的缓存和数据库。聚合器可以沿X轴和Z轴独立扩展。
1.2 代理微服务设计模式
这是聚合器模式的一个变种,在这种情况下,客户端并不聚合数据,但会根据业务需求的差别调用不同的微服务。代理可以仅仅委派请求,也可以进行数据转换工作。
1.3 链式微服务设计模式
这种模式在接收到请求后会产生一个经过合并的响应,在这种情况下,服务A接收到请求后会与服务B进行通信,类似地,服务B会同服务C进行通信。所有服务都使用同步消息传递。在整个链式调用完成之前,客户端会一直阻塞。因此,服务调用链不宜过长,以免客户端长时间等待。
1.4 分支微服务设计模式
这种模式是聚合器模式的扩展,允许同时调用两个微服务链
1.5 数据共享微服务设计模式
自治是微服务的设计原则之一,就是说微服务是全栈式服务。但在重构现有的“单体应用(monolithic application)”时,SQL数据库反规范化可能会导致数据重复和不一致。因此,在单体应用到微服务架构的过渡阶段,可以使用这种设计模式
1.6 异步消息传递微服务设计模式
虽然REST设计模式非常流行,但它是同步的,会造成阻塞。因此部分基于微服务的架构可能会选择使用消息队列代替REST请求/响应
相关推荐
微服务架构是一种将单一应用程序拆分为一组小型、独立的服务的开发方法,每个服务都可以独立部署、扩展和维护。这种架构提供了更好的可伸缩性、容错性和敏捷性。王磊的书中可能涵盖了如何设计和实施微服务,以及如何...
#### 微服务架构 - **服务注册与发现**:服务注册中心维护服务实例的地址信息,客户端通过服务发现机制找到服务提供者。 - **负载均衡**:通过负载均衡器将请求均匀地分配到不同的服务实例上,提高系统的可用性和...
在现代的分布式系统中,微服务架构已经成为了主流。然而,随着服务的拆分,系统的复杂性也随之增加,服务间的依赖关系变得错综复杂。在这种背景下,Netflix开源了一套强大的工具集,其中包括Hystrix、Ribbon和Eureka...
├─面试必问-微服务架构深入浅出讲解springcloud │ 微服务架构 --深入浅出讲解springcloud.mp4 │ ├─面试必问-教你手写MyBatis框架 │ 一小时教你手写MyBatis框架.mp4 │ ├─面试必问-架构杀手锏——java混乱...
**马丁·福勒(Martin Fowler)**指出,微服务架构的核心在于将应用程序分解为一系列的小型服务,每个服务都是自包含的,拥有独立的数据存储,能够独立部署和扩展。这种架构有助于提高开发效率和灵活性,同时降低了...
分布式事务是现代软件架构中不可或缺的一部分,特别是在微服务和大规模分布式系统中。本文将探讨分布式事务的基本概念,以及解决分布式事务挑战的一些方案。 首先,我们要理解数据库事务的重要性。数据库事务保证了...
云计算是一种通过互联网提供按需计算服务的模式,包括服务器、存储、数据库、网络、软件、分析等,用户无需管理和维护底层基础设施,只需关注自己的核心业务。云计算分为公有云、私有云和混合云,各有其适用场景和...
Dubbo更专注于服务治理,而Spring Cloud则侧重于微服务架构的整体解决方案。 3. **Dubbo和SpringCloud有哪些区别?** - **设计理念**:Dubbo偏向于RPC服务治理,Spring Cloud则是基于HTTP的微服务。 - **生态**...
SpringMVC是Spring提供的用于构建Web应用程序的模块,它提供了模型-视图-控制器(MVC)架构模式的实现。MyBatis则是一个持久层框架,简化了数据库操作,将SQL语句与Java代码分离,使得开发更为灵活。 在这个项目中...
”涉及设计原则和关键技术,如消费者模型(推拉模式)、事务处理、以及消息顺序等。 2. **分布式搜索引擎**: - 分布式搜索引擎如Elasticsearch、Solr等,用于处理大量非结构化数据的搜索需求。 - 部署方式通常...
- **ZAB协议:**ZooKeeper的基本协议,分为两种模式:恢复模式和广播模式。 - **恢复模式:**用于在新领导人选举后重新同步状态。 - **广播模式:**用于正常状态下的数据更新。 **4. 四种类型的数据节点Znode** - ...
- **协议类型**:分为两种模式,一种是在正常模式下的ZAB协议,另一种是在恢复模式下的选主协议。 - **功能**:保证所有服务器的数据一致性和事务顺序一致性。 #### 4、四种类型的数据节点Znode - **PERSISTENT**...