目录
- 缓存和DB的选择
- RPC和jar包调用方式的选择
缓存和DB的选择
系统是否需要使用缓存,一般看两个方面:
- 调用的时效,是否需要ms级别的延时,且相对稳定
- QPS,如果在万级以上,可以考虑
缓存可以分为本地的内存缓存、外部的分布式缓存,再加上数据库,三种存储方式的选择。有几点可以多思考:
- 本地缓存是最快的,同一个节点内访问。但是需要占用应用系统的内存,牾牲存储空间。当占用内存过多时,肯定对系统性能有影响,可能引发频繁的GC。
- 分布式缓存,是解决本地存储空间限制的问题。但是相对来说,是一种铂牲空间换时间的方法。不过分布式缓存,基于内存,访问基本可以在0.5ms之内。但是对大量数据的存储来说,还是优先考感DB。缓存毕竟是缓存,DB更方便数据落地。
- 数据库,解决存储大数据量结构化数据的问题。是一种酒牲时间换空间的方法。mysql单表可以达到2000w条记录,数据量大的时候可以借助中问件进行分库分表。
RPC和jar包调用方式的选择
- 如果需要低延时、高稳定性,可以考虑使用jar包调用方式。支付中拉起收银台就对耗时非常有要求,都是ms级别的。
- 其他情况,优先考虑RPC,进行系统间的接耦。