摘要:
1. 概述 随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。 (1)Sentinel 的主要特性 (2)Sentinel 的开源生态 (3)Sentinel 两大组成部分 核心库(Java 客户端 阅读全文
摘要:
1. 基础说明 Nacos(Dynamic Naming and Configuration Service) 1.1 概要 https://nacos.io/zh-cn/ (1)服务发现和服务健康监测 Nacos 支持基于 DNS 和基于 RPC 的服务发现。服务提供者使用原生SDK、OpenAP 阅读全文
摘要:
1. 分布式链路追踪技术 1.1 适用场景 为了支撑日益增长的庞大业务量,我们会使用微服务架构设计我们的系统,使得我们的系统不仅能够通过集群部署抵挡流量的冲击,又能根据业务进行灵活的扩展。 那么,在微服务架构下,一次请求少则经过三四次服务调用完成,多则跨越几十个甚至是上百个服务节点。那么问题接踵而来 阅读全文
摘要:
微服务统一认证方案 Spring Cloud OAuth2 + JWT 1. 微服务架构下统一认证 1.1 认证场景 认证:验证用户的合法身份,比如输入用户名和密码,系统会在后台验证用户名和密码是否合法,合法的前提下,才能够进行后续的操作,访问受保护的资源。 分布式系统的每个服务都会有认证需求,如果 阅读全文
摘要:
1. Gateway 1.1 简单介绍 【网关】单体应用拆分成多个服务后,对外需要一个统一入口,解耦客户端与内部服务。「网关」的核心功能是路由转发,因此不要有耗时操作在网关上处理,让请求快速转发到后端服务上。网关还能做统一的熔断、限流、认证、日志监控等。也可以和服务注册中心完美的整合,如:Eurek 阅读全文
摘要:
1. 微服务中的雪崩效应 https://www.cnblogs.com/rjzheng/ Service A 的流量波动很大,流量经常会突然性增加!那么在这种情况下,就算 Service A 能扛得住请求,Service B 和 Service C 未必能扛得住这突发的请求。 此时,如果 Serv 阅读全文
摘要:
1. 引入&说明 服务消费者调用服务提供者的时候使用 RestTemplate 技术存在不便之处:① 拼接 url;② restTmplate.getForObject。这两处代码都比较模板化,能不能不让我我们来写这种模板化的东西?另外来说,拼接 url 、拼接字符串、拼接参数,很 low 还容易出 阅读全文
摘要:
1. 负载均衡 1.1 概述 Spring Cloud Ribbon 是基于 Netflix Ribbon 实现的一套客户端-负载均衡的工具。 简单地说,Ribbon 是 Netflix 发布的开源项目,主要功能是提供客户端的软件负载均衡算法和服务调用。Ribbon 客户端组件提供一系列完善的配置项 阅读全文
摘要:
1. 单机 Eureka 构建步骤 新增模块 cloud-eureka-server-7001 编写 pom.xml<parent> <artifactId>study-cloud</artifactId> <groupId>cn.edu.nuist</groupId> <version>1.0-S 阅读全文
摘要:
1. 微服务架构 微服务架构设计的核心思想就是“微”,拆分的粒度相对比较小,这样的话单一职责、开发的耦合度就会降低、微小的功能可以独立部署扩展、灵活性强,升级改造影响范围小。 (1)服务注册与服务发现 服务注册:服务提供者将所提供服务的信息(服务器 IP 和端口、服务访问协议等)注册/登记到注册中心 阅读全文