
SpringCloud&微服务
文章平均质量分 96
SpringCloud&微服务
Kim_smile
Be brave to try
展开
-
Dubbo入门实战(SpringBoot + Nacos)
本文主要介绍 Dubbo 3.0 整合 SpringBoot 的样例,这里使用 Nacos 作为注册中心,读者也可以使用 Zookeeper,项目结构为:接口服务 interface-service一、定义实体类注意要实现 接口。二、定义接口UserServiceOrderService服务提供者 user-service-provider一、application.yml二、UserService实现类核心注解 用于暴露 Dubbo 服务。三、启动类注解原创 2022-11-23 22:25:12 · 2035 阅读 · 0 评论 -
Sentinel 滑动窗口实现原理(源码分析)
我们知道,Sentinel 可以用来帮助我们实现流量控制、服务降级、服务熔断,而这些功能的实现都离不开接口被调用的实时指标数据,本文便是关于 Sentinel 是如何实现指标数据统计的。上图中的右上角就是滑动窗口的示意图,是 StatisticSlot 的具体实现。StatisticSlot 是 Sentinel 的核心功能插槽之一,用于统计实时的调用数据。,底层采用高性能的滑动窗口数据结构 LeapArray 来统计实时的秒级指标数据,可以很好地支撑写多于读的高并发场景。...原创 2022-08-11 18:06:00 · 2368 阅读 · 0 评论 -
SpringCloud学习——SpringCloud Alibaba Sentinel
随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。是分布式系统的流量防卫兵。Sentinel 的主要特性:jar 包启动:。流量控制资源名:唯一名称,默认请求路径。针对来源:Sentinel可以针对调用者进行限流,填写微服务名,默认default(不区分来源)。阈值类型/单机阈值:是否集群:不需要集群。流控模式:流控效果/手段:现代微服务架构都是分布式的,由非常多的服务组成。不同服务之间相互调原创 2022-06-19 17:30:34 · 360 阅读 · 0 评论 -
SpringCloud学习——Histrix服务限流、降级、熔断
服务降级指的是当服务器压力剧增的情况下,为了保证核心功能的可用性 ,而选择性的降低一些功能的可用性,或者直接关闭该功能。服务降级是从整个系统的负荷情况出发和考虑的,对某些负荷会比较高的情况,为了预防某些功能(业务场景)出现负荷过载或者响应慢的情况,在其内部暂时舍弃对一些非核心的接口和数据的请求,而直接返回一个提前准备好的 fallback 兜底处理。这样,虽然提供的是一个有损的服务,但却保证了整个系统的稳定性和可用性。现代微服务架构都是分布式的,由非常多的服务组成。不同服务之间相互调用,组成复杂的调用链路。原创 2022-06-19 17:01:34 · 2736 阅读 · 1 评论 -
SpringCloud学习——配置中心
在分布式微服务系统中,几乎所有服务的运行都离不开配置文件的支持,这些配置文件通常由各个服务自行管理,以 properties 或 yml 格式保存在各个微服务的类路径下,例如 application.properties 或 application.yml 等。这种将配置文件散落在各个服务中的管理方式,存在以下问题:SpringCloud Config 为微服务架构中的微服务提供集中化的外部配置支持,配置服务器为各个不同微服务应用的所有环境提供了一个中心化的外部配置。SpringCloud Config 分原创 2022-06-19 16:05:36 · 873 阅读 · 1 评论 -
SpringCloud学习——服务网关Gateway
在微服务架构中,一个系统往往由多个微服务组成,而这些服务可能部署在不同机房、不同地区、不同域名下。这种情况下,客户端(例如浏览器、手机、软件工具等)想要直接请求这些服务,就需要知道它们具体的地址信息,例如 IP 地址、端口号等。这种客户端直接请求服务的方式存在以下问题:API 网关是一个搭建在客户端和微服务之间的服务,我们可以在 API 网关中处理一些非业务功能的逻辑,例如权限验证、监控、缓存、请求路由等。API 网关就像整个微服务系统的门面一样,是系统对外的唯一入口。有了它,客户端会先将请求发送到 API原创 2022-06-19 15:36:06 · 1415 阅读 · 0 评论 -
SpringCloud学习——服务调用与负载均衡(Ribbon、OpenFeign)
Spring Cloud Ribbon 是一套基于 Netflix Ribbon 实现的客户端负载均衡和服务调用工具。Ribbon 会从服务注册中心(如 Eureka Server)中获取服务端列表,然后通过某种负载均衡策略(如简单轮询、随机连接等)将请求分摊给多个服务提供者,从而达到负载均衡的目的。负载均衡(Load Balance) ,简单点说就是将用户的请求平摊分配到多个服务器上运行,以达到扩展服务器带宽、增强数据处理能力、增加吞吐量、提高网络的可用性和灵活性的目的。常见的负载均衡方式有两种:服务端负原创 2022-06-19 15:32:27 · 567 阅读 · 0 评论 -
SpringCloud学习——服务注册中心(Eureka、ZooKeeper、Nacos)
文章目录服务注册中心Eureka架构设计服务注册与发现的流程环境配置Eureka ServerEureka Client集群搭建Eureka 自我保护模式ZooKeeperNacosNacos 的特性基本架构服务注册与发现 Discovery服务提供者注册服务消费者注册和负载均衡Nacos 支持 AP 和 CP 模式的切换服务注册中心在微服务架构中,一个系统通常被拆分为多个模块 / 服务,此时就涉及到模块之间的服务调用问题。在服务是单实例情况下,可以采用点对点的 HTTP 直接调用,即 IP + .原创 2022-05-27 23:20:41 · 5308 阅读 · 0 评论