初探消息队列MQ

  中间件       2020年12月01日       1 热度    
你们为什么使用mq?具体的使用场景是什么?mq的作用很简单,削峰填谷。以电商交易下单的场景来说,正向交易的过程可能涉及到创建订单、扣减库存、扣减活动预算、扣减积分等等。每个接口的耗时如果是100ms,那么理论上整个下单的链路就需要耗费400ms,这个时间显然是太长了。如果这些操作全部同步处理的话,首先调用链路太长影响接口性能,其次分布式事务的问题很难处理,这时候像扣减预算和积分这种对实时一致性要求
初探消息队列MQ

「Spring Boot 2.4 新特性」一键构建Docker镜像

  Spring Boot       2020年11月17日       39 热度    
背景在我们开发过程中为了支持 Docker 容器化,一般使用 Maven 编译打包然后生成镜像,能够大大提供上线效率,同时能够快速动态扩容,快速回滚,着实很方便。docker-maven-plugin 插件就是为了帮助我们在 Maven 工程中,通过简单的配置,自动生成镜像并推送到仓库中。spotify 、fabric8这里主要使用的主要是如下两种插件spotify、fabric8, ... -配
「Spring Boot 2.4 新特性」一键构建Docker镜像

「Spring Boot 2.4 新特性」新增通用宏简化Cron表达式

  Spring Boot       2020年11月17日       38 热度    
说起 cron 表达式大家一定不陌生,我们常用来作为定时任务执行策略规则。 在 Spring Boot 框架中 cron 表达式主要配合 @Scheduled 注解在应用程序中使用。 在 Spring Boot 2.4 (既 Spring 5.3)以后,引入了 CronExpression 表达式处理器来替代原有的 CronSequenceGenerator。为什么要替代原有的 CronSeque

Spring Cloud Alibaba系列(六)Sentinel的实际应用

  Spring Cloud       2020年11月12日       49 热度    
一、sentinel的持久化配置上一章中我们通过Dashboard来为Sentinel客户端设置各种各样的规则,但是这些规则默认是存放在内存中,极不稳定,无法用于生成环境,所以需要将其持久化。DataSource扩展常见的实现方式有:拉模式:客户端主动向某个规则管理中心定期轮询拉取规则,这个规则中心可以是 RDBMS、文件,甚至是 VCS 等。这样做的方式是简单,缺点是无法及时获取变更;推模式:规
Spring Cloud Alibaba系列(六)Sentinel的实际应用

Spring Cloud Alibaba系列(五)Sentinel实现服务限流降级

  Spring Cloud       2020年11月12日       27 热度    
一、sentinel是什么sentinel的官方名称叫分布式系统的流量防卫兵。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。在Spring Cloud项目中最开始我们使用的是Hystrix,目前已停止更新了。现在Spring Cloud官方推荐的是rensilience4j。当然还有我们今天学习的sentinel。Sentinel 具有以下特征:丰
Spring Cloud Alibaba系列(五)Sentinel实现服务限流降级

Spring Cloud Alibaba系列(四)使用Gateway作为服务网关

  Spring Cloud       2020年11月12日       39 热度    
什么是网关在微服务架构里,服务的粒度被进一步细分,各个业务服务可以被独立的设计、开发、测试、部署和管理。这时,各个独立部署单元可以用不同的开发测试团队维护,可以使用不同的编程语言和技术平台进行设计,这就要求必须使用一种语言和平台无关的服务协议作为各个单元间的通讯方式。换句话说就是网关为所有的请求提供了统一的入口,方便我们对服务请求和响应做统一管理。为什么要用网关API 网关是一个处于应用程序或服务
Spring Cloud Alibaba系列(四)使用Gateway作为服务网关

Spring Cloud Alibaba系列(三)使用feign进行服务调用

  Spring Cloud       2020年11月12日       30 热度    
什么是FeignFeign是spring cloud提供的一个声明式的伪http客户端,它使得调用远程服务就像调用本地服务一样简单,只需要创建一个接口并添加一天注解即可。Nacos很好的兼容了Feign,Feign默认默认继承了Ribbon,所以在nacos下使用Feign默认就实现了负载均衡的效果。Ribbon支持的负载均衡策略负载均衡就是将请求分摊给多个实例进行进行处理。根据负载均衡发生位置的
Spring Cloud Alibaba系列(三)使用feign进行服务调用

