目录: 前言 处理方案 简单例子 前言 有的时候,你可能需要在 Spring 环境中放入一些配置,但这些配置无法写死在配置文件中,只能运行时放入。那么,这个时候该怎么办呢? Apollo 就是搞配置的,那么自然会遇到这个问题,他是如...
阅读(5) 评论(0)
前言 之前聊了客户端的一些功能,例如融入 Spring, @value 注解的自动刷新实现,长轮询等,这次从客户端的整体设计来聊聊。 设计 上图是 client 项目的包结构。 其中,核心包就是 internals 包,包含了客户端的...
阅读(10) 评论(0)
前言 如上图所示,Apollo portal 更新配置后,进行轮询的客户端获取更新通知,然后再调用接口获取最新配置。不仅仅只有轮询,还有定时更新(默认 5 分钟一次)。目的就是让客户端能够稳定的获取到最新的配置。 一起来看看他的设计。...
阅读(6) 评论(0)
前言 Spring 作为 Java 世界非官方标准框架,任何一个中间件想要得到良好的发展,必须完美支持 Spring 的各种特性,即:无缝融入 Spring。 Apollo 作为分布式配置中心,服务于 Java 应用程序,Java 应用...
阅读(8) 评论(0)
前言 熟悉 Java 并发编程的都知道,JMM(Java 内存模型) 中的 happen-before(简称 hb)规则,该规则定义了 Java 多线程操作的有序性和可见性,防止了编译器重排序对程序结果的影响。 按照官方的说法: 当一...
阅读(19) 评论(0)
前言 楼主今天在面经上看到这个题,挺有意思,小小的题目对多线程的考量还挺多。大部分同学都会使用 synchronized 来实现。楼主今天带来另外两种优化实现,让你面试的时候,傲视群雄! 第一种 synchronized class T...
阅读(13) 评论(0)
前言 楼主离职已有 10 天,这段时间里除了看源码,就是投简历面试了。一共面试了 4 家,说说感受。 XX 汇 XX 汇是一家小型的电商网站,由于楼主的技术栈集中在 Java 语言这里,所以,即使楼主对并发,JVM,Netty,Spri...
阅读(22) 评论(0)
# 前言 对于后端程序员,特别是 Java 程序员来讲,排查线上问题是不可避免的。各种 CPU 飚高,内存溢出,频繁 GC 等等,这些都是令人头疼的问题。楼主同样也遇到过这些问题,那么,遇到这些问题该如何解决呢? 首先,出现问题,肯定...
阅读(14) 评论(0)
前言 SOFARPC 提供了多种调用方式满足不同的场景。 例如,同步阻塞调用;异步 future 调用,Callback 回调调用,Oneway 调用。 每种调用模式都有对应的场景。类似于单进程中的调用模式。在单进程中,我们可以使用...
阅读(15) 评论(0)