`
文章列表
raft zab paxos 分布式系统都会用到 zookeeper,etcd分布式存储
@SpringCloudApplication, 该注解包含@SpringBootApplication @EnableDiscoveryClient @EnableCircuitBreaker三个注解的效果 execution.isolation.thread.timeoutInMilliseconds(被该调用方的所有方法的超时时间都是该值) hystrix.command.default.circuitBreaker.sleepWindowInMilliseconds(短路多久以后开始尝试是否恢复,默认5s) circuitBreaker.forceOpen(强制断路器进入打开状态,将会 ...
Java并发编程:Synchronized及其实现原理 http://www.cnblogs.com/paddix/p/5367116.html Java并发编程:Synchronized底层优化(偏向锁、轻量级锁) 其中轻量级锁和偏移锁的运用 http://www.cnblogs.com/paddix/p/5405678.html

问题总结2

1.spring 事务是如何声明异常会怎样。 通过动态代理,在代理类里,先开启事务,执行任务,成功则提交事务,异常则回滚事务,最后关闭事务。 2.使用rabbitmq,发送到mq时的事务是如何实现的。 mq接收到消息后,会等待所有mirror接收到给予提交反馈,此事务可以是多个消息。 对于confirm确认机制,会等待所有mirror接收到给予提交反馈,此消息是一个。 3.mysql 执行计划器都有哪些级别,range和index区别。 all:全表扫 index:扫描全部索引树 range: 扫描部分索引,索引范围扫描 ref: 非唯一性索引扫描 eq_ref:唯一性索引扫描,对于每个索引 ...
21.深入理解java反射(运行时校验读取class文件信息的字段,方法,构造方法等) https://www.cnblogs.com/luoxn28/p/5686794.html RTTI在编译知道此类型去验证,运行时让我们知道是什么类型, 反射打破这个规律在运行时,去验证加载,匿名对象的类信息就在运行时被完全确定下来,而在编译时不需要知道任何事情。 reflect类库一起对反射的概念进行了支持,该类库包含了Field字段、Method方法以及Constructor构造器类(每个类都实现了Member接口)。JVM在运行时创建这些类型的对象。 对RTTI(传统的加载class对象)来 ...
DB主从分离:主服务 更新有线程记录mysq 的blog记录文件,从服务有一个线程去拉他日志同步到DB。 如果从有延迟,如果同一个业务线程,大概率读不到会直接写主读主, 如果小概率,读从,如果没有再读主。

算法2

两数之和,数组中两个数和等于固定值A,这两个数的位置? 暴力法: class Solution { public int[] twoSum(int[] nums, int target) { for(int i=0 ; i<nums.length; i++) { for(int j=i+1 ; j<nums.length; j++){ if(nums[i]+nums[j] == target) { return new int[]{ i, j }; ...
事物传播行为介绍:   @Transactional(propagation=Propagation.REQUIRED) :如果有事务, 那么加入事务, 没有的话新建一个(默认情况下)   @Transactional(propagation=Propagation.NOT_SUPPORTED) :容器不为这个方法开启事务   @Transactional(propagation=Propagation.REQUIRES_NEW) :不管是否存在事务,都创建一个新的事务,原来的挂起,新的执行完毕,继续执行老的事务   @Transactional(propagation=Propagatio ...
1 聚簇索引 和 非聚簇索引 MyISAM的B+Tree的叶子节点上的data,并不是数据本身,而是数据存放的地址。主索引和辅助索引没啥区别,只是主索引中的key一定得是唯一的。这里的索引都是非聚簇索引。 MyISAM还采用压缩机制存储索引,比如,第一个索引为“her”,第二个索引为“here”,那么第二个索引会被存储为“3,e”,这样的缺点是同一个节点中的索引只能采用顺序查找。 InnoDB 的数据文件本身就是索引文件,B+Tree的叶子节点上的data就是数据本身,key为主键,这是聚簇索引。非聚簇索引,叶子节点上的data是主键 ( ...

新编码算法

https://572327713.iteye.com/admin/blogs/2434187 try { byte[] sourceBytes = new byte[8]; if (id < 100000000) { int2bytes(sourceBytes, id); } else { sourceBytes[0] = (byte) ((id >> 24) & 0xFF); sourceBytes[1] = (byte) ((id >> 16) & 0xFF); sour ...
redis主从是如何同步的 先说已经执行过首次同步(salvof)的场景,主从服务建立了套接字(socket)连接,主服务将自己执行命令直接传播给从服务器,实现主从命令同步。。 在这里重点在于如何套接字(socket)连接,发送PING命令,进行身份验证,发送监听端口。 还有在进行复制时使用的SYNC部分同步数据的命令。 这里暂时理解为都是同步的
好文章:https://blog.csdn.net/hh1sdfsf56456/article/details/79474434 分布式锁,存在无法解决的问题,一起回顾如下 1、为了提高单redis的可用性,给master挂了一个从slave节点,因为主从复制是异步的,会出现不同客户端同时获取锁的情况 ...
此文章是基于分布式锁Redlock引发的 https://blog.csdn.net/hh1sdfsf56456/article/details/79474434 使用Zookeeper 实现选主从(分布式锁): https://www.cnblogs.com/dpains/p/7885645.html Zookeeper的一致性原理: https://blog.51cto.com/welcomeweb/2103292?utm_source=oschina-app
zipkin链路跟踪: 多服务之间调用,服务与服务之间监控,原理是在发送和接收请求时由brave异步传输(HTTP, Kafka和Scribe)给zipkin传输记录,zipkin把记录整理存储起来(可以内存,DB,es等)。 同时zipkin有自己的ui可以展示给我们使用,调查日志。 另外zipkin也可以使用brave-mysql类库跟踪业务DB,增加MySQLStatementInterceptorManagementBean方法实例 ,原理是在jdbc时进行拦截把记录放到zipkin。 OkHttpClient调用发起http请求。在每次发起请求时则需要通过brave记录Span信息, ...

复习大纲

https://maimai.cn/article/detail?fid=1082458242&efid=R-SdQ-TDbJmZWEdNokgwSw&from=singlemessage 1.Queue ThreadPoolExecutor的三种队列SynchronousQueue,LinkedBlockingQueue,ArrayBlockingQueue https://www.cnblogs.com/feiyun126/p/7686302.html 每个队列底层实现的数据结构 2.Sync ...
Global site tag (gtag.js) - Google Analytics