自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

码猿技术专栏

微信公众号【码猿技术专栏】

  • 博客(1024)
  • 资源 (1)
  • 收藏
  • 关注

原创 实战干货!Spring Cloud Gateway 整合 OAuth2.0 实现分布式统一认证授权!

大家好,我是不才陈某~这是《Spring Cloud 进阶》第15篇文章,往期文章如下:五十五张图告诉你微服务的灵魂摆渡者Nacos究竟有多强?openFeign夺命连环9问,这谁受得了?...

2021-12-21 08:10:00 5662 2

原创 OAuth2.0实战!使用JWT令牌认证!

点击上方☝码猿技术专栏轻松关注,设为星标!及时获取有趣有料的技术大家好,我是不才陈某~这是《Spring Security 进阶》的第3篇文章,往期文章如下:实战!Spring Boo...

2021-12-06 08:10:00 1074

原创 妹子始终没搞懂OAuth2.0,今天整合Spring Cloud Security 一次说明白!

点击上方☝码猿技术专栏轻松关注,设为星标!及时获取有趣有料的技术大家好,我是不才陈某~周一发了Spring Security 系列第一篇文章,有妹子留言说看了很多文章,始终没明白OAut...

2021-12-02 08:10:00 1056

原创 实战!Spring Boot Security+JWT前后端分离架构登录认证!

点击上方☝码猿技术专栏轻松关注,设为星标!及时获取有趣有料的技术大家好,我是不才陈某~认证、授权是实战项目中必不可少的部分,而Spring Security则将作为首选安全组件,因此陈...

2021-11-29 08:10:00 2317 1

转载 if 判断泛滥?试一试规则执行器,太香了!

大家好,我是不才陈某~只有体验过几百行 if else 折磨的人,才会对本篇产生共鸣!Java技术指南:https://java-family.cn业务场景近日在公司领到一个小需求,需要对之前已有的试用用户申请规则进行拓展。我们的场景大概如下所示:if(是否海外用户){returnfalse;}if(刷单用户){returnfalse;}if(未付费用户&am...

2023-12-05 08:45:09

转载 真相了,滴滴崩溃竟是因为K8s升级?

大家好,我是不才陈某~11 月 27 日晚上 10 点左右截止 2023 年 11 月 28 日中午 12 点期间,DD发生了长达12小时的p0级bug,造成的影响大家通过各种平台或者亲身经历如何我就不多说了,单说对企业造成的损失超千万单和超4个亿的交易额。我只想说不愧是大企业,这也太狠了简单整理下崩溃原因DD自己在微博上说的是底层系统软件发生故障,身为底层开发的我对此还是挺感兴趣的,所以简单吃了...

2023-12-04 08:45:47 27

转载 公司规定所有接口都用 POST请求,这是为什么?

大家好,我是不才陈某~最近在逛知乎的时候发现一个有趣的问题:《公司规定所有接口都用 post 请求,这是为什么?》❝原问题:zhihu.com/question/336797348❞看到这个问题的时候其实我也挺有感触的,因为我也曾经这样问过我自己。在上上一家公司的时候接到一个项目是从零开始搭建一个微服务,当时就有了解过接口的一些规范,比如耳熟能详的 Restful 规范,就被应用到这个微服务项目中...

2023-12-03 11:05:24 3

转载 项目终于用上了 xxl-job!

大家好,我是不才陈某~任务调度是java项目中常用的一种组件,可以指定任务在何时进行触发,最熟悉的是spring框架里面的quartz;较流行的有一些分布式调度组件,比如elastic-job/azkaban,都是基于quartz二次开发往期有篇文章介绍了分布式调度框架的核心逻辑:聊聊分布式任务调度系统今天介绍一款分布式的任务调度框架:xxl-job。支付宝又发了红包,支付宝中搜索数字:84542...

2023-12-01 08:46:58 4

转载 JVM 将要被替代了?

