.zz的博客

编程人生,所知所见...

redis详述

本文围绕以下几点进行阐述:· 为什么使用 Redis· 使用 Redis 有什么缺点· 单线程的 Redis 为什么这么快· Redis 的数据类型,以及每种数据类型的使用场景· Redis 的过期策略以及内存淘汰机制· Redis 和数据库双写一致性问题· 如何应对缓存穿透和缓存雪崩问题· 如何...

2018-06-28 18:04:09

阅读数 131

评论数 0

springCloud笔记详细

Eureka1. 服务提供者1. 服务注册服务提供者在启动的时候会通过发送REST请求的方式将自己注册到EurekaServer上, 同时带上了自身服务的 一 些元数据信息。Eureka Server接收到这个REST请求之后,将元数据信息存储在 一 个双层结构Map中, 其中第 一 层的key是...

2018-06-06 16:49:28

阅读数 1317

评论数 0

微服务

一、微服务化的基石:持续集成 二、静态资源分离与接入层设计 三、应用层设计之无状态化与容器化 四、应用层设计之服务的拆分,发现与编排 五、性能优化之数据库设计与横向扩展 六、性能优化之缓存的设计与横向扩层 七、性能优化之消息队列与异步化设计 八、服务的编断,降级,限流设计 九、配置中心的设计与实践...

2019-02-16 10:22:08

阅读数 43

评论数 0

面试题整理

  数据库 四大特性: Atomicity原子性 Consistency一致性 Isolation隔离性 Durability持久性 事物的并发问题 脏读:事物A读取了事物B更新的数据,然后B回滚才做,那么A读到的是脏数据 不可重复读:事物A多次读...

2019-02-15 16:26:59

阅读数 65

评论数 0

kafka梳理

基本概念 Broker:Kafka节点,一个Kafka节点就是一个broker,多个broker可以组成一个Kafka集群。 Topic:一类消息,消息存放的目录即主题,例如page view日志、click日志等都可以以topic的形式存在,Kafka集群能够同时负责多个topic的分发。...

2019-01-23 17:20:20

阅读数 69

评论数 0

spring常用注解整理

1. 生成bean对象 @Bean @Controller @Service @Repository @Component 注解标注该类,然后再使用 @ComponentScan 扫描包 @Import 方法 传入普通类,则将此类注入IOC容器 传入普通类实现ImportSelecto...

2019-01-14 17:02:37

阅读数 839

评论数 0

Sentinel 使用(3)集群流控

一、为什么需要集群流控功能? 假设我们希望给某个用户限制调用某个 API 的总 QPS 为 50,但机器数可能很多(比如有 100 台)。这时候我们很自然地就想到,找一个 server 专门用来统计总的调用量,其它的实例都与这台 server 通信以判断是否可以调用。这就是最基础的集群流控的方式...

2019-01-14 15:00:24

阅读数 685

评论数 0

Sentinel 使用(2)规则配置

1. 流量控制规则 (FlowRule) 重要属性: Field 说明 默认值 resource 资源名,资源名是限流规则的作用对象   count 限流阈值   grade 限流阈值类型,QPS 或线程数模式 QPS 模式 li...

2019-01-11 17:07:46

阅读数 282

评论数 0

Sentinel 使用(1)基本使用

1. 简述 Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等   Sentinel 分为两个部分: 核心库(Java 客户端)不依赖任何框架/库,能够运行于所...

2019-01-10 16:33:57

阅读数 627

评论数 0

关于雪花算法全是偶数的问题处理

1. 问题描述 生成的id全是偶数的 2. 问题发现 由于跨毫秒后,最后的sequence累加就会清零,导入末位为偶数。如果id生成不频繁,则生成的就是全是偶数 3. 解决 主要的根本就在跨毫秒清零,如果在跨毫秒时候sequence不清零,实际上每次生成id时,时间毫秒在增加,seque...

2018-12-10 11:17:26

阅读数 621

评论数 0

在高并发的核心技术中如何实现幂等性

实际系统中有很多操作,是不管做多少次,都应该产生一样的效果或返回一样的结果。 例如: 1. 前端重复提交选中的数据,应该后台只产生对应这个数据的一个反应结果。 2. 我们发起一笔付款请求,应该只扣用户账户一次钱,当遇到网络重发或系统bug重发,也应该只扣一次钱; 3. 发送消息,也应该只发...

2018-10-12 15:48:46

阅读数 307

评论数 0

dubbo基本使用

相关链接: git文档:https://github.com/apache/incubator-dubbo-spring-boot-project/blob/master/README_CN.md 官方文档:http://dubbo.apache.org/zh-cn/docs/user/qui...

2018-09-11 14:43:14

阅读数 163

评论数 0

swagger的使用

1. 添加依赖 <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --> <dependency> &...

2018-09-07 17:36:34

阅读数 58

评论数 0

详细介绍高性能Java缓存库Caffeine

本篇文章主要介绍了详细介绍高性能Java缓存库Caffeine,觉得挺不错的。 1、介绍 在本文中,我们来看看Caffeine — 一个高性能的 Java 缓存库。 缓存和 Map 之间的一个根本区别在于缓存可以回收存储的 item。 回收策略为在指定时间删除哪些对象。此策略直接影响缓存的...

2018-09-04 14:07:43

阅读数 915

评论数 0

jetcache(3)优点与问题

优点 注解式操作 springboot支持 多级缓存支持 缓存细节封装 缓存统计 可以提供原生的操作对象,比如jedis,lettuce等 可以配置多个redis实例,以及集群,哨兵等模式 等等等等。。。。。。 缺点 computeIfAbsent方法load数据时没有提供锁功能,会造...

2018-09-03 11:15:00

阅读数 868

评论数 0

jetcache(2)缓存策略

redis的支持 jedis 选用jedis访问redis,对应的maven artifact是jetcache-redis和jetcache-starter-redis(spring boot)。 部分配置: jetcache: areaInCacheName: false...

2018-09-03 11:03:38

阅读数 669

评论数 0

jetcache(1)基本使用

基本使用 当前有四个实现,RedisCache、TairCache(此部分未在github开源)、CaffeineCache(in memory)和一个简易的LinkedHashMapCache(in memory),要添加新的实现也是非常简单的。 pom &lt...

2018-08-31 14:23:32

阅读数 651

评论数 0

缓存系统的设计和问题

参考文章:http://stor.51cto.com/art/201808/582218.htm 选择合适的进程缓存 ConcurrentHashMap, 比较适合缓存比较固定不变的元素,且缓存的数量较小的 jdk自带的,使用方便 可以用来缓存反射的Method, Field等 ...

2018-08-29 16:18:14

阅读数 571

评论数 0

redis的java客户端lettuce的使用

从官方文档翻译并整理的,有地方可能表述不准确 文档地址:https://github.com/lettuce-io/lettuce-core/wiki/About-lettuce 1. lettuce的介绍 lettuce是一个线程安全的redis客户端。提供同步,异步和reactive(?...

2018-08-28 17:28:12

阅读数 6575

评论数 0

java的try-witn-resource

Java7新增了自动关闭资源的try语句。它允许在try关键字后紧跟一对圆括号,里面可以声明、初始化一个或多个资源,此处的资源指的是那些必须在程序结束时显示关闭的资源(数据库连接、网络连接等),try语句会在该语句结束时自动关闭这些资源。 偶尔看到,原来还可以这样。。。 public cla...

2018-08-27 18:07:28

阅读数 38

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