- 博客(82)
- 资源 (3)
- 问答 (3)
- 收藏
- 关注
原创 微服务组件
fallback:定义容错的处理类,当调用远程接口失败或超时时,会调用对应接口的容错逻辑,fallback指定的类必须实现@FeignClient标记的接口。相当于有一个协调角色,如果都成功,都提交,如果一个失败,调用相关的undo日志,进行回滚。nacos 分为服务端和客户端,各个系统通过配置会将配置过的服务和端口上报到服务端。定义和实现服务之间的 RESTful 接口,使得服务之间的调用更加方便和可靠。熔断:如果出现大面积错误,会直接在规定时间内调用本地的实现方法。1.nacos 原理。
2024-09-10 22:35:11 198 1
原创 BIO和NIO
BIO代码import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;public class SocketSever { public static void main(String[] args) throws IOException { // ServerSocket serverSocket = new ServerSocket(9000);
2022-05-16 22:13:01 118
原创 Rocketmq持久化
kafka单机队列/分区超过64个厚,load时间明显会飙升,队列越多,load越高,发送消息时间变长RocketMQ 单机支持支持5W队列,load时间稳定为什么?因为二者的持久化方式差异kafka 不同的topic和分区持久化都会有独立的文件保存这就导致了它io的时候要在不同的文件下切换,当切换次数多的时候会表现的很不稳定rocketmq 不管多少个topic,多少个队列都是保存在一个文件下避免了切换问题,所以在多队列的场景下稳定...
2022-05-08 08:53:46 1309
原创 mySql 脏读,幻读,不可重复度与事务隔离级别
mysql有3种并发问题脏读读到未提交的数据A事务B事务开启事务查询结果100开启事务更新到150,未提交查询结果150回滚查询结果100A事务查询到了B事务未提交的内容。不可重复度同一事务多次查询结果不一致 ,针对数据的修改A事务B事务开启事务开启事务查询结果 100更新到150查询结果 100事务提交查询结果 150对于A事务来说,多次查询的
2021-08-22 16:01:04 191
原创 布隆过滤器
问题redis 缓存穿透有人请求id = -1 的数据redis中是没有这条数据的,需要去mysql中查,但是数据库也没有这条数据。查出的结果是null然后,多次请求id = -1多级去数据库查询,导致数据库资源浪费解决思路:查出 -1的数据为null 也缓存到redis ,下次再请求就可以从缓存取了这个时候有人请求id = -2 的数据,数据库也没有,于是redis 缓存-2 的数据然后,-3,-4 .。。。-100000000如果把查出来为null的都缓存起来,肯定是要浪费redi
2021-05-30 21:59:54 79
原创 RockedMq 角色
RockedMqnameservice负责管理各种信息,就像记事本producer消息发送者,与nameservice其中的一个节点建立长连接,定时获取topic信息,并且和相关topic master 建立长连接consumer消息接收者,与nameservice其中的一个节点建立长连接,定时获取topic信息,并且和相关topic master 和 slave 都建立长连接...
2021-05-15 11:13:16 89
原创 Socket握手过程
网络七层协议不解释了我们的http,ssh,stmp 等协议都属于应用层无论你要用哪种协议都需要在传输层 先建立socket 连接而socket 连接是根据 ip+端口 来匹配的也就是说一个就算是2台机器,不同的应用之间建立的socket 也是不一样的在http 1.0的时代,都是短链接(每次请求完了以后就关闭)http1.1 以后默认支持长连接Connection:keep-alive不用的话可以关闭Connection:close长连接的好处是不用每次请求都经过3次握手请求完成后不
2021-05-15 10:55:17 376
原创 web应用的第一次请求优化策略
工作中接到这么一个需求:一个接口的请求响应时间不稳定,一般6-7秒,甚至有时候需要14秒的访问时间然后我去看了下该接口实际代码大概逻辑是这样的:1.A 用http 请求B2.B查询数据库3.数据库返回查询结果4.B将结果返回给A5.A查询数据库6.数据库返回结果第一次web请求的时候服务器A与B之间需要建立socket 连接服务器B与数据库D之间也要建立socket 连接服务器A与数据库C之间也要建立连接A服务器中的连接池由于没有JDBC线程所以需要创建B服务器中的连接池由于
2021-05-15 10:27:11 185
原创 Redis 分布式锁
现在很多公司都喜欢用Redis做分布式锁。来讲一讲Redis锁的概念1.SETNX最早都是用SETNX 来做分布式锁Setnx命令在指定的 key 不存在时,为 key 设置指定的值对比SET举2个例子:set(“boss”,“you”);set(“boss”,“me”);这里执行完后boss的值是 me;而setNx(“boss”,“you”);setNx(“boss”,“me”);执行完后 boss的值是 you因为setNx只有key 不存在的时候才会执行所以被用来做分布
2021-05-04 21:12:57 101
原创 StackOverflowError 出现原因与解决方案
StackOverflowError 是嵌套循环太多次导致超出了栈帧深度public class StackOverFlow { private static int count = 20000; private static int base = 1; public static void main(String[] args) { cycle(); System.out.println(count); } public sta
2021-03-18 22:04:08 2133
原创 面试遇到的问题与答案
日期:2021、21.微服务中如果有机器突然异常会会出现哪些情况?2.servlet是什么,有哪些步骤 – 应用程序,init(),service(),distory()3.mysql 表名的最大长度 --1284.Integer 在64位机器上占几个字符 --4个5.HashSet 的继承关系 – 继承abstractSet,实现Set 接口6.HashMap 的继承关系 – 继承abstractMap 实现Map 接口ArrayList,HashSet,HashMap 继承关系Array
2021-02-20 20:38:03 129
原创 hadoop的集群模式
hadoop的集群模式大概有以下几种1.本地2.伪分布式3.完全分布式4.HA 模式本地在单机上运行,读取本地文件系统伪分布式在单机上运行使用分布式文件系统单机上启动nameNode、dataNode、secondary nameNode集群只有一个节点,因此副本为1完全分布式在多台机器上运行nameNode、dataNode、secondary nameNode 在不同机器上启动集群有多个节点,副本不唯一缺点:非高可用HA 模式相比完全分布式,主要体现在高可用
2021-02-10 20:35:23 726 1
原创 HDFS 读取流程
先看图通过物理距离返回排序列表HDFS客户端要读取数据首先必须和nameNode 建立连接,获取dataNode信息。nameNode会根据客户端的物理地址返回一个由近到远的块地址列表。客户端拿到列表后和最近的进行连接读取数据注意点HDFS中块是由一个完整的文件分成多个块,而每个块可能保存在不同机架上。每个块中除了数据还保存了所在文件的偏移量。所以读取到不同的块后可以再组成一个完整的文件。数据可靠性如何判断块是可靠的?每个块都由一个通过计算得到的code,这是在写入的时候就计算好的
2021-02-09 19:32:40 141
原创 HDFS 写文件流程
HDFS写文件流程,需要先看懂下面2张图副本备份策略如图:有2个机架服务器群,通过交换机进行交互,其中同一个群的不同机架都通过群内的服务器进行交互。例子中设置的3个副本放置在2个机架服务群上,其中副本1,2绝对不在同一个机架群。这是为了防止有人把副本设置为2,然后A1,A2都分配到一个机架服务群。流水式传输假设一个数据的备份是3客户端会先找nameNode获取块信息,nameNode告诉它(你去A1,A2,A3上面存把)然后客户端与A1块建立socket连接。把数据D1传入A1块,A1块
2021-02-09 12:20:03 133
原创 内存持久化方案
任何使用内存做存储的工具,都面临持久化的问题,比如redis,HDFS目前世界上的解决方案只有以下2种:写日志针对每一次操作都用日志记录,需要恢复时逐行读取,再操作一遍。优点:可靠性比较高缺点:恢复速度慢快照,dump在某一个时间点把内存的所有数据记录下来,生成一个image需要恢复时读取这个image优点:恢复速度快缺点:数据可靠性差组合redis和hdfs等工具都是使用组合的方式来做。先用一个快照恢复到某一个时间节点,然后用日志的方式恢复。...
2021-02-07 07:07:08 586
SwingTreeTable.zip
2020-03-07
jakarta.jar
2015-11-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人