大家好,我是不才陈某~Spring Boot有助于轻松开发独立的、可用于生产的 Spring 应用程序。它对 Spring 平台和第三方库采用固执己见的方法:以最少的配置简化设置过程。优势:易于使用:Spring Boot 简化了独立 Spring 应用程序的创建,无需复杂的配置。嵌入式服务器:它允许直接嵌入 Tomcat、Jetty 或 Undertow 等服务器,从而无需单独部署 WAR 文件...

2023-11-30 08:45:43 8

转载 12万字!肝了一套Java面试干货......

今年大家听到“就业大环境很差”、“工作不好找”之类的太多了。如今大环境已经逐渐好转,虽然不需要太过焦虑,但是也要持续的提升自己。最近和几位准备跳槽的兄弟聊天发现,原有八股文已经不足以应对现在面试官的提问了。大厂对程序员的技术要求只会越来越高,谁掌握得更深、应用得更好,谁就更容易脱颖而出!为此,我特意与几位大厂后端技术专家,一起整理出了一套非常实用的【Java面试宝典合集】,包含Spring、MyS...

2023-11-29 10:30:29 9

转载 干掉复杂代码 — Spring Boot 与 CQRS 才是黄金组合!

大家好,我是不才陈某~微服务的兴起以及现代软件架构对可扩展性、灵活性和可维护性的需求导致开发人员接受各种设计模式。近年来备受关注的一种模式是命令查询职责分离 (CQRS) 模式。CQRS 特别适合命令(改变状态)和查询(读取状态)之间有明显区别的系统。在本文中,我们将深入研究 CQRS 并了解如何使用 Spring 微服务来实现它。Java技术指南:https://java-family.cn了解...

2023-11-28 08:45:46 12

原创 15 网关实战: 微服务集成Swagger实现在线文档

上节介绍了网关层面聚合API文档,通过网关的路由信息找到了各个服务的请求地址,这节讲一下微服务如何集成Swagger。网关的API文档默认调用的是微服务的**/v2/api-docs**这个接口获取API详细信息,比如文章服务的URL:http://localhost:9000/blog-article/v2/api-docs,返回信息如下:木谷博客系统将swagger这个公共的部分抽离出了一个,这样每个微服务只需要依赖这个starter即能接入swagger。

2023-11-27 15:35:56 259 1

原创 14 网关实战:网关聚合API文档

不得不说这款Swagger UI 界面还是比较简单易用的,个人用起来还不错。

2023-11-27 15:35:03 276

原创 13 OAuth2.0实战:微服务接收身份信息

这节介绍了下游微服务通过过滤器接收网关层面传递的身份信息,并且将信息封装到了Request中,这样在业务方法中可以直接获取。

2023-11-27 15:34:15 258

原创 12 网关实战:Spring Cloud Gateway基础理论

Predicate来自于java8的接口。Predicate接受一个输入参数,返回一个布尔值结果。该接口包含多种默认方法来将Predicate组合成其他复杂的逻辑(比如:与,或,非)。可以用于接口请求参数校验、判断新老数据是否有变化需要进行更新操作。Spring Cloud Gateway内置了许多Predict,这些Predict的源码在包中,有兴趣可以阅读一下。内置的一些断言如下图:以上11种断言陈某这里就不再介绍如何配置了,官方文档写的很清楚。

2023-11-27 15:33:22 408

原创 11 OAuth2.0实战:网关统一认证授权

实现ReactiveAuthenticationManager对token的校验(过期时间、签名)实现ReactiveAuthorizationManager对token的鉴权对特定的资源配置白名单,直接放行利用网关的全局过滤器,对token解析、加密放入请求头传递给下游服务。

2023-11-27 15:32:44 46

原创 10 OAuth2.0实战:认证授权中心搭建

既然org.springframework.security.oauth2.provider.token.DefaultUserAuthenticationConverter#extractAuthentication这个方法只封装了username,那么可以直接自定义一个DefaultUserAuthenticationConverter,重写这个方法中的逻辑。

