随笔分类 -  Java

Feign源码解析系列-那些注解们
摘要:开始 Feign在Spring Cloud体系中被整合进来作为web service客户端,使用HTTP请求远程服务时能就像调用本地方法,可见在未来一段时间内,大多数Spring Cloud架构的微服务之间调用都会使用Feign来完成。 所以准备完整解读一遍Feign的源码,读源码,我个人觉得一方面 阅读全文

posted @ 2019-02-16 22:38 每当变幻时 阅读(1441) 评论(0) 推荐(0) 编辑

zuul源码(2)
摘要:路由 路由是网关的核心功能,既然在spring的框架下,那就要按Spring的规矩来。 路由规则类:org.springframework.cloud.netflix.zuul.filters.Route 维护这以下信息: 路由规则维护:RouteLocator 类结构如下: 自动配置代码: 这里会 阅读全文

posted @ 2018-11-18 17:15 每当变幻时 阅读(651) 评论(0) 推荐(0) 编辑

zuul1.3源码扒一扒(1)
摘要:先开个头吧 作为偶尔点进源码的时候看到东西,或是学到,或是不解,或是惊讶,之后的一些记录。从springcloud各个组件开始吧,计划文段保持间断,只道出核心点,不过各个文段保持连续。 zuul作为spring cloud 推荐网关,搭建起来很方便。 Spring Cloud 1.4.4 core 阅读全文

posted @ 2018-11-17 17:12 每当变幻时 阅读(844) 评论(0) 推荐(0) 编辑

Feign get接口传输对象引发一场追寻
摘要:一个报错引发的追寻之路: Feign get接口传输对象,调用方接口代码: Feign中定义的一个get接口,参数是一个对象,调用后返回一个 「Request method ‘POST’ not supported」的报错。 追寻开始 断点打进去看,查看feign.Client.Default内部类 阅读全文

posted @ 2018-10-12 09:24 每当变幻时 阅读(5249) 评论(0) 推荐(1) 编辑

日志打入kafka改造历程-我们到底能走多远系列49
摘要:方案 日志收集的方案有很多,包括各种日志过滤清洗,分析,统计,而且看起来都很高大上。本文只描述一个打入kafka的功能。 流程:app kafka logstash es kibana 业务应用直接将日志打入kafka,然后由logstash消费,数据进入es。 另一方面,应用在服务器上会打日志文件 阅读全文

posted @ 2018-08-21 15:40 每当变幻时 阅读(1860) 评论(0) 推荐(1) 编辑

微服务监控调研
摘要:前言 微服务概念已经非常流行,这影响了现在架构的思想潮流。 如今,使用spring cloud体系搭建微服务架构的公司越来越多,成本低,出线上产品快,模块全,开源等原因未来可能更加流行。 一般,我们需要一个监控系统来监控应用的数据,比如内存,磁盘,线程情况,数据库连接池,配置信息,jvm信息等等。 阅读全文

posted @ 2018-07-08 19:57 每当变幻时 阅读(1077) 评论(0) 推荐(1) 编辑

Spring Cloud 请求重试机制核心代码分析
摘要:场景 发布微服务的操作一般都是打完新代码的包,kill掉在跑的应用,替换新的包,启动。 spring cloud 中使用eureka为注册中心,它是允许服务列表数据的延迟性的,就是说即使应用已经不在服务列表了,客户端在一段时间内依然会请求这个地址。那么就会出现请求正在发布的地址,而导致失败。 我们会 阅读全文

posted @ 2018-06-07 13:30 每当变幻时 阅读(696) 评论(0) 推荐(1) 编辑

桥接模式-pattern系列
摘要:"git链接" 桥接模式 桥梁模式的用意是"将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化"。这句话有三个关键词,也就是抽象化、实现化和脱耦。 抽象化 存在于多个实体中的共同的概念性联系,就是抽象化。作为一个过程,抽象化就是忽略一些信息,从而把 阅读全文

posted @ 2018-03-08 10:09 每当变幻时 阅读(222) 评论(0) 推荐(0) 编辑

cglib源码主流程源码-我们到底能走多远系列48
摘要:扯淡 祝各位在园里的朋友新年快乐! 辛苦一年,为更好的自己也为更好的世界,很多人要感谢你们,你们也应该有很多人要感谢吧。 看了马斯克的采访视频,又想起 "兰迪·鲍许的最后一课" ,时光迁移,唯有梦想可坚持。 概念 在java的世界里,基于jvm实现的语言最终要进入jvm编译的流程都需要把上层高级语言 阅读全文

posted @ 2018-02-11 16:23 每当变幻时 阅读(744) 评论(0) 推荐(0) 编辑

dubbo调用负载均衡
摘要:dubbo负载均衡的地址:http://dubbo.io/books/dubbo-user-book/demos/loadbalance.html 随机策略: 这里要用ConcurrentMap记录每个invokers list 对应一个记数,记数每次调用加1,然后取模来算出调用哪一个invoker 阅读全文

