微服务的架构里应该使用 J2Cache 两级缓存框架

微服务真的很火,看看码云上那些基于各种 Spring Xxxx 的项目,不需要怎么推广就有很多人关注。其实我还是蛮好奇的,到底是什么样的应用在使用微服务,微服务适合什么规模的系统。因为火的都是一些跟业务无关的框架。

我今天想说的不是微服务到底怎样的问题,想说的是既然你都已经微服务了,那么 J2Cache 是你的不二之选!

为什么呢?

在微服务架构中,一个系统会根据业务被拆分成多个独立的服务,服务和服务之间规定了各种协调和通讯机制,这些服务在物理上都是独立的进程。

但是,你再怎么做到独立的业务模块拆分,服务间总是会有一些相同的数据要访问,例如用户资料。

于是大家不约而同的上了 Redis 类的集中式缓存服务。

当系统用户越来越多的时候,假设你的系统有 10 个微服务,连接同一个 Redis ,你想过 Redis 服务承受的压力吗?读操作太频繁了,没准 Redis 机器的千兆网卡带宽已经跑满,然后你可能会发现系统非常缓慢,但找不出问题来,因为每个服务都很正常(包括 Redis),但是就是没注意看看网卡的流量。

因为千兆网卡,当你的流量跑到六七百兆的时候,网络吞吐性能急剧下降。

于是大家不约而同的又想到了 Redis 集群。但其实这个时候 Redis 上的数据并不是很多。

这时候你有两个选择:

  1. 买更多的服务器来跑 Redis 集群、分区(这得花不少钱)
  2. 缓存组件换成 J2Cache

而第二个方案才是你的最佳选择哦,因为 J2Cache 可以降低你至少 95% 以上的 Redis 读操作。因为 J2Cache 在进程内增加了一个一级的内存缓存,这并不会增加太多的内存消耗,因为你可以设置内存中缓存数据的数量。

你可以在 https://gitee.com/ld/J2Cache 中了解关于 J2Cache 更详细的介绍和使用方法。

转载于:https://my.oschina.net/javayou/blog/1827480

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值