2023-11-27 15:32:11 40

原创 09 OAuth2.0实战:OAuth2.0基础理论知识

OAuth 是一个开放标准,该标准允许用户让第三方应用访问该用户在某一网站上存储的私密资源(如头像、照片、视频等),而在这个过程中无需将用户名和密码提供给第三方应用。实现这一功能是通过提供一个令牌(token),而不是用户名和密码来访问他们存放在特定服务提供者的数据。采用令牌(token)的方式可以让用户灵活的对第三方应用授权或者收回权限。OAuth2 是 OAuth 协议的下一版本,但不向下兼容OAuth 1.0。传统的 Web 开发登录认证一般都是基于session的,但是在前后端分离。

2023-11-27 15:31:35 13

原创 08 木谷博客系统RBAC权限设计

这节内容说一下木谷博客系统的权限设计,采用现在主流的权限模型,对应关系如下:以上5张表都在这个库中该部分的服务单独定义在这个模块中。

2023-11-27 15:30:57 46

原创 07 服务间调用:openFeign上下文信息丢失

上一节介绍了如何openFeign一些高级用法,这节讲讲实际运用中openFeign的两个坑。

2023-11-27 15:30:26 43

原创 06 服务间调用:OpenFeign的高级用法

-openFeign的依赖--> < dependency > < groupId > org.springframework.cloud </ groupId > < artifactId > spring-cloud-starter-openfeign </ artifactId > </ dependency > <!

2023-11-27 15:29:52 8

原创 05 Nacos实战:集成Nacos实现分布式配置中心实现配置动态刷新

木谷博客系统中使用了Nacos作为分布式配置中心,同时将一些公共配置抽离了出来。

2023-11-27 15:29:07 28

原创 04 Nacos实战:集成Nacos实现注册中心

这是一个nacos基础的starter,微服务中只要有用到nacos的,直接引入这个starter即可。--nacos注册中心--> < dependency > < groupId > com.alibaba.cloud </ groupId > < artifactId > spring-cloud-starter-alibaba-nacos-discovery </ artifactId > </ dependency > <!

2023-11-27 15:28:21 10

原创 03 项目运行

seata:服务端口为8091skywalking:oap端口11800,UI界面:http://ip:8888博客前台:http://ip博客后台:http://ip/admin后台管理员:root,123456。

2023-11-27 15:26:48 41

原创 02 源码架构

为了实现公共代码的复用、变更的快捷,定义了很多的starter,每个微服务不再依赖组件的maven坐标,而是直接引用定义的starter。这块内容是Spring Boot 的基础内容,很简单,分为如下步骤:1、添加所需要的依赖</</</</</</2、生成自己的自动配置类每个starter都需要一个自动配置类,比如3、在/resource/META-INF/文件夹下新建spring.factories。

2023-11-27 15:26:10 302

原创 01 项目架构

曾经就职于蚂蚁金服,多年的后端开发经验,对微服务、架构这块研究颇深,同时也是一名热衷于技术分享、拥抱开源技术的博主。这个专栏,很多读者觉得知识太杂了,想要我出个系统的实战项目将这些知识、中间件串联起来实战一下,这样能够加深理解。对于缺乏一些基础知识同学也可以学习,教程内部都提供了对应的学习资源,理论+实战更加深入的学习。本教程面向Java Web开发者,对于初步掌握微服务开发技术的同学比较友好,可以直接学习。整个项目将Spring Cloud Alibaba的几个组件完全应用,,作为练手项目再合适不过了。

2023-11-27 15:24:35 179

转载 SQL开源替代品,诞生了!

发明 SQL 的初衷之一显然是为了降低人们实施数据查询计算的难度。SQL 中用了不少类英语的词汇和语法,这是希望非技术人员也能掌握。确实,简单的 SQL 可以当作英语阅读,即使没有程序设计经验的人也能运用。然而,面对稍稍复杂的查询计算需求,SQL 就会显得力不从心,经常写出几百行有多层嵌套的语句。这种 SQL,不要说非技术人员难以完成,即使对于专业程序员也不是件容易的事,常常成为很多软件企业应聘考...

