5 wzz_java

尚未进行身份认证

Hello World! Hello java!

等级
TA的排名 2w+

微服务

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

2019-02-16 10:22:08

面试题整理

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

2019-02-15 16:26:59

kafka梳理

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

2019-01-23 17:20:20

spring常用注解整理

1.生成bean对象@Bean @Controller@Service@Repository@Component注解标注该类,然后再使用@ComponentScan扫描包 @Import方法 传入普通类,则将此类注入IOC容器 传入普通类实现ImportSelector接口,返回需要导入的组件的全类名数组,将之下所有类注入IOC 传入普通类实现ImportBean...

2019-01-14 17:02:37

Sentinel 使用(3)集群流控

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

2019-01-14 15:00:24

Sentinel 使用(2)规则配置

1. 流量控制规则(FlowRule)重要属性:Field 说明 默认值 resource 资源名,资源名是限流规则的作用对象   count 限流阈值   grade 限流阈值类型,QPS或线程数模式 QPS模式 limitApp 流控针对的调用来源 default,代表不区分调用来源 strategy...

2019-01-11 17:07:46

Sentinel 使用(1)基本使用

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

2019-01-10 16:33:57

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

1.问题描述生成的id全是偶数的2.问题发现由于跨毫秒后,最后的sequence累加就会清零,导入末位为偶数。如果id生成不频繁,则生成的就是全是偶数3.解决主要的根本就在跨毫秒清零,如果在跨毫秒时候sequence不清零,实际上每次生成id时,时间毫秒在增加,sequence也在增加,也是不会重复的。所以,索性去掉这一块同时由于sequence=(sequenc...

2018-12-10 11:17:26

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

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

2018-10-12 15:48:46

dubbo基本使用

相关链接:git文档:https://github.com/apache/incubator-dubbo-spring-boot-project/blob/master/README_CN.md官方文档:http://dubbo.apache.org/zh-cn/docs/user/quick-start.html外部化配置:https://github.com/mercyblitz/...

2018-09-11 14:43:14

swagger的使用

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

2018-09-07 17:36:34

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

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

2018-09-04 14:07:43

jetcache(3)优点与问题

优点注解式操作springboot支持多级缓存支持缓存细节封装缓存统计可以提供原生的操作对象,比如jedis,lettuce等可以配置多个redis实例,以及集群,哨兵等模式等等等等。。。。。。缺点computeIfAbsent方法load数据时没有提供锁功能,会造成缓存穿透tryLock方法提供的锁能够是不是很严格的锁,不能自定义在使用的时候,最好实现自己...

2018-09-03 11:15:00

jetcache(2)缓存策略

redis的支持jedis选用jedis访问redis,对应的mavenartifact是jetcache-redis和jetcache-starter-redis(springboot)。部分配置:jetcache:areaInCacheName:falseremote:default:type:rediskey...

2018-09-03 11:03:38

jetcache(1)基本使用

基本使用当前有四个实现,RedisCache、TairCache(此部分未在github开源)、CaffeineCache(inmemory)和一个简易的LinkedHashMapCache(inmemory),要添加新的实现也是非常简单的。pom<dependency><groupId>com.alicp.jetcache</group...

2018-08-31 14:23:32

缓存系统的设计和问题

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

2018-08-29 16:18:14

redis的java客户端lettuce的使用

从官方文档翻译并整理的,有地方可能表述不准确文档地址:https://github.com/lettuce-io/lettuce-core/wiki/About-lettuce1.lettuce的介绍lettuce是一个线程安全的redis客户端。提供同步,异步和reactive(?)的 APIs.。如果可以避开阻塞和事务型的操作比如BLPOP 和MULTI/EXEC,多个线程可以分...

2018-08-28 17:28:12

java的try-witn-resource

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

2018-08-27 18:07:28

session持久化

目录1.参考的优秀文章TomcatSession持久化Packageorg.apache.catalina.session 最近同事在做Session外置的功能,我对Session持久化、共享也不太了解,学习一下。 一般来说,Tomcat原生的持久化Session方式,有StandardManager和PersistentManager。版本说明:apa...

2018-08-24 16:46:34

spring session管理

1.session管理springsession管理可以适用于很多功能,如:登陆/退出 在线统计 限制账号多处登陆等2.监听器相关的监听器主要有两个:HttpSessionListener和HttpSessionBindingListener1. HttpSessionBindingListener1.使用实现HttpSessionBindingListene...

2018-08-23 16:55:43

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!