- 浏览: 60524 次
- 性别:
- 来自: 上海
最新评论
文章列表
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
- 博客分类:
- Core java1
1.spring 事务是如何声明异常会怎样。
通过动态代理,在代理类里,先开启事务,执行任务,成功则提交事务,异常则回滚事务,最后关闭事务。
2.使用rabbitmq,发送到mq时的事务是如何实现的。
mq接收到消息后,会等待所有mirror接收到给予提交反馈,此事务可以是多个消息。
对于confirm确认机制,会等待所有mirror接收到给予提交反馈,此消息是一个。
3.mysql 执行计划器都有哪些级别,range和index区别。
all:全表扫
index:扫描全部索引树
range: 扫描部分索引,索引范围扫描
ref: 非唯一性索引扫描
eq_ref:唯一性索引扫描,对于每个索引 ...
类加载,反射,双亲委派,生命周期
- 博客分类:
- jvm
21.深入理解java反射(运行时校验读取class文件信息的字段,方法,构造方法等)
https://www.cnblogs.com/luoxn28/p/5686794.html
RTTI在编译知道此类型去验证,运行时让我们知道是什么类型,
反射打破这个规律在运行时,去验证加载,匿名对象的类信息就在运行时被完全确定下来,而在编译时不需要知道任何事情。
reflect类库一起对反射的概念进行了支持,该类库包含了Field字段、Method方法以及Constructor构造器类(每个类都实现了Member接口)。JVM在运行时创建这些类型的对象。
对RTTI(传统的加载class对象)来 ...
msql主从同步机制
- 博客分类:
- 数据库+缓存
DB主从分离:主服务 更新有线程记录mysq 的blog记录文件,从服务有一个线程去拉他日志同步到DB。
如果从有延迟,如果同一个业务线程,大概率读不到会直接写主读主,
如果小概率,读从,如果没有再读主。
两数之和,数组中两个数和等于固定值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 ...
mysql原理分析(可用于培训)
- 博客分类:
- 数据库+缓存
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主从同步/复制
- 博客分类:
- 数据库+缓存
redis主从是如何同步的
先说已经执行过首次同步(salvof)的场景,主从服务建立了套接字(socket)连接,主服务将自己执行命令直接传播给从服务器,实现主从命令同步。。
在这里重点在于如何套接字(socket)连接,发送PING命令,进行身份验证,发送监听端口。
还有在进行复制时使用的SYNC部分同步数据的命令。
这里暂时理解为都是同步的
分布式锁Redlock
- 博客分类:
- 多线程高并发(并发包/线程/锁)
好文章:https://blog.csdn.net/hh1sdfsf56456/article/details/79474434
分布式锁,存在无法解决的问题,一起回顾如下
1、为了提高单redis的可用性,给master挂了一个从slave节点,因为主从复制是异步的,会出现不同客户端同时获取锁的情况
...
zk主从同步与集群leader选举
- 博客分类:
- zookeeper
此文章是基于分布式锁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链路监控跟踪
- 博客分类:
- 日志相关
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 ...