posted @ 2018-01-22 11:08 每当变幻时 阅读(871) 评论(0) 推荐(0) 编辑

quartz的一些记录
摘要:定时任务总会遇到任务重叠执行的情况,比如一个任务1分钟执行一次,而任务的执行时间超过了1分钟,这样就会有两个相同任务并发执行了。有时候我们是允许这种情况的发生的,比如任务执行的代码是幂等的,而有时候我们可能考虑到一些情况是不允许这种事情发生的。 在实际场景中,我们定时任务调度使用quartz来实现触 阅读全文

posted @ 2018-01-06 21:08 每当变幻时 阅读(487) 评论(0) 推荐(0) 编辑

java 世界中Annotation
摘要:java 世界中Annotation 在github上开始汇总一些自己学习,收集,总结,经验的一些信息,有利于跟踪,修改,提升。如果你感兴趣 可以关注一下,也可以提供自己的内容进来。 https://github.com/dchack/java_read_learn/blob/master/java 阅读全文

posted @ 2017-12-06 17:12 每当变幻时 阅读(330) 评论(0) 推荐(0) 编辑

HashMap源码
摘要:阅读java1.8的hashmap,罗列一些特性,jdk的代码永远是挖不完的宝藏。 1,可以用null做为key和value 2,capacity和load factor影响性能 3,线程不安全,外部用同步对象控制,还可以用synchronizedMap 4,当key的hashcode都相同时,如果 阅读全文

posted @ 2017-11-02 14:51 每当变幻时 阅读(1126) 评论(0) 推荐(1) 编辑

dubbo 线程池
摘要:在dubbo调用过程中被调用方有两个线程池:io线程池,业务线程池。 这也是dubbo调优的点。 配置信息: Dispatcher all 所有消息都派发到线程池,包括请求,响应,连接事件,断开事件,心跳等。 direct 所有消息都不派发到线程池,全部在 IO 线程上直接执行。 message 只 阅读全文

posted @ 2017-09-24 21:53 每当变幻时 阅读(12800) 评论(0) 推荐(0) 编辑

dubbo refrence bean(服务引用)
摘要:在xml上写一个dubbo标签就可以把远程的服务引用到本地使用: 既然用spring那就是Schema了,dubbo中自定义了Schema,在DubboNamespaceHandler中: spring 中继承BeanDefinitionParser 实现自定义解析xml的规则。DubboBeanD 阅读全文

posted @ 2017-09-16 13:32 每当变幻时 阅读(5809) 评论(0) 推荐(0) 编辑

redis笔记
摘要:redis笔记 下载完redis,执行make命令。 然后启动redis就进src文件夹,执行./redis-server就可以了。 再在文件夹下执行 ./redis-cli 就可以执行redis的命令了。 pipelining 一次请求发送多个命令,以提高性能。我们在使用redis时都是向它发送命 阅读全文

posted @ 2017-09-13 21:48 每当变幻时 阅读(374) 评论(0) 推荐(0) 编辑

多订单多支付方式分配金额问题
摘要:算是个面试题吧,问题描述是这样:多个业务订单,对应一个支付单进行支付,支付时使用了组合支付。那么没个订单分配到的支付方式及金额如何计算。 一共三个支付方式组合A,B,C金额分辨占100,100,80. 一共两个订单1订单金额80,2订单金额200. 分配后,产生4份订单和支付方式不同的数据。 画个图 阅读全文

posted @ 2017-09-05 22:06 每当变幻时 阅读(1216) 评论(0) 推荐(0) 编辑

dubbo中Listener的实现
摘要:这里继续dubbo的源码旅程,在过程中学习它的设计和技巧,看优秀的代码,我想对我们日程编码必然有帮助的。而那些开源的代码正是千锤百炼的东西,希望和各位共勉。 拿ProtocolListenerWrapper为例子,看源码的时候发现它是一个装饰类的标准实现有一个自身的复制构造函数,把被包装者复制进来, 阅读全文

posted @ 2017-08-10 23:05 每当变幻时 阅读(3098) 评论(0) 推荐(0) 编辑

dubbo搭建例子
摘要:现在很多公司用到dubbo,使用起来是很快就学会了。真的要熟悉它还是要花点功夫的。 前面尝试看了些它的源码,这里为了调试源码,先打搭一个能跑的项目,顺别分享出来,以便刚像学习的朋友节约时间,毕竟时间至关重要。 dubbo说白了,就是个远程调用的解决方案。首先我觉得应该清晰的知道,玩这个dubbo,只 阅读全文

posted @ 2017-07-27 19:55 每当变幻时 阅读(406) 评论(0) 推荐(1) 编辑

dubbo ActivateExtension
摘要:对于集合类扩展点,比如:Filter, InvokerListener, ExportListener, TelnetHandler, StatusChecker等, 可以同时加载多个实现,此时,可以用自动激活来简化配置。 组装出可用的ActivateExtension 实际和AdaptiveExt 阅读全文

posted @ 2017-07-25 17:12 每当变幻时 阅读(1096) 评论(0) 推荐(0) 编辑

导航