0%

主要构成

Ribbon 是由 netflix 开源的一个客户端负载均衡组件。从客户端的角度取维护服务间请求的负载均衡,并进行一定的容错处理。
自然的它的核心接口就是:com.netflix.loadbalancer.ILoadBalancer

在配置 Ribbon 之前,了解一下 Ribbon 完成负载均衡的几个重要组成部分:

  • IRule:负载均衡的策略。
  • IPing:检测服务存活的策略。
  • ServerList<T>:拉取服务实例列表的策略。
  • ServerListUpdater:更新服务列表的触发策略。
  • ServerListFilter<T>:服务过滤方案。
阅读全文 »

日常开发中,经常需要进行一些文本处理,这通常是十分繁琐而无趣的。学会并利用正则表达式可以快速解决这类文本处理问题,无论是在 Java,Python 等代码中抑或是 shell 环境下。
正则中存在很多细小的知识点,十分容易遗忘,着手记录,知识整理还是有所必要。

阅读全文 »

尽管当下几乎所有的服务器环境都以集群为主,在考虑并发问题的时候通常会使用分布式技术,如 redis 等中间件来维护全局的资源和锁。但是对于一些实例层面上的资源,依旧需要使用传统的锁来维护。所以我觉得,理解 JVM 对锁的处理还是有价值的。

JVM上针对锁的处理(这里只描述内部锁,即 synchronized 的处理情况),除了有自旋锁锁粗化锁消除等简单的自动优化机制(不探讨啦),还可以从锁的维护的角度去看,可以分为偏向锁轻量级锁重量级锁
三者的开销是递增的,演变顺序也是递增的,而且不可逆。
如轻型的锁可以膨胀升级至重型锁,但是不可以从重型的锁降级。

阅读全文 »