自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (1)
  • 收藏
  • 关注

原创 微服务架构之服务网关

上面聊完了「为什么需要网关」,我们再来看一下在实际项目中应该如何去应用。虽然我们可以自己去开发一套网关,但是如果没有特殊需求,还是不建议重复造轮子了,市面上有很多成熟的方案可以直接使用,Kong、Zuul、Spring Cloud Gateway。Zuul1的开源时间很早,Netflix、Riot、携程、拍拍贷等公司都已经在生产环境中使用,自身经受了实践考验,是生产级的API网关产品。Gateway在2019年离开Spring Cloud孵化器,应用于生产的案例少,稳定性有待考证。

2024-12-28 18:07:05 893

原创 微服务架构之监控预警

Spring Boot Admin是一个开源社区项目,是用来管理 Spring Boot 应用程序的一个简单的界面。应用程序作为Spring Boot Admin Client向为Spring Boot Admin Server注册(通过HTTP)或使用Spring Cloud注册中心(例如Eureka,Consul)发现。UI只是Spring Boot Actuator端点之上的Vue.js应用程序,展示Spring Boot Admin Client的Actuator端点上的一些监控。

2024-12-26 18:21:45 815

原创 微服务架构之链路追踪

Spring Cloud Sleuth Zip kin,对于Span、Trace、HTTP RequestZip kin Server。Span----基本的工作单元。无论是发送一个RPC或是向RPC发送一个响应都是一个Span。每一个Span通过一个64位ID来进行唯一标识,并通过另一个64位ID对Span所在的Trace进行唯一标识。Span能够启动和停止,他们不断地追踪自身的时间信息,当你创建了一个Span,你必须在未来的某个时刻停止它。

2024-12-26 15:31:48 1085

原创 KeepAlived+Nginx实践Nginx高可用方案

高可用性 HA(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性。HA 系统是目前企业防止核心计算机系统因故障停机的最有效手段。实现 HA 的方式,一般采用两台或者多台机器同时完成一项功能,比如数据库服务器,平常只有一台机器对外提供服务,另一台机器作为热备,当这台机器出现故障时,自动动态切换到另一台热备的机器。

2024-12-26 14:19:52 627 1

原创 微服务架构之限流熔断

的时候,对方都会限制每天最多只能调用几次之类的,当请求量超过系统的最大容量后,访问延迟就会增加,超过峰值的流量会拖累整个系统,出现宕机。请求进行限速,或者对一个时间窗口内的请求进行限速来保护系统,一旦达到限制速率则可以拒绝服务、排队或等待、降级等处理,程序中的限流就是限制请求,请求包括客户端发起的请求,应用内服务间的请求,很多平台都有限流,例如我们调用第三方的api。并且结合基于响应时间的熔断降级模式,可以在不稳定资源的平均响应时间比较高的时候自动降级,防止过多的慢调用占满并发数,影响整个系统。

2024-12-26 13:11:20 1262

原创 Seata AT事务底层原理分析

处理过程就是,根实际操作反着来,比如我们插入一条数据,那么就删除这条数据;如果修改了一条数据,那么就给他修改回去。和 “after image”,如果两份数据完全一致就说明没有脏写,可以还原业务数据,如果不一致就说明有脏写,出现脏写就需要转人工处理。,走原有的生成代理逻辑即可,如果已经是代理类,那么要通过反射获取代理对象内的拦截器集合也叫做Advisor。要更新的业务数据,在业务数据被更新前,将其保存成“before image”:事务协调器,维护全局事务和分支事务的状态,驱动全局提交或回滚,就是。

2024-04-22 23:59:26 869

原创 2、使用示范

默认限流异常处理URL 限流触发后默认处理逻辑是,直接返回 “Blocked by Sentinel (flow limiting)”。如果需要自定义处理逻辑,实现的方式如下:@Override使用注解下的限流异常处理如果需要自定义处理逻辑,填写注解的属性(针对所有类型的,需自行判断)或fallback属性(针对熔断降级异常),注意对应方法的签名和位置有限制,详情见Sentinel 注解支持文档。

2024-02-21 13:13:55 1194

原创 3、配置规则

Sentinel 针对 ZooKeeper 作了相应适配,底层可以采用 ZooKeeper 作为规则配置数据源。会周期性的读取文件以获取规则,当文件有更新时会及时发现,并将规则更新到内存中。作了相应适配,底层可以采用 Apollo 作为规则配置数据源。的理念是开发者只需要关注资源的定义,当资源定义成功后可以动态增加各种流控降级规则。这样,当初次访问任意资源的时候,Sentinel 就可以自动去注册对应的数据源了。方法只接受内存态的规则对象,但更多时候规则存储在文件、数据库或者配置中心当中。

2024-02-21 13:12:50 1270

原创 Nacos动态配置原理分析

首先看一下spring-cloud-starter-alibaba-nacos-discovery项目的结构看spring.factories中内容,优先加载装配的配置NacosConfigAutoConfiguration 自动装配配置,进行Bean的初始化。

2024-02-21 13:11:33 1254

原创 Sentinel底层原理分析

接入限流埋点当然也可以通过原始的方法进行埋点,可以参见Sentinel 文档。配置限流规则Sentinel 提供了两种配置限流规则的方式:代码配置 和 控制台配置。本示例使用的方式为通过控制台配置。通过控制台进行限流规则配置请参考文章后面的图文说明。3.2. 启动 Sentinel 控制台首先需要获取 Sentinel 控制台,支持直接下载和源码构建两种方式。启动控制台,执行 Java 命令完成 Sentinel 控制台的启动。修改 文件,引入 Sentinel starter。

2022-06-22 16:16:41 1160 1

java8中文api

java8中文apijava8中文apijava8中文apijava8中文apijava8中文apivvvvv

2018-01-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除