- 博客(8)
- 收藏
- 关注
原创 限流熔断—Sentinel
一、服务控制相关概念1、服 务 雪 崩:一个服务失败,导致整条链路的服务都失败的情形,我们称之为 服务雪崩(一般是由于大量请求突然涌入造成的);解决方案:服务熔断和服务降级。服务限流:限流的主要目的是通过限制并发访问数或者限制一个时间窗口内 允许处理的请求数量来保护系统,一旦达到限制流量,则对当前 请求进行处理采取对应的拒绝策略。如:跳转错误页面、进行排 队、服务降级等;服务熔断:当某个服务提供者无法正常为服务调用者提供服务时,为了防止 服务雪崩,暂时将出现故障的接口隔离出来,后续一段时间内该 服务
2021-08-21 22:16:05 1305
原创 服务发现Nacos
服务演进:单体–>垂直部署–>SOA–>微服务SOA与微服务区分:二者都是面向服务的,但是SOA主要是为了解决代码重用和信息孤岛问题,而微服务是为了解决解耦问题。服务治理概念:服务发现的两种方式:服务发现调用流程:客户端服务发现流程:服务端发现流程:Nacos架构图:Provider APP----服务的提供者Consumer APP----服务的消费者Name----通过VIP或DNS实现Nacos的⾼可⽤服务路由。Nacos ServerOpen A
2021-08-11 21:41:22 98
原创 配置中心Nacos
**存在必要性:**为了解决微服务架构中,当系统从一个单体应用,被拆分成分布式系统上一个个服务节点后,配置文件也必须跟着迁移(分割),导致配置分散也冗余的问题。配置中心能力:可以在配置中心发布、修改、删除配置;服务可以从配置中心获得配置信息;配置信息发生变更可以发起通知服务(热加载)。特点:独立于程序存在;影响整个服务生命周期;存在多种加载方式(SDK\配置文件等);环境治理。当前主流配置中心对比:Nacos1、官网:https://nacos.io/zh-cn/2、nacos功能:3、安
2021-08-07 22:27:18 134
原创 Netty
TCP协议:TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。最原始的Socket:BIO缺陷:每收到一个socket就会启一个线程,如果网络不好或者其他原因出现线程阻塞,会不断切换线程,当连接数多了之后,效率会很低,因为接收端会有一个缓存大小,一旦接收方缓存写满,写也会阻塞,我们理想情况下,线程数不要那么多,切换不要那么频繁,NIO出现就是为了解决这个问题。NIO:通过Selector API,由事件来监听通知,负责多个socket连接,读写时不会先定一个容量采取写。读多少写多少,不会
2021-07-11 22:20:48 84
原创 Mybatis应用
主流持久层的技术框架:1、JDBC使用JDBC的5个步骤:注册驱动和数据库信息;获得Connection,并使用它打开Statement对象;使用Statement对象执行sql语句,并获得结果对象集ResultSet;通过代码将ResultSet对象转化为POJO对象;关闭数据库资源。缺点:代码量很大,麻烦;需要我们对异常进行捕获并关闭连接。2、HIBERNATE优点:将映射规则分离到XML/注解中,减少了代码的耦合度;无需管理数据库的连接,只需要配置响应的XML;一个会话,
2021-07-11 22:00:15 80
原创 MYSQL(上)
一、底层数据结构-页(Page)为了避免一条一条读取磁盘数据(IO操作频繁),减少磁盘与内存交互的成本,InnoDB采取页的方式,作为磁盘与内存交互的基本单位,基本大小一般为16KB。InnoDB为了不同的目的设计了不同类型的页,eg:存放表空间头部信息的页、存放undo日志信息的页、存放表中数据记录的页(索引页、数据页)。1、InnoDB数据页结构(User Record 与Free Space此消彼长关系):不同阶段页的结构:2、记录(可以理解为插入的数据)的头信息1>detele
2021-07-11 16:44:47 136
原创 JVM浅析
图解:一、类的加载classLoader 1、类的主动加载方式(4种,经常被问到): 1>构造函数:eg:Student student = new Student(); 2>反射、Clone; 3>初始化子类的时候父类会被初始化; 4>调用一个静态方法。2、类加载的过程: 1>加载 Loader 通过类的全路径名,获取类的二进制数据; 解析流,将类的信息存放于方法区; 创建class.
2021-06-23 23:06:53 102
原创 JAVA内存模型(Memory Model)
JAVA内存模型(Memory Model)一、为什么存在?为了解决线程之间的通信以及线程之间因编译器对代码的指令重排、处理器对代码乱序执行带来的同步问题。通信:线程之间交换信息的机制。在命令式编程中,分为两种:共享内存(隐式通信)和消息传递(显示通信)。Java中的通信采用共享内存的方式进行。同步:程序中 ⽤于 控制 不同线程间操作 发⽣的相对顺序的机制。分为两种:共享内存(显式同步)和消息传递(隐式同步)。指令重排:为提高性能代码执行顺序与代码书写顺序不一致的现象。分为三种:编译器优化的重排序
2021-06-21 22:28:00 149
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人