单体guava
[缓存] Google Guava Cache本地缓存框架一览
# 1 序言 + 上一次使用Guava Cache框架还是在2年前浙江某大学的数据服务平台项目中,用于缓存用户的数据服务**购物小车**数据; + 而这一次,是在基于Google Guava Cache + refreshAfterWrite特性来缓存Influxdb的物联网信号数据表的信号字段信息 ......
docker-compose单体服务部署minio集群
docker-compose单体服务部署minio集群 #docker-compose.yaml version: "3" # starts 4 docker containers running minio server instances. Each # minio server's web i ......
浅析本地缓存技术-Guava Cache
本文简要叙述了guava cache的应用场景以及简单的使用方式,通过源码对于guava cache的存储原理以及简单的读写方法进行了介绍。相信通过阅读本文,能够对于常见的guava cache有一个大致的认知。 ......
Guava环境设置
Guava本地环境设置 这部分指导如何下载和设置Java在机器上。请按照以下步骤来设置环境。 Java SE免费提供链接:下载Java。所以,根据操作系统下载对应版本。 按照说明下载java和运行.exe 在机器上,并按说明安装Java。一旦机器上安装了Java,还需要设置环境变量指向正确的JAVA ......
再见,Guava!再见,Ehcache!
# 一、Caffeine介绍 ### 1、缓存介绍 缓存(Cache)在代码世界中无处不在。从底层的CPU多级缓存,到客户端的页面缓存,处处都存在着缓存的身影。缓存从本质上来说,是一种空间换时间的手段,通过对数据进行一定的空间安排,使得下次进行数据访问时起到加速的效果。 就Java而言,其常用的缓存 ......
微服务架构与单体架构的区别
微服务架构和单体架构是两种不同的软件架构方式。 单体架构是一种传统的软件架构,它将所有的功能模块打包到一个独立的应用程序中。在单体架构中,所有的代码、业务逻辑、数据库模型等都在同一个应用中。单体架构的优点是开发速度快、易于部署和维护,但当应用程序变得越来越复杂时,会变得难以维护和扩展。 相比之下,微 ......
单体应用到微服务架构转型-实践过程总结
今天重点谈下传统的单体应用架构朝微服务转型实践过程中遇到的一些问题,具体的解决方法的一些思考,供大家参考。 这篇文章涉及到的项目背景为我们自己的财务共享项目,即原来是一个大单体应用,需要进行微服务架构化拆分,我在前面华南CIO大会上关于微服务架构转型的演讲中也提到了这个实践案例,但是对有些关键内容没 ......
java限流-基于基于guava实现
1、引入guava依赖 <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>23.0</version> </dependency> 2、自定义限流注解 自定义一个限流用的注 ......
mass mess Monolithic system 单体系统的问题
1. 单体系统太大了 最首要的一个原因就是应用系统太大。而由于应用系统的过于庞大,如果仅是单体系统的话,就引发了各种各样的问题,体现在以下三个方面: 1.1. 系统本身业务复杂,模块众多 系统随着时间的发展,业务需求越来越多。而为了满足这些需求,就导致整个系统的模块越来越多。而系统模块越来越多,就导 ......
使用guava的cache实现缓存
一、maven <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance ......
单体架构、分布式架构与微服务的区别
一、优缺点对比 优点 缺点 案例 单体架构 架构简单、部署成本低 高度耦合(维护困难、升级困难)、扩展性差 学生管理系统 分布式架构 松耦合(服务耦合)、扩展性好(利于升级和扩展) 架构复杂(服务调用关系复杂)、难度大 京东、淘宝 微服务 服务拆分粒度更小、服务更独立、耦合度更低 架构非常复杂、运维 ......
单体服务,微服务服务的演变 & 各自优缺点
单体服务,微服务服务的演变&各自优缺点 一.单体服务 web-->service-->infrastructure-->mysql web-->service-->redis web-->service-->rabbitMQ 优点: 随着服务的演变 1.1> 单体服务 ● 优点: 1> 架构简单,清 ......
Guava EventBus的具体使用以及源码解析
EventBus是Guava中的一个处理组件间通信的事件总线,是观察者模式的一种实现。相比于MQ更加简洁,轻量,使事件生产者和事件消费者实现解耦分离。 ......
面试遇到的,总结一下,欢迎指正:单体架构跟微服务架构的选择以及优缺点
单体架构:一个war包或者jar包包含了应用的所有功能,称之为单体应用,单体架构中,所有功能集中在一个包中,功能集中、代码跟数据中心化,这是一种比较传统的架构风格,常见的ERP、CRM等系统都以单体架构的方式运行 优点: 1.架构简单:使用软件设计中的三层模型,即表示层,业务层,数据访问层 2.技术 ......
Springboot+Guava实现单机令牌桶限流
# 令牌桶算法 > 系统会维护一个令牌(token)桶,以一个恒定的速度往桶里放入令牌(token),这时如果有请求进来想要被处理,则需要先从桶里获取一个令牌(token),当桶里没有令牌(token)可取时,则该请求将被拒绝服务。令牌桶算法通过控制桶的容量、发放令牌的速率,来达到对请求的限制。 > ......
Guava cache使用总结
import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; import java.text ......
使用Guava的CaseFormat进行数据规范化
## 需求背景 在数据规范化的过程中,经常面临多种数据源,字段存在不同的命名风格,那有没有一种方法方便我们对字段名称进行规范化。 ## 用什么做 恰好,Guava提供了这种能力。Guava的CaseFormat类可以做到统一命名风格。话不多说,直接看源码。 在CaseFormat中定义了五个枚举值: ......
单体框架、分布式框架、微服务框架
单体框架、分布式框架、微服务框架 1.单体框架 1.概念 将业务功能集中在一个项目中开发,打包部署。(意思就是说,所有的功能在一个项目中进行实现,不用管复杂的架构设计,只需要创建一个项目,有功能就往这个项目里面加代码就ok了) 2.优点 1、框架简单,不需要搞复杂的框架设计 2、部署成本低:把写好的 ......
Spring Boot 单体应用一键升级成 Spring Cloud Alibaba
从技术角度上看,我们如何升级 SpringBoot 应用至微服务架构,享受到微服务治理带来的技术红利,我们需要增加 SpringCloud 的 maven 依赖?需要业务进行代码改造?本文可以回答你,不需要一行代码改动。 ......
Guava之Map操作(一)
简介: Guava(Google Guava)是一组基于 Java 语言的开源工具类库,由 Google 公司发布并维护。Guava 提供了许多实用的工具类和方法,可以大大简化 Java 编程中一些常见任务的开发难度。内含了丰富的API,涵盖了集合、缓存、并发、I/O等多个方面。使用这些API一方面 ......
Google Guava常用的代码示例
Google Guava 谷歌出品的,非常实用。包含集合、并发、I/O、散列、缓存、字符串等。 依赖: <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>18.0</ver ......
【IT老齐001】单体架构升级问题
【IT老齐001】单体架构升级问题 不谈场景的架构设计都是耍流氓 架构没有对不对,只有合不合适 架构是宏观设计的标准 框架是具体实现的规则 架构是取舍的艺术 场景举例 系统面临大量文件读写影响服务器磁盘IO导致数据库查询高延迟 初级解决方案 Redis 通过在内存中的高吞吐完成无事务的操作 问题 架 ......
2 01 | 是什么推动了单体应用到微服务架构的演进?
你好,我是姚秋辰。 “微服务”是近些年在大型应用架构领域的一个热门话题,从实践领域来看,我们身边的一二线大厂也纷纷选择全面拥抱微服务。就拿国内Java系的一线大厂来说,如阿里系、美团点评、PDD等,它们都将自己的核心业务系统构建在微服务架构之上。 即便你是刚参加工作的萌新,也一定从铺天盖地的“微服务 ......
2-SpringBoot开发单体应用
Spring Boot 开发单体应用 1.SpringBoot Web开发 使用SpringBoot的步骤: 创建一个SpringBoot应用,选择我们需要的模块,SpringBoot就会默认将我们的需要的模块自动配置好; 手动在配置文件中配置部分配置项目就可以运行起来了。 专注编写业务代码,不需要 ......
单体架构中静态资源访问不到的处理
import lombok.extern.slf4j.Slf4j; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotatio ......
【面试专栏】Guava - ListenableFuture,避免Future获取阻塞问题,增加回调
1. 简介 相比Future(【面试专栏】Java5 - Future,基本使用),Guava提供的ListenableFuture支持不阻塞主线程进行任务执行完成后的业务处理。 使用Future的实现类FutureTask想要实现一旦获取到结果立即执行后续的业务,就需要阻塞主线程等待结果或者使用其 ......
第八篇 单体内置对象 - Math 和 Global
单体内置对象 《JavaScript高级程序设计》:由 ECMAScript 实现提供的、不依赖于宿主环境的对象,这些对象在 ECMAScript 程序执行前就已经存在了。 开发人员无需显式地实例化内置对象,因为他们已经实例化了 如 Math 和 Global Math Math 是 Javascr ......
微服务架构学习与思考(12):从单体架构到微服务架构的演进历程
从单体架构到微服务架构的演进历程 一、单体架构 1.1 什么时候用单体架构 在创业初期或项目开始时,项目整体功能比较少,开发人员也少,且项目需要用最少时间开发出来,用 MVP 方式快速进行市场验证是否可行,这时候就可以用单体架构进行快速开发。 1.2 单体架构设计举例-电商应用 功能分析: 拿淘宝网 ......
重新认识下JVM级别的本地缓存框架Guava Cache——优秀从何而来
作为缓存系列专栏内容,秉持着不重复造轮子的理念,本篇文章中我们就开始深入剖析JAVA本地缓存的优秀轮子 —— 来自Google家族的Guava Cache。聊一聊其实现机制、看一看如何使用。 ......