2023-11-27 08:01:36 6

转载 Spring Boot 3.2 正式发布,一波新特性,开箱即用!

大家好,我是不才陈某~Spring Boot 3.2 昨日发布,让我们用 Java 21、GraalVM 和虚拟线程来尝试一下。Spring Boot 3.2 支持:Java 21虚拟线程原生镜像(自 2022 年 11 月 Spring Boot 3.0 发布以来,Spring Boot 已在生产环境中支持 GraalVM 原生镜像)Java 21我们期待 2023 年 9 月 19 日发布的 ...

2023-11-25 15:48:17 40

转载 Spring Cloud 分布式实时日志分析采集三种方案~

大家好,我是不才陈某~ELK 已经成为目前最流行的集中式日志解决方案,它主要是由Beats、Logstash、Elasticsearch、Kibana等组件组成,来共同完成实时日志的收集,存储,展示等一站式的解决方案。本文将会介绍ELK常见的架构以及相关问题解决。Filebeat:Filebeat是一款轻量级,占用服务资源非常少的数据收集引擎,它是ELK家族的新成员,可以代替Logstash作为在...

2023-11-23 08:51:10 10

转载 最近,Java 岗位爆了。。。

上半年大家听到“就业大环境很差”、“工作不好找”之类的太多了。如今大环境已经逐渐好转,虽然不需要太过焦虑,但是也要持续的提升自己。最近和几位准备跳槽的小伙伴聊天发现,原有八股文已经不足以应对现在面试官的提问了。大厂对程序员的技术要求只会越来越高,谁掌握得更深、应用得更好,谁就更容易脱颖而出!为此,我特意与几位大厂后端技术专家,一起整理出了一套非常实用的【Java面试宝典合集】,包含Spring、M...

2023-11-22 10:30:09 11

转载 聊聊 Java 8异步并发利器:CompletionService

大家好,我是不才陈某~CompletionService的实现目标是任务先完成可优先获取到,即结果按照完成先后顺序排序。今天深入聊一下CompletionService,往期也分享了一些 Java 的一些好用工具,如下:20 个实例玩转 Java 8 StreamJava 8 的 Optional是个好东西6 款 Java 8 自带工具,轻松分析定位 JVM 问题!Java 8 的异步编程利器 C...

2023-11-21 08:45:45 17

转载 阿里内部 Spring高级源码笔记!值得研读

大家好,今天给大家分享一套 spring高级源码笔记,非常棒,大伙学习后,能对Spring的底层实现原理的理解有很好的帮助。下面直接给大家展示目录:内容展示预览:Spring源码笔记PDF领取方式扫描下方公众号【java1234】回复:444,可获取下载链接????????????????长按上方二维码2 秒回复「444」即可如果不会领取,或者需要其他java相关资源加锋哥微信:java8822锋哥,前世界5...

2023-11-21 08:45:45 15

转载 SpringBoot+虚拟线程,接口吞吐量成倍增加,太爽了!

大家好,我是不才陈某~在这篇文章中,我们将看到如何在spring-boot中利用loom虚拟线程。我们还将在JMeter的帮助下做一些负载测试,看看虚拟线程和普通线程的响应时间如何。首先,虚拟线程是 Project Loom 的一部分。此外,Loom 不会加速内存计算,例如并行流,这不是 Loom 的目标。我们正在研究如何使用可用的相同硬件来提高应用程序吞吐量,即充分利用 CPU 的潜力,为此我们...

2023-11-20 08:52:28 13

转载 ThreadLocal 不香了?ScopedValue才是王道?

大家好,我是不才陈某~ThreadLocal是一种实现将变量在各线程之间隔离的方案,也叫线程局部变量表。在Java中每个线程都拥有一个ThreadLocal下的ThreadLocalMap类型的变量,它用来存储定义在线程中的ThreadLocal对象,ThreadLocalMap的键是一个弱引用,指向对应的ThreadLocal对象。但值得每一位Java开发者注意的是ThreadLocal变量如果...

