手写dubbo 2-服务治理(zookeeper探讨)

博客中代码地址:https://github.com/farliu/farpc.git
dubbo架构

阅读全文

手写dubbo 1-基本原理

本系列,原本由之前挖的坑,现在来填。之间在讲述动态代理,谈及mybatis、dubbo的源码,大家也可以前往了解,点击查看。手写dubbo,是为了更好的理解dubbo源码原理,顺便和大家一起看看dubbo实现过程。

阅读全文

redis妙用-zset类型

有序的set集合,根据每个值的分值来排序,分值相等根据element的ascii码排序。同样区分正数索引、负数索引。本节建议score有一定的业务含义,会适用于很多场景
zset

阅读全文

redis妙用-set类型

set类型,在redis中是非常强大的存在,但是我们一般不会想到用它。所以我最想分享的也就是set类型,想让大家对set引起重视。因为在互联网中其实也有很多set的身影,只是我们不难么容易联想到而已。比如

  • 抽奖活动
  • 点赞、签到
  • 好友关注模型

阅读全文

redis妙用-list类型

                              

阅读全文

redis妙用-hash类型

hash类型,又叫作散列类型,它类似hashmap,通过一定的hash算法得到对应的索引位置,然后将数据保存在该索引所在的地方。本章讲述的东西,重点不在于应用场景,因为hash能做的事情,string也都能做。所以本章分享的是,试图揣测redis官方推出hash的意义,以及实现原理

阅读全文

redis妙用-应用场景

分布式环境中,redis作为必不可少的中间件,我们都常有用到,但是我们大多数人基本都没有系统学习过,只是跟着潮流把redis当作一个缓存来用,或者用它来实现分布式锁、分布式自增键。而本章内容还继续讲这些就没有任何意义,因为这些东西都已经讲烂了,百度的资料都一大堆。本章我们回归初心,整理redis几种数据类型,以及列举应用场景。你会重新认识到redis的强大,而不是仅次于缓存。

阅读全文

redis妙用-string类型

string类型,是我们最常用的。以及一些特性,我们都比较熟悉,这一节一起回顾一下string的应用场景,以及对这些场景延申的一些思考

  • 缓存,如何设计缓存存储,使用spring cache另当别论
  • 分布式锁,锁续期

阅读全文

谈谈分表分库常见问题解决方案

本章的思路,是先讲讲根据业务增长进行分表分库,以及实现方案探讨,对这些方案产生的一系列问题该如何解决,以及现在社区中活跃的第三方分表分库中间件。

分表分库案例

互联网时代,每天都会产生海量的数据。我觉得每一位程序员都应该或多或少的了解到存储这个数据的解决办法,特别是小公司的程序员更应自己多尝试,多实践。因为在小公司,我们没有优秀的架构师,没有前辈的指引,更没有性能良好的设备来支持大数据计算。那么遇到数据到达瓶颈了怎么办?难道让业务不发展了?公司不挣钱了?所以特别是小公司的人更应该考虑。这是我个人的观点。

阅读全文

谈谈mybatis、dubbo基础原理

本章只介绍简单的原理,思路如下,先谈谈动态代理,以熟悉的mybatis举例,如何做到注入mapper的,引申到dubbo。。

代理模式

本节知识点陈旧,可以跳过。先回顾一下什么是代理,代理模式是指给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。这种模式有什么用呢?它可以在原对象的基础上增强原对象的功能,比如在原对象调用一个方法的前后进行日志、事务操作等。Spring AOP就使用了代理模式。
代理分静态代理、动态代理。下面分别使用两种方式代理以下接口

阅读全文