Spring Cloud Alibaba系列(二)nacos作为服务配置中心

  Spring Cloud       2020年11月12日       66 热度    
Nacos 提供用于存储配置和其他元数据的 key/value 存储,为分布式系统中的外部化配置提供服务器端和客户端支持。使用 Spring Cloud Alibaba Nacos Config,您可以在 Nacos Server 集中管理你 Spring Cloud 应用的外部属性配置。首先我们来看一下,微服务架构下关于配置文件的一些问题:配置文件相对分散,在一个微服务架构中,配置文件会随着微服
Spring Cloud Alibaba系列(二)nacos作为服务配置中心

Spring Cloud Alibaba系列(一)nacos作为服务注册中心

  Spring Cloud       2020年11月12日       17 热度    
Spring Cloud Alibaba各组件版本关系毕业版本依赖关系这次项目中我们用的alibaba版本是2.2.1.REALEASE,因此各组件的版本与之对应,在实际应用中请务必使用与Spring Cloud Alibaba版本相对应的Spring Cloud版本和Spring Boot版本。什么是nacos在spring cloud版本中我们使用eureka、consul等做为服务注册中心,
Spring Cloud Alibaba系列(一)nacos作为服务注册中心

如何设计一个牛逼的API接口

  Java       2020年11月12日       18 热度    
在日常开发中,总会接触到各种接口。前后端数据传输接口,第三方业务平台接口。一个平台的前后端数据传输接口一般都会在内网环境下通信,而且会使用安全框架,所以安全性可以得到很好的保护。这篇文章重点讨论一下提供给第三方平台的业务接口应当如何设计?我们应该考虑哪些问题?主要从以上三个方面来设计一个安全的API接口。一 安全性问题安全性问题是一个接口必须要保证的规范。如果接口保证不了安全性,那么你的接口相当于
如何设计一个牛逼的API接口

Redis还可以做哪些事?

  数据库       2020年11月11日       21 热度    
一 Bitmaps在计算机中,使用二进制做为信息的基础单元,也就是输入的任何信息,最终在计算机底层都会转会为一串二进制的数字。在redis中,提供了Bitmaps来进行位操作。我们可以把Bitmaps想象成一个以位为单位的数组,数组的下标叫做偏移量。使用Bitmaps的优势就是占用空间更少。假如我们想记录员工今天是否登录过公司官网,我们可以日期做为key,员工id做为偏移量(这里员工id在数据库中

Redis可以做哪些事?

  数据库       2020年11月10日       23 热度    
Redis是一种基于键值对的NoSQL数据库,它的值主要由string(字符串),hash(哈希),list(列表),set(集合),zset(有序集合)五种基本数据结构构成,除此之外还支持一些其他的数据结构和算法。key都是由字符串构成的,那么这五种数据结构的使用场景有哪些?一起来看看!一 字符串字符串类型是Redis最基础的数据结构,字符串类型可以是JSON、XML甚至是二进制的图片等数据,但

Java11新特性总览

  Java       2020年09月28日       110 热度    
美国时间 09 月 25 日,Oralce 正式发布了 Java 11,这是据 Java 8 以后支持的首个长期版本。其中包含了Java9和Java10的特性,所以我们这里只讲Java11。1、本地变量类型推断什么是局部变量类型推断?varjavastack="javastack"; System.out.println(javastack);大家看出来了,局部变量类型推断就是

Java8新特性之Stream流专题补充 10种方式创建Stream流

  Java       2020年09月28日       124 热度    
今天来分享下在 Java 8 中创建 Stream 的 10 种方式,我就整理了 10 种,其实还有更多,仅供大家参考学习下。1、Stream.of 可变参数Stream<String>stream1=Stream.of("A","B","C"); System.out.println("stream1:"

【终章】Java8新特性之Stream流专题七 流与迭代器

  Java       2020年09月28日       74 热度    
恭喜你们,马上就要学完Java8 Stream流的一整系列了,其实我相信Stream流对很多使用Java的同学来说,都是一个知识盲点,因为这个原因,我才这么细致地讲解Stream流的各个知识点,通过这一整个系列,我相信只要认真看了的同学,都已掌握的差不多了,就差实战了。其实我在工作过程中,Stream流对我的帮助真的挺大的,所以,我想和大家分享一下,于是这系列的文章就出来了。在本系列文章发布的时候

 书籍推荐

友情链接

卢松松博客 中国博客联盟 梁钟霖个人博客