接口调用通常包含两个部分,序列化和通信协议。常见的序列化协议包括json、xml、hession、protobuf、thrift、text、bytes等;通信比较流行的是http、soap、websockect,RPC通常基于TCP实现,常用框架例如dubbo,netty、mina、t...
在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以通过 RPC 相互调用。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证 100% 可用,如果单个服务出现问题,调用这个服...
◆ ACID往往针对传统本地事务,分布式事务无法满足原子性和隔离性,需要舍弃传统ACID理论 ◆ 基于BASE理论,业务状态不需要在微服务系统内强一致 ◆ 基于BASE理论,订单状态要做到最终一致性即可 ◆ 为了做到最终一致性, 要...
自动ACK:消费端收到消息后,会自动签收消息 手动ACK:消费端收到消息后,不会自动签收消息,需要我们在业务代码中显式签收消息
使用微服务系统,组件之间充分解耦 使用消息中间件,解耦业务逻辑 使用数据库,持久化业务数据
微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务。由于每个服务都需要必要的配置信息才能运行,所以一套集中式的、动态的配置管理设施是必不可少的。...
熔断机制是应对雪崩效应的一种微服务链路保护机制。当扇出链路的某个微服务出错不可用或者响应时间太长时,会进行服务的降级,进而熔断该节点微服务的调用,快速返回错误的响应信息。当检测到该节点微服务调用响应正常后,恢...
复杂分布式体系结构中的应用程序有数十个依赖关系,每个依赖关系在某些时候将不可避免地失败。
Spring Cloud封装了Netflix 公司开发的Eureka模块来实现服务治理
一个工程对应一个归档包(war),这个war包 包含了该工程的所有功能。我们成为这种应用为单体应用,也就是我们常说的单体架构。具体描述: 就是在我们的一个war包种,聚集了各种功能以及资源,比如JSP,JS,CSS等。...