logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【SpringCloud Alibaba】(九)学习 Gateway 服务网关

当采用分布式、微服务的架构模式开发系统中,服务网关是整个系统中必不可少的一部分。Spring Cloud Gateway 是 Spring 公司基于 Spring 5.0, Spring Boot 2.0 和 Project Reactor 等技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。

文章图片
#spring cloud#学习#gateway
【File】使用 SpringBoot 实现文件的上传与下载

文件的上传与下载在实际项目中用得挺多,所以,今天就在这里总结下。这篇博客不仅仅是完成一个文件上传/下载的功能,更重要的是规范编码吧:日志记录、入参/返参校验、方法职责单一等。开发环境:1.IDEA 2020.22.Maven 3.6.03.SpringBoot 2.0.0.RELEASE1. 单个文件的上传新建一个 SpringBoot 工程,工程结构图如下:POM 依赖:<dependen

#spring boot#java
【SpringCloud Alibaba】(十二)学习 Sleuth + ZipKin

Zipkin 是一种分布式链路跟踪系统,能够收集微服务运行过程中的实时调用链路信息,并能够将这些调用链路信息展示到 Web 界面上供开发人员分析,开发人员能够从 ZipKin 中分析出调用链路中的性能瓶颈,识别出存在问题的应用程序,进而定位问题和解决问题。

文章图片
#spring cloud#学习#spring
【SpringCloud Alibaba】(四)使用 Feign 实现服务调用的负载均衡

这里,我们通过修改订单微服务的代码来实现自定义负载均衡。由于在整个项目中,订单微服务作为客户端存在,由订单微服务调用用户微服务和商品微服务,所以,这里采用的是客户端负载均衡的模式。

文章图片
#spring cloud#负载均衡#java
【限流】4 种常见的限流实现方案

自定义一个限流用的注解,后面在需要限流的方法或接口上面只需添加该注解即可// 限制类型 String limitType();// 每秒 5 个请求 double limitCount() default 5d;// 限制类型 String resourceName();// 每秒 5 个 int limitCount() default 5;

文章图片
#spring boot#java
SpringBoot 整合 Guava Cache 实现本地缓存

美团技术团队-缓存那些事是 Google 开发的 Guava 工具包中一套完善的JVM 本地缓存框架,底层实现的数据结构类似于,但是进行了更多的能力拓展,包括缓存过期时间设置、缓存容量设置、多种淘汰策略、缓存监控等。是一个支持高并发的线程安全的本地缓存。多线程情况下也可以安全的访问或者更新Cache。这些都是借鉴了支持最大容量限制支持两种过期删除策略(插入时间和读取时间)支持简单的统计功能基于 L

#guava#缓存#oracle
SpringBoot 中使用 validator 框架优雅地校验参数

举个例子:业务系统的用户需要保证其唯一性,用户属性不能与其他用户产生冲突,不允许与数据库中任何已有用户的用户名称、手机号码、邮箱产生重复。如:保存 User 的时候,userId 是可空的,但是更新 User 的时候,userId 的值必须 >= 1L;接口的第一个参数是 自定义注解类型,第二个参数是 被注解字段的类,因为需要校验多个参数,我们直接传入用户对象。在日常的开发中,为了防止非法参数对业

文章图片
#spring boot#spring#java
一:深入理解线程 Thread

先了解一下基本概念1. 程序、进程、线程程序、进程、线程程序(静态):为完成特定的任务,用某种语言编写的一组指令的集合。即:一段静态的代码进程(动态):程序的一次执行的过程,或者是正在执行的一个程序。它是一个动态的过程,它有自己的生命周期:产生、存在、消亡。如:运行中的 QQ进程作为资源分配的单位,系统在运行时会为每个进行分配不同的内存区域线程:进程可进一步细化为线程,是一个程序内部的一条执行路径

#java
【Redis】Redis 的学习教程(十)之使用 Redis 实现消息队列

消息队列需要满足的要求:Redis 提供了三种不同的方式来实现消息队列:因为 list 底层的实现就是一个「链表」,在头部和尾部操作元素,时间复杂度都是 O(1),这意味着它非常符合消息队列的模型如果你的业务需求足够简单,想把 Redis 当作队列来使用,肯定最先想到的就是使用 list 这个数据类型常用的命令:生产者:消费者:这个模型非常简单,如下图:当队列中已经没有消息了,消费者在执行 RPO

文章图片
#redis#学习#数据库
【本地缓存】Java 中的 4 种本地缓存

是 Google 开发的 Guava 工具包中一套完善的JVM 本地缓存框架,底层实现的数据结构类似于,但是进行了更多的能力拓展,包括:缓存过期时间设置、缓存容量设置、多种淘汰策略、缓存监控等。是一个支持高并发的线程安全的本地缓存。多线程情况下也可以安全的访问或者更新 Cache,这些都是借鉴了的结果支持最大容量限制支持两种过期删除策略(插入时间和读取时间)支持简单的统计功能基于 LRU 算法实现

文章图片
#java#缓存#开发语言
    共 31 条
  • 1
  • 2
  • 3
  • 4
  • 请选择