SpringCloud实战
文章平均质量分 91
悟空聊架构
公众号:悟空聊架构,7 年一线互联网经验,全栈工程师,手写了 PMP 刷题小程序和 Java刷题小程序。超爱图解底层原理。
公众号:悟空聊架构
展开
-
深入理解 Spring Cloud Gateway 的原理
在 PassJava 项目中,我用到了 Spring Cloud Gateway 作为 API 网关,客户端的所有的请求都是先经过网关,然后再转发到会员微服务、题目微服务等。原创 2022-08-02 20:44:28 · 701 阅读 · 0 评论 -
从 1.5 开始搭建一个微服务框架——日志追踪 traceId
最近在搭一个基础版的项目框架,基于 SpringCloud。这个框架算是在 SpringCloud 上面搭一个框架,如果把 SpringCloud 这个框架当做 `1`,那么现在已经有的基础组件比如 swagger/logback 等就是 0.5,然后我在这 1.5 基础上进行组装,完成一个基础框架。为什么要造二代轮子呢?市面上现成的项目框架不香吗?因为项目组不允许用外部的现成框架,比如 Ruoyi。另外因为我们的项目具有自身的特色,技术选型也会选择我们自己熟悉的框架,所以自己来造二代轮子也是一个不错的原创 2022-07-05 22:20:52 · 822 阅读 · 0 评论 -
Nacos 架构原理①:一条注册请求会经历什么?
Nacos 架构原理①:一条注册请求会经历什么?原文首发公众号:5000 字 | 16 图 | Nacos 架构原理①:一条注册请求会经历什么?大家好,我是悟空呀。前言上篇我们讲解了如何使用 Nacos 作为注册中心和配置中心。6000 字|20 图|Nacos 手摸手教程这次我们来聊下 Nacos 非常核心的原理:注册服务。Nacos 作为注册中心,用来接收客户端(服务实例)发起的注册请求,并将注册信息存放到注册中心进行管理。那么一条注册请求到底会经历哪些步骤呢?知识点预告先上一张原创 2022-05-12 21:52:19 · 467 阅读 · 0 评论 -
6000 字|20 图|Nacos 手摸手教程
使用 Nacos 作为注册中心和配置中心大家好,我是悟空呀,上次我们讲解了 OpenFeign 的架构原理,这次我们要来进入 Nacos 帝国了,Nacos 作为服务注册中心、配置中心,已经非常成熟了,业界的标杆,在讲解 Nacos 的架构原理之前,我先给大家来一篇开胃菜:讲解 Nacos 如何使用,涉及到如下两个话题:用 Nacos 作为注册中心。用 Nacos 作为配置中心。由于本篇是针对 Nacos 的使用和配置教程,可能会略显枯燥,建议大家快速浏览一遍,然后收藏转发下,以后说不定就会用上原创 2022-05-12 21:49:53 · 338 阅读 · 0 评论 -
PassJava 开源(二) 初始化数据库表
PassJava (佳必过) 项目全套学习教程连载中,关注公众号第一时间获取。文档在线地址:www.passjava.cnPassJava 初始化数据库表用PowerDisigner工具创建数据库用PowerDisigner工具创建数据库总共有5个微服务数据库:内容、学习、渠道、用户、题目内容微服务的数据库学习微服务的数据库渠道微服务的数据库用户微服务的数据库题目微服务的数据库SQL文件在这个项目里面:https://github.com/Ja原创 2021-12-22 21:31:07 · 1014 阅读 · 0 评论 -
PassJava 开源(一) 初始化项目和添加微服务
PassJava (佳必过) 项目全套学习教程连载中,关注公众号第一时间获取。文档在线地址:www.passjava.cnPassJava 初始化项目和添加微服务1.GitHub上创建一个空的仓库2.从GitHub上引入空的项目3.添加内容服务passjava-content序号字段内容1groupcom.jackson0714.passjava2Artifactpassjava-content3Namepassjava-content原创 2021-12-22 21:30:18 · 1682 阅读 · 0 评论 -
8 张图 | 剖析 Eureka 的首次同步注册表
大家好,我是悟空。Eureka 注册中心系列文章汇总:领导让我研究 Eureka 源码 | 启动过程领导“叕”让我研究 Eureka 源码:注册过程值得收藏的 Eureka 控制台详解原来一个 Map 就能搞定注册表了一、前言注册表对于注册中心尤为重要,所有的功能都是围绕这个注册表展开。比如服务 A 要想访问服务 B,就得知道服务 B 的 IP 地址和端口号吧。如下图所示,传统的方式就是服务 A 知道了服务 B 的地址后,发送 HTTP 请求到对应的 API 地址上。那服务 A 和 服务原创 2021-12-14 20:53:56 · 643 阅读 · 0 评论 -
领导让我研究 Eureka 源码 | 启动过程
Eureka 源码之启动过程大家好,我悟空。最近在倒腾 Eureka 源码,因为大环境太卷了,必须得卷点源码才行,另外呢,能够读懂开源项目的源码、解决项目中遇到的问题是实力的象征,是吧?如果只是会用些中间件,那是不够的,和 CRUD 区别不大。话不多说,源码走起。本篇是 Eureka 源码分析的开篇,后续会持续分享源码解析的文章。首先呢,Eureka 服务的启动入口在这里:EurekaBootStrap.java 的 contextInitialized 方法。关于源码的获取直接到官网下载就好了原创 2021-10-18 22:31:08 · 474 阅读 · 0 评论 -
领导让我研究 Eureka 源码 | 启动过程
悟空聊架构 用故事讲解分布式、架构。 《 JVM 性能调优实战》专栏作者, 《Spring Cloud 实战 PassJava》开源作者, 自主开发了 PMP 刷题小程序。 ...原创 2021-10-18 22:23:20 · 428 阅读 · 0 评论 -
统一缓存帝国 - 实战 Spring Cache
我正在参与 CSDN《新程序员》有奖征文,并附上本活动页面的链接地址。你好,我是悟空。前三篇讲解的缓存使用和分布式锁的都是基于 Redis 来做缓存的,本篇我来向大家介绍一种兼容所有缓存中间件的方案,不论我们是使用 Redis 还是 Ehcache,都不需要关心如何操作 Redis 或者 Ehcache,这套方案统统帮你搞定。这套方案就是大名鼎鼎的 Spring Cache。什么?你没有听过,没关系,本篇带你一起探索。一、揭开 Spring Cache 的面纱1.1 现有缓存方案的痛点试想一种原创 2021-07-01 21:06:11 · 312 阅读 · 1 评论 -
统一缓存帝国 - 实战 Spring Cache
统一缓存帝国 - 实战 Spring Cache前三篇讲解的缓存使用和分布式锁的都是基于 Redis 来做缓存的,本篇我来向大家介绍一种兼容所有缓存中间件的方案,不论我们是使用 Redis 还是 Ehcache,都不需要关心如何操作 Redis 或者 Ehcache,这套方案统统帮你搞定。这套方案就是大名鼎鼎的 Spring Cache。什么?你没有听过,没关系,本篇带你一起探索。缓存系列文章:《缓存实战(一)》《缓存实战(二)Redis分布式锁》《缓存实战(三)Redisson 分布式锁》原创 2021-07-01 21:00:41 · 322 阅读 · 0 评论 -
分布式锁中的王者方案 - Redisson
上篇讲解了如何用 Redis 实现分布式锁的五种方案,但我们还是有更优的王者方案,就是用 Redisson。缓存系列文章:缓存实战(一)《》缓存实战(二)《》我们先来看下 Redis 官网怎么说,而 Java 版的 分布式锁的框架就是 Redisson。本篇实战内容将会基于我的开源项目 PassJava 来整合 Redisson。我把后端、前端、小程序都上传到同一个仓库里面了,大家可以通过 Github 或 码云访问。地址如下:Github: https://github.com/Jac.原创 2021-05-22 08:56:37 · 843 阅读 · 0 评论 -
Redis 分布式锁|从青铜到钻石的演进方案
Redis 分布式锁|从青铜到钻石的演进方案上篇我们讲到如何用本地内存和 Redis《插入文涨》 做缓存来增强系统的性能,另外探讨了加锁解决缓存击穿的问题。但是本地加锁的方式在分布式的场景下就不适用了,所以本文我们来探讨下如何引入分布式锁解决本地锁的问题。本篇主要内容如下:一、本地锁的问题首先我们来回顾下本地锁的问题:目前题目微服务被拆分成了四个微服务。前端请求进来时,会被转发到不同的微服务。假如前端接收了 10 W 个请求,每个微服务接收 2.5 W 个请求,假如缓存失效了,每个微服务在访问数原创 2021-05-08 17:00:59 · 231 阅读 · 0 评论 -
# 20 图 |6000 字 |实战缓存(上篇)
20 图 |实战缓存(上篇)前言先说个小事情,今天试了下做动图,就一张动图都花了我 1 个小时,还做得很难看。。本文主要内容如下:上一篇讲到如何做性能调优的方法,比如给表加索引、动静分离、减少不必要的日志打印。但有一个很强大的优化方式没有提到,那就是加缓存,比如查询小程序的广告位配置,因为没什么人会去频繁的改,将广告位配置丢到缓存里面再适合不过了。那我们就给开源 Spring Cloud 实战项目 PassJava 加下缓存来提升下性能。我把后端、前端、小程序都上传到同一个仓库里面了,大家可以原创 2021-04-23 10:44:18 · 209 阅读 · 2 评论 -
1W字|40 图|硬核 ES 实战
前言上篇我们讲到了 Elasticsearch 全文检索的原理《插入文章》,通过在本地搭建一套 ES 服务,以多个案例来分析了 ES 的原理以及基础使用。这次我们来讲下 Spring Boot 中如何整合 ES,以及如何在 Spring Cloud 微服务项目中使用 ES 来实现全文检索。通过本实战您可以学到如下知识点:Spring Boot 如何整合 ES。微服务中 ES 的 API 使用。项目中如何使用 ES 来达到全文检索。本篇主要内容如下:本文案例都是基于 PassJava 实战原创 2021-04-09 15:13:30 · 224 阅读 · 1 评论 -
48 张图 | 手摸手教你微服务的性能监控、压测和调优
20张图 | 手摸手教你微服务的性能监控、压测和调优开源项目 PassJava 地址:https://github.com/Jackson0714/PassJava-Platform本文已收录至:www.passjava.cn一、何为压力测试1.1、 大白话解释性能压测是什么:就是考察当前软件和硬件环境下,系统所能承受的最大负荷,并帮助找出系统的瓶颈所在。性能压测的目的:为了系统在线上的处理能力和稳定性维持在一个标准范围内,做到知己知彼,百战不殆。还可以发现内存泄漏、并发与同步的问原创 2021-03-17 10:02:56 · 925 阅读 · 0 评论 -
5w 字 | 172 图 | 超级赛亚级 Spring Cloud 实战
一、PassJava 项目简介PassJava-Learning 项目是 PassJava(佳必过)项目的学习教程。对架构、业务、技术要点进行讲解。PassJava 是一款 Java 面试刷题 的开源系统,可以用零碎时间利用小程序查看常见面试题,夯实 Java 基础。PassJava 项目可以教会你如何搭建 SpringBoot 项目,Spring Cloud 项目采用流行的技术,如 SpringBoot、MyBatis、Redis、 MySql、 MongoDB、 RabbitMQ、Elasti原创 2020-11-26 10:27:15 · 1760 阅读 · 0 评论 -
23.SpringCloud实战项目-整合统一异常处理
简介PassJava-Learning项目是PassJava(佳必过)项目的学习教程。对架构、业务、技术要点进行讲解。PassJava 是一款Java面试刷题的开源系统,可以用零碎时间利用小程序查看常见面试题,夯实Java基础。PassJava 项目可以教会你如何搭建SpringBoot项目,Spring Cloud项目采用流行的技术,如 SpringBoot、MyBatis、Redis、 MySql、 MongoDB、 RabbitMQ、Elasticsearch,采用Docker容器化部署。原创 2020-05-27 10:29:32 · 1127 阅读 · 0 评论