自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 限流熔断—Sentinel

一、服务控制相关概念 1、服 务 雪 崩:一个服务失败,导致整条链路的服务都失败的情形,我们称之为 服务雪崩(一般是由于大量请求突然涌入造成的); 解决方案:服务熔断和服务降级。 服务限流:限流的主要目的是通过限制并发访问数或者限制一个时间窗口内 允许处理的请求数量来保护系统,一旦达到限制流量,则对当前 请求进行处理采取对应的拒绝策略。如:跳转错误页面、进行排 队、服务降级等; 服务熔断:当某个服务提供者无法正常为服务调用者提供服务时,为了防止 服务雪崩,暂时将出现故障的接口隔离出来,后续一段时间内该 服务

2021-08-21 22:16:05 1286

原创 服务发现Nacos

服务演进:单体–>垂直部署–>SOA–>微服务 SOA与微服务区分:二者都是面向服务的,但是SOA主要是为了解决代码重用和信息孤岛问题,而微服务是为了解决解耦问题。 服务治理概念: 服务发现的两种方式: 服务发现调用流程: 客户端服务发现流程: 服务端发现流程: Nacos架构图: Provider APP----服务的提供者 Consumer APP----服务的消费者 Name----通过VIP或DNS实现Nacos的⾼可⽤服务路由。 Nacos Server Open A

2021-08-11 21:41:22 89

原创 配置中心Nacos

**存在必要性:**为了解决微服务架构中,当系统从一个单体应用,被拆分成分布式系统上一个个服务节点后,配置文件也必须跟着迁移(分割),导致配置分散也冗余的问题。 配置中心能力:可以在配置中心发布、修改、删除配置;服务可以从配置中心获得配置信息;配置信息发生变更可以发起通知服务(热加载)。 特点:独立于程序存在;影响整个服务生命周期;存在多种加载方式(SDK\配置文件等);环境治理。 当前主流配置中心对比: Nacos 1、官网:https://nacos.io/zh-cn/ 2、nacos功能: 3、安

2021-08-07 22:27:18 106

原创 Netty

TCP协议:TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。 最原始的Socket: BIO缺陷: 每收到一个socket就会启一个线程,如果网络不好或者其他原因出现线程阻塞,会不断切换线程,当连接数多了之后,效率会很低,因为接收端会有一个缓存大小,一旦接收方缓存写满,写也会阻塞,我们理想情况下,线程数不要那么多,切换不要那么频繁,NIO出现就是为了解决这个问题。 NIO:通过Selector API,由事件来监听通知,负责多个socket连接,读写时不会先定一个容量采取写。读多少写多少,不会

2021-07-11 22:20:48 74

原创 Mybatis应用

主流持久层的技术框架: 1、JDBC 使用JDBC的5个步骤: 注册驱动和数据库信息; 获得Connection,并使用它打开Statement对象; 使用Statement对象执行sql语句,并获得结果对象集ResultSet; 通过代码将ResultSet对象转化为POJO对象; 关闭数据库资源。 缺点: 代码量很大,麻烦; 需要我们对异常进行捕获并关闭连接。 2、HIBERNATE 优点: 将映射规则分离到XML/注解中,减少了代码的耦合度; 无需管理数据库的连接,只需要配置响应的XML; 一个会话,

2021-07-11 22:00:15 69

原创 MYSQL(上)

一、底层数据结构-页(Page) 为了避免一条一条读取磁盘数据(IO操作频繁),减少磁盘与内存交互的成本,InnoDB采取页的方式,作为磁盘与内存交互的基本单位,基本大小一般为16KB。InnoDB为了不同的目的设计了不同类型的页,eg:存放表空间头部信息的页、存放undo日志信息的页、存放表中数据记录的页(索引页、数据页)。 1、InnoDB数据页结构(User Record 与Free Space此消彼长关系): 不同阶段页的结构: 2、记录(可以理解为插入的数据)的头信息 1>detele

2021-07-11 16:44:47 109

原创 JVM浅析

图解: 一、类的加载classLoader 1、类的主动加载方式(4种,经常被问到): 1>构造函数:eg:Student student = new Student(); 2>反射、Clone; 3>初始化子类的时候父类会被初始化; 4>调用一个静态方法。 2、类加载的过程: 1>加载 Loader 通过类的全路径名,获取类的二进制数据; 解析流,将类的信息存放于方法区; 创建class.

2021-06-23 23:06:53 83

原创 JAVA内存模型(Memory Model)

JAVA内存模型(Memory Model) 一、为什么存在? 为了解决线程之间的通信以及线程之间因编译器对代码的指令重排、处理器对代码乱序执行带来的同步问题。 通信:线程之间交换信息的机制。在命令式编程中,分为两种:共享内存(隐式通信)和消息传递(显示通信)。Java中的通信采用共享内存的方式进行。 同步:程序中 ⽤于 控制 不同线程间操作 发⽣的相对顺序的机制。分为两种:共享内存(显式同步)和消息传递(隐式同步)。 指令重排:为提高性能代码执行顺序与代码书写顺序不一致的现象。分为三种:编译器优化的重排序

2021-06-21 22:28:00 119

空空如也

空空如也

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

TA关注的人

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