- 浏览: 2651363 次
- 来自: 杭州
最新评论
-
siphlina:
课程——基于Python数据分析与机器学习案例实战教程分享网盘 ...
Python机器学习库 -
san_yun:
leibnitz 写道hi,我想知道,无论在92还是94版本, ...
hbase的行锁与多版本并发控制(MVCC) -
leibnitz:
hi,我想知道,无论在92还是94版本,更新时(如Puts)都 ...
hbase的行锁与多版本并发控制(MVCC) -
107x:
不错,谢谢!
Latent Semantic Analysis(LSA/ LSI)算法简介 -
107x:
不错,谢谢!
Python机器学习库
文章列表
[置顶] 51信用卡 限流 实践
- 博客分类:
- 限流
原文:https://mp.weixin.qq.com/s/xlcizvNkxfEoFa03GjiC9w
为什么需要限流
我们都知道,构建高并发的系统有三大利器:缓存、降级、限流。通过使用缓存,可以让用户在获取数据链路的过程变的更短、获取数据的速度变得更快,从而提升 ...
spring-cloud问题排查
- 博客分类:
- 问题
### 问题1报错,应用无法启动
org.springframework.core.io.ClassPathResource.getInputStream()抛出异常:
FileNotFoundException:org/springframework/boot/actuate/autoconfigure/HealthIndicatorAutoConfiguration.class cannot be opened because it does not exist
### 原因分析
HealthIndicatorAutoConfiguration 在spring-boot不同版本路径 ...
maven 插件开发
- 博客分类:
- maven
1. 注意maven插件的命名规范
一般来说,我们会将自己的插件命名为 -maven-plugin,而不推荐使用 maven--plugin,因为后者是 Maven 团队维护官方插件的保留命名方式,使用这个命名方式会侵犯 Apache Maven 商标。
2. maven debug
maven 原生提供了mvnDebug 命令,通过远程debug就可以了
log4j
LoggingEvent.getLocationInformation() line: 255
PatternParser$ClassNamePatternConverter.getFullyQualifiedName(LoggingEvent) line: 555
PatternParser$ClassNamePatternConverter(PatternParser$NamedPatternConverter).convert(LoggingEvent) line: 528
PatternParser$ClassNamePatternConv ...
最近线上运行的hbase发现分配了16g内存,但是实际使用了22g,堆外内存达到6g。感觉非常诡异。堆外内存用一般的工具很难查看,可以通过google-perftools来跟踪: http://code.google.com/p/google-perftools/downloads/list 它的原理是 ...
LinkageError是一个比较棘手的异常,准确的说它是一个Error而不是Exception。java api对它没有直接的解释,而是介绍了它的子类:
Subclasses of LinkageError indicate that a class has some dependency on another class; however, the latter class has incompat ...
如何更好地学习dubbo源代码
- 博客分类:
- dubbo
http://jm.taobao.org/2013/11/14/3138/
很荣幸,作为这样一款业界使用率和好评率出众的RPC框架的维护者,今天这个文章主要是想帮助那些热爱开源的同学,更好的来研究dubbo的源代码。
一、Dubbo整体架构
1、Dubbo与Spring的整合Dubb ...
Java中的Date和时区转换
- 博客分类:
- date
1.Date中保存的是什么
在java中,只要我们执行
Date date = new Date();
就可以得到当前时间。如:
Date date = new Date();
System.out.println(date);
输出结果是:
Thu Aug 24 10:15:29 CST 2017
也就是我执行上述代码的时刻:2017年8月24日10点15分29秒。是不是Date对象里存了年月日时分秒呢?不是的,Date对象里存的只是一个long型的变量,其值为自1970年1月1日0点至Date对象所记录时刻经过的毫秒数,调用Date对象getTime()方法 ...
笔者在一个Websocket中间件产品(Apush,https://market.aliyun.com/products/56928004/cmapi020699.html#sku=yuncode1469900000)的集群管理中使用了zk的EPHEMERAL节点机制。在编码过程中发现很多可能存在的陷阱,毛估估,第一次使用zk来实现集群管理的 ...
CAP 理论
抽屉理论
Quorum 机制
HDFS rqm
ZooKeeper fencing 问题
Zookeeper 的 ZAB(Zookeeper Atomic Broadcast)
RAFT 协议
Zookeeper 选主
Redis sentinel
Redis 分布式锁存在的安全问题
Zookeeper election epoch
ZooKeeper zxid
TCP连接状态异常记录
- 博客分类:
- TCP
参考:http://blueskykong.com/2018/07/26/tcp-close-wait/
问题描述
分布式事务Lottor在测试环境中运行一段时间之后,出现Lottor客户端连接不上Lottor Server的情况。经过排查,发现根源问题是Lottor客户端获取不到Lottor Server的集群信息。
Lottor Server启动了两个端口:9666为Tomcat容器的端口、9888为netty 服务器的端口。通过如下命令查看端口的状态:
1
netstat -apn
netty服务的端口
设计
不管你是否使用HTTL,都欢迎看一下此设计文档,可能对你设计上有帮助,因为设计理念是相通的。
静态视图
查看大图
模型划分原则
按实体域,服务域,会话域划分。
不管你做一个什么产品,都一定有一个被操作的主体,比如:服务框架管理的Service,任务框架管理的Task,Spring管理的Bean等,这就是实体域。
即然有被操作者,就一定有操作者,它管理被操作者的生命周期,发起动作,比如:服务框架的ServiceInvoker,,任务框架的TaskScheduler,Spring的BeanFactory等,这就是服务域。
转于自己在公司的Blog: http://pt.alibaba-inc.com/wp/experience_1402/service-governance-process.html 在大规模服务化之前,应用可能只是通过RMI或Hessian等工具,简单的暴露和引用远程服务,通过配置服务的URL地址进行调用,通过F5等硬件进行 ...
log4j 和slf4j的 类冲突解决
- 博客分类:
- 问题
1. 检查 log4j 和slf4j的冲突
public class Log4jTest {
public static void main(String[] args) {
try {
Class.forName("org.slf4j.impl.Log4jLoggerFactory");
} catch (ClassNotFoundException e) {
System.out.println(e.getMessage());
}
try {
Class.forName("org.apac ...
前言
上篇文章说解决问题要分而治之,先把分片的问题解决了再考虑多个副本的一致性问题。那么什么是一致性问题?
因为同一数据存在多个副本,在并发的众多客户端读/写请求下,如何维护数据一致性视图非常重要,即在存储系统外部使用者看起来即使是多个副本数据,其表现也和单份数据一样。
简单来说,要使多个副本的数据一致,需要通过某种一致性协议来对副本进行更新。如果不按照某种一致性协议进行更新,数据就可能会出现不一致的情况。