摘要:raft:http://thesecretlivesofdata.com/raft/ 一致性:cap取舍 cp: zookeeper master失联重新选举过程中集群不可用; ap: eureka只要有一台或者就可用,但可能读到旧数据,客户端连某台失败后会选择另一个重试,保护机制-15分钟内超过8
阅读全文
:: :: :: :: :: 管理 |
随笔分类 - 技术学习
摘要:raft:http://thesecretlivesofdata.com/raft/ 一致性:cap取舍 cp: zookeeper master失联重新选举过程中集群不可用; ap: eureka只要有一台或者就可用,但可能读到旧数据,客户端连某台失败后会选择另一个重试,保护机制-15分钟内超过8
阅读全文
摘要:1. 初始化EventLoopGroup bossGroup = new NioEventLoopGroup(); 不填默认NettyRuntime.availableProcessors() * 2 protected MultithreadEventExecutorGroup(int nThre
阅读全文
摘要:事件发布 public void environmentPrepared(ConfigurableEnvironment environment) { for (SpringApplicationRunListener listener : this.listeners) { listener.en
阅读全文
摘要:起点代码,通过main方法启动springboot程序 @SpringBootApplication public class Main { public static void main(String[] args) { SpringApplication app = new SpringAppl
阅读全文
摘要:https://time.geekbang.org/column/intro/180 一般类加载是双亲委派,避免自定义类覆盖jvm基础类库,保证安全性 Application(CLASSPATH) -> Extension(Java_Home /lib/ext) -> Bootstrap(Java_
阅读全文
摘要:1、HiKariCP线程池 https://segmentfault.com/a/1190000019779684 FastList:关闭连接逆序关闭ResultSet、Statement、Connection;remove逆序,去除数据越界检查由业务保证 /** * This remove met
阅读全文
摘要:顺便学习一下原理 1. 启动,看从上到下的调用和回调关系; 注册topic的元素数量和状态的变更通知,元素放入在被通知后不断加入,zrangebyscore 拿出0 ~ expiretime中的limit多少元素,然后rpush从右边放入target链表,lrem从左侧删除元素,zrem再删除有序集
阅读全文
摘要:标签式配置,主要是标明回滚方法,超时,是否只读,以及隔离级别(不同session间事物的可见性,读取未提交,读取已提交,可重复读,序列化)及传播属性(定义了调用关系的事物传播行为 PROPAGATION_REQUIRED 支持当前事务,如果不存在 就新建一个(默认);PROPAGATION_SUPP
阅读全文
摘要:1. 初始化 - 高效判断是否第一次初始化 private static AtomicBoolean initialized = new AtomicBoolean(false); if (!initialized.compareAndSet(false, true)) { return; } 2.
阅读全文
摘要:最近正在研究rocketmq,简单记录下设计的不同 互联网系统中Rpc、服务治理、消息中间件基本都是标配,消息中间件能解耦,削峰,高可用并能间接提供达到最终一致性 消息中间件中,消息消费分为最多一次,至少一次和刚好一次,如果需要实现刚好一次,则系统设计难度增大,系统性能损失增加,权衡利弊,rocke
阅读全文
摘要:看到的LOCK实现,记录下备用 另一种 还有这种普通的synchronized,基于类的同步 基于某个成员的同步 还有特意定义一个private final Object compileLock = new Object(); 在synchronized的时候用来做对象锁的 还有这种用BIT位标识各
阅读全文
摘要:消息总线架构 什么时候使用MQ:跨进程通信传递消息;解耦;如果调用方实时依赖执行结果就不适用;加入MQ系统更复杂,传递路径更长,消息不丢不重难以同时保证 数据驱动的任务依赖:cron人工排执行时间表:这个似不似有点傻; 用MQ,step1完了发个消息说完了,task2订阅收到step1完了就开始,以
阅读全文
摘要:看他的一分钟系列,相对简单,理解其他之后再看很多不用记录了 单机(独苗)、集群(多个服务冗余对外提供服务)、热备(服务冗余部署,只有一个主服务对外提供服务,影子服务在主服务挂了后自动切换)、磁盘阵列(RAID0 将连续的数据分散到不同的磁盘上存储,并行存取速度快、RAID1 将数据完全复制到另一个磁
阅读全文
摘要:数据库架构设计 - 高可用,度性能,一致性,扩展性 - 数据冗余带来一致性问题 单库->分片(路由,范围,哈希,路由服务)->分片+分组 冗余读库,写库单点 冗余写库-双写可能冲突,两个写库不同的初始值相同的补偿来避免,业务层自己生成唯一ID避免冲突 双主当主从用,两个主只有一个主提供服务(读+写)
阅读全文
摘要:TCP接入层负载均衡 高可用 扩展性架构 浏览器请求,dns解析,反向代理服务器负载均衡,http短连接以及web应用无状态特性,但tcp有状态,如何均衡 单机->客户端绑定IP之类的,但更新不及时->服务端负载均衡->心跳上报保证可用->服务器拉取tcp-server的状态 配置中心 不同的演进阶
阅读全文
摘要:学习https://www.w3cschool.cn/architectroad/architectroad-optimization-of-seckilling-system.html 笔记 秒杀系统优化 列出集中场景:(im)多读多,(微博关注)1读多,(秒杀)多读1 应对: 设计上: 将请求拦
阅读全文
摘要:https://my.oschina.net/huangyong/blog/361751 https://gitee.com/huangyong/rpc 在此文基础上的另一个实现,解决了原文中一些问题,增加了一些功能 http://www.cnblogs.com/luxiaoxun/p/527238
阅读全文
摘要:最近做了一个概览页的功能,需求和前提如下: 数据已经做了分库分表,量大,B表为A表的下级数据 1. 需要统计按照不同维度A表内和B表内的数据总量 2. 需要分别统计A/B两个表在给出的某段日期区间内的总量和增量数据统计 需求看似十分简单,一开始完全无脑的实现 对于1,就是多线程分别统计然后合并加载到
阅读全文
摘要:此文非常不错,抄自: https://www.cnblogs.com/googlemeoften/p/6020718.html 其他实现 https://www.cnblogs.com/LBSer/p/4083131.html a. 按特定的速率向令牌桶投放令牌 b. 根据预设的匹配规则先对报文进行
阅读全文
摘要:项目中用到很多netty,配置了各种不同的ChannelOption优化项,不同的配置对于在高并发情况下的性能有不小的影响 首先看下全部项目,参考下这篇文章,虽然不全 https://www.cnblogs.com/googlemeoften/p/6082785.html ChannelOption
阅读全文
|