2023-11-18 10:50:31 26

转载 微服务框架之争:Quarkus 即将替代Spring Boot ?

大家好,我是不才陈某~SpringBoot框架不用多介绍,Java程序员想必都知道。相对来说熟悉Quarkus的人可能会少一些。Quarkus首页放出的标语:超音速亚原子的Java(Supersonic Subatomic Java)。它是为 OpenJDK HotSpot 和 GraalVM 量身定制的 Kubernetes Native Java 框架,基于同类最佳的 Java 库和标准制作而...

2023-11-15 08:45:15 31

转载 实战!接口中的大事务,该如何进行优化?

大家好,我是不才陈某~作为后端开发的程序员,我们常常会的一些相对比较复杂的逻辑,比如我们需要给前端写一个调用的接口,这个接口需要进行相对比较复杂的业务逻辑操作,比如会进行,查询、远程接口或本地接口调用、更新、插入、计算等一些逻辑,将最终接口的返回结果给到前端,而经过这么一系列的业务逻辑操作,接口对DB的操作、对代码业务逻辑判断、进行接口调用这些都是需要时间的,而只要这是一个事务操作,每次对数据库进...

2023-11-13 08:50:10 24

转载 为什么阿里不推荐使用 keySet() 遍历HashMap?

大家好,我是不才陈某~HashMap相信所有学Java的都一定不会感到陌生,作为一个非常重用且非常实用的Java提供的容器,它在我们的代码里面随处可见。因此遍历操作也是我们经常会使用到的。HashMap的遍历方式现如今有非常多种:使用迭代器(Iterator)。使用 keySet() 获取键的集合,然后通过增强的 for 循环遍历键。使用 entrySet() 获取键值对的集合,然后通过增强的 f...

2023-11-10 08:50:09 22

转载 实战!只改了五行代码接口吞吐量提升了10倍!

大家好,我是不才陈某~公司的一个ToB系统,因为客户使用的也不多,没啥并发要求,就一直没有经过压测。这两天来了一个“大客户”,对并发量提出了要求:核心接口与几个重点使用场景单节点吞吐量要满足最低500/s的要求。当时一想,500/s吞吐量还不简单。Tomcat按照100个线程,那就是单线程1S内处理5个请求,200ms处理一个请求即可。这个没有问题,平时接口响应时间大部分都100ms左右,还不是分...

2023-11-08 08:51:02 38

转载 Java 市场复苏了!

本文推荐最近在考虑新机会的小伙伴阅读!上周和部门 BP 聊天,她说最近在 boss 上放出一个初级后端岗位,平均每天都能收到 500 多份简历。后端市场越来越卷,跳槽前做好技术进阶突击,才能稳拿offer。这里有一份我爆肝两个月整理出的《2023 后端开发进阶秘籍》,内含最新版本的八股文,9、10月大厂最新的面试题,都是今年的新知识点。全部整理成了高清 pdf 版,大家可以扫码领取。????????扫码领取...

2023-11-07 10:30:14 30

转载 开发微服务的9个最佳实践

大家好,我是不才陈某~微服务架构是一种演进的模式,从根本上改变了服务器端代码的开发和管理方式。这种架构模式涉及将应用程序设计和开发为松散耦合服务的集合,这些服务通过定义良好的轻量级 API 进行交互以满足业务需求。它旨在通过促进持续交付和开发来帮助软件开发公司加速开发过程,微服务架构模式从根本上改变了服务器端代码的开发和管理方式。如果我们谈论其基本特征,则特定的微服务本身充当应用程序,与其他微服务...

2023-11-06 08:50:25 31

javaEE中英文对照API

这是一个比较完整的中英文对照的javaEE的API,我找了很久才找到的,用起来很全面,里面的翻译还是比较好的,比较完整

2017-09-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除