- 博客(118)
- 收藏
- 关注
原创 云原生系列 - Nginx(基础篇)
Nginx(enginex)是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004 年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx1.0.4发布。
2024-08-19 13:41:06 2003
原创 云原生系列 - Docker(高级篇)
Dockerfile是用来构建Docker镜像的文本文件,是由一条条构建镜像所需的指令和参数构成的脚本。编写Dockerfile文件docker build命令构建镜像docker run依镜像运行容器实例从应用软件的角度来看,Dockerfile、Docker镜像与Docker容器分别代表软件的三个不同阶段,Dockerfile是软件的原材料Docker镜像是软件的交付品Docker容器则可以认为是软件镜像的运行态,也即依照镜像运行的容器实例。
2024-07-30 13:27:34 575
原创 云原生系列 - Docker(基础篇)
假定您在开发一个尚硅谷的谷粒商城,您使用的是一台笔记本电脑而且您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。此外,您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。您希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销。请问?您要如何确保应用能够在这些环境中运行和通过质量检测?并且在部署过程中不出现令人头疼的版本、配置问题,也无需重新编写代码和进行故障修复?答案就是使用容器。
2024-07-23 15:54:10 857
原创 云原生系列 - Jenkins
JenkinsJenkins,原名 Hudson,2011 年改为现在的名字。它是一个开源的实现持续集成的软件工具。官方网站(英文):https://www.jenkins.io/官方网站(中文):https://www.jenkins.io/zh/我们需要三台服务器服务器名ip准备条件Jenkins-GitLab-ssh192.168.119.134至少4C、5GJenkins-Server192.168.119.135安装jdk1.8TestServ
2024-07-19 17:31:42 1515
原创 谷粒商城 - 个人笔记(集群部署篇三)
电商后台管理系统+电商系统,掌握微服务的全套方案。该系统有商品服务、仓储服务、订单服务、购物车服务、检索服务、认证中心服务、网关服务、用户服务、秒杀服务、第三方服务。使用SpringBoot+SpringCloud并配套SpringCloud Alibaba系列,引入全套微服务治理方案:Nacos注册中心/配置中心、Feign远程调用、Gateway网关、Redisson缓存、基于ElasticSearch7全文检索、异步编排与线程池、RabbitMQ柔性事务方案、Redisson分布式锁、分布式信号量等。
2024-07-09 21:44:51 1361
原创 谷粒商城 - 个人笔记(集群部署篇二)
电商后台管理系统+电商系统,掌握微服务的全套方案。该系统有商品服务、仓储服务、订单服务、购物车服务、检索服务、认证中心服务、网关服务、用户服务、秒杀服务、第三方服务。使用SpringBoot+SpringCloud并配套SpringCloud Alibaba系列,引入全套微服务治理方案:Nacos注册中心/配置中心、Feign远程调用、Gateway网关、Redisson缓存、基于ElasticSearch7全文检索、异步编排与线程池、RabbitMQ柔性事务方案、Redisson分布式锁、分布式信号量等。
2024-07-04 22:12:02 911
原创 谷粒商城 - 个人笔记(集群部署篇一)
电商后台管理系统+电商系统,掌握微服务的全套方案。该系统有商品服务、仓储服务、订单服务、购物车服务、检索服务、认证中心服务、网关服务、用户服务、秒杀服务、第三方服务。使用SpringBoot+SpringCloud并配套SpringCloud Alibaba系列,引入全套微服务治理方案:Nacos注册中心/配置中心、Feign远程调用、Gateway网关、Redisson缓存、基于ElasticSearch7全文检索、异步编排与线程池、RabbitMQ柔性事务方案、Redisson分布式锁、分布式信号量等。
2024-06-30 17:35:52 1421 3
原创 云原生系列 - Docker搭建私有仓库
使用Docker官方提供的Registry镜像:Docker官方提供了一个用于构建私有镜像仓库的Registry镜像,只需将镜像下载并运行容器,然后暴露5000端口即可使用。可以通过修改Docker的配置文件daemon.json,在其中添加私有镜像仓库地址来实现。在Docker官方网站中直接创建:在Docker的官方网站()中,可以创建属于自己的账户,然后在Repository中创建自己的仓库。这种方式比较简单,但需要网络连接,且对于大规模使用可能存在一些限制。
2024-06-28 17:08:55 3336 2
原创 在VMware中安装CentOS7(超详细的图文教程)
进入CentOS下载官网,找到64位的CentOS7版本。点进来后,发现它给我们列出了所在区域可用镜像源(可以说是非常的良心的),我们随便选择一个,这里以阿里云的为例:选择标准的CentOS7映像下载。下载之后会得到一个ISO文件。
2024-06-15 13:12:57 10062
原创 权限管理框架 - Shiro
第一章 入门概述1.1 是什么Apache Shiro 是一个功能强大且易于使用的 Java 安全(权限)框架。Shiro 可以完成:认证、授权、加密、会话管理、与 Web 集成、缓存 等。借助 Shiro 您可以快速轻松地保护任何应用程序——从最小的移动应用程序到最大的 Web 和企业应用程序。官网:https://shiro.apache.org/1.2 为什么要用 Shiro自 2003 年以来,框架格局发生了相当大的变化,因此今天仍然有很多系统在使用Shiro。这与 Shiro 的特性密
2024-04-09 22:05:48 3099
原创 中间件系列 - Kafka3.x从入门到精通
Kafka传统定义: Kafka 是一个的基于的(Message Queue),主要应用于大数据实时处理领域。发布/订阅: 消息的发布者不会将消息直接发送给特定的订阅者,而是,订阅者。Kafka最新定义: Kaka是一个开源的 ( Event StreamingPlatform),被数千家公司用于高性能、、和。目前企业中比较常见的消息队列产品主要有 Kafka、ActiveMQ 、RabbitMQ 、RocketMQ 等。在大数据场景主要采用 Kafka 作为消息队列。在 JavaEE 开发中主要采用
2024-01-30 14:42:04 808
原创 SpringBoot项目实战 - 使用RetryTemplate优雅的重试
日常开发中,经常会遇到这样的场景:执行一次接口调用,如RPC调用,偶现失败,原因可能是dubbo超时、连接数耗尽、http网络抖动等,出现异常时我们并不能立即知道原因并作出反应,可能只是一个普通的RpcException或RuntimeException,对于这种小概率的异常,往往需要尝试再次调用(),因为由于网络问题、下游服务暂时的不稳定导致的异常,一段时间后理论上是可以自恢复的;例如,有时候项目需要进行同步数据,一定要同步成功,不然对于业务会有影响,偶发性的会出现调用接口失败,失败并不是特别多;
2024-01-12 15:58:56 2082
原创 中间件系列 - Redis入门到实战(原理篇)
try {// 1.建立连接// 2.获取输出流、输入流// 3.发出请求// 3.1.获取授权 auth 123321// 3.2.set name 虎哥sendRequest("set", "name", "虎哥");// 4.解析响应// 3.2.set name 虎哥// 4.解析响应// 3.2.set name 虎哥// 4.解析响应// 5.释放连接try {if (reader!if (writer!if (s!
2023-12-27 17:09:04 1887
原创 中间件系列 - Redis入门到实战(高级篇-最佳实践)
Key的最佳实践固定格式:[业务名]:[数据名]:[id]足够简短:不超过44字节不包含特殊字符Value的最佳实践:合理的拆分数据,拒绝BigKey选择合适数据结构Hash结构的entry数量不要超过1000设置合理的超时时间并不是很慢的查询才是慢查询,而是:在Redis执行时耗时超过某个阈值的命令,称为慢查询。
2023-12-27 15:25:45 1499
原创 中间件系列 - Redis入门到实战(高级篇-多级缓存)
前言学习视频: 黑马程序员Redis入门到实战教程,深度透析redis底层原理+redis分布式锁+企业解决方案+黑马点评实战项目中间件系列 - Redis入门到实战本内容仅用于个人学习笔记,如有侵扰,联系删除学习目标JVM进程缓存Lua语法入门实现多级缓存缓存同步策略1 什么是多级缓存传统的缓存策略一般是请求到达Tomcat后,先查询Redis,如果未命中则查询数据库,如图:存在下面的问题:请求要经过Tomcat处理,Tomcat的性能成为整个系统的瓶
2023-12-27 14:11:37 2114 1
原创 中间件系列 - Redis入门到实战(实战篇)
前言学习视频: 黑马程序员Redis入门到实战教程,深度透析redis底层原理+redis分布式锁+企业解决方案+黑马点评实战项目本内容仅用于个人学习笔记,如有侵扰,联系删除本章学习目标:短信登录这一块我们会使用redis共享session来实现商户查询缓存通过本章节,我们会理解缓存击穿,缓存穿透,缓存雪崩等问题,让小伙伴的对于这些概念的理解不仅仅是停留在概念上,更是能在代码中看到对应的内容优惠卷秒杀通过本章节,我们可以学会Redis的计数器功能, 结合Lua
2023-12-22 14:43:35 925
原创 中间件系列 - Redis入门到实战(基础篇)
Redis是一种键值型的NoSql键值型NoSql其中键值型,是指Redis中存储的数据都是以keyvalue对的形式存储,而value的形式多种多样,可以是字符串、数值、甚至json而NoSql则是相对于传统关系型数据库而言,有很大差异的一种数据库。对于存储的数据,没有类似Mysql那么严格的约束,比如唯一性,是否可以为null等等,所以我们把这种松散结构的数据库,称之为NoSQL数据库。存储方式关系型数据库基于磁盘进行存储,会有大量的磁盘IO,对性能有一定影响。
2023-12-09 15:10:26 1875
原创 中间件系列 - Redis入门到实战
课程分为六大篇章,涵盖了Redis的各种数据结构和命令,Redis的各种常见Java客户端的应用和最佳实践。还有Redis在企业中的应用方案,例如共享session、缓存及缓存更新策略、分布式锁、消息队列、秒杀等场景。另外还有Redis的主从、哨兵、集群等的搭建和原理,使用运维过程中的最佳实践方案。最后还会深入学习Redis底层原理、网络模型、通信模型、内存淘汰策略等内容
2023-12-09 15:08:08 584
原创 中间件系列 - ELK高级搜索,深度详解ElasticStack技术栈(下篇)
ELK(Elasticsearch、Logstash、Kibana)是一套强大的开源数据分析平台,主要用于日志管理、实时监控、安全分析和业务数据分析。Elasticsearch提供分布式搜索和分析功能,Logstash负责数据收集、处理和传输,而Kibana则提供交互式数据可视化和查询功能。ELK帮助用户集中管理和分析大规模数据,快速发现问题并做出响应,支持实时监控和预警系统,广泛应用于IT运维、安全分析和业务决策等多个领域,提升运营效率和数据驱动决策能力。
2023-12-02 20:25:15 1364
原创 中间件系列 - ELK高级搜索,深度详解ElasticStack技术栈(上篇)
ELK(Elasticsearch、Logstash、Kibana)是一套强大的开源数据分析平台,主要用于日志管理、实时监控、安全分析和业务数据分析。Elasticsearch提供分布式搜索和分析功能,Logstash负责数据收集、处理和传输,而Kibana则提供交互式数据可视化和查询功能。ELK帮助用户集中管理和分析大规模数据,快速发现问题并做出响应,支持实时监控和预警系统,广泛应用于IT运维、安全分析和业务决策等多个领域,提升运营效率和数据驱动决策能力。
2023-11-28 16:06:29 2322
原创 JVM - 性能优化工具Mat
MAT()工具是一款功能强大的]ava堆内存分析器。可以用于查找内存泄漏以及查看内存消耗情况。MAT是基于Eclipse开发的,不仅可以单独使用,还可以作为插件的形式嵌入在Eclipse中使用。是一款免费的性能分析工具,使用起来非常方便。
2023-08-28 16:20:28 17351 1
原创 云原生系列 - Nginx_深入剖析NginxStatus
NginxStatus是一个实用的状态模块,可以用来监控服务器的状态、统计网站流量和请求情况、自动热备和检测Nginx服务状态。开启NginxStatus只需要简单的配置,即可实现以上功能。
2023-08-28 10:21:46 3409
原创 云原生系列 - Nginx_报错no live upstreams while connecting to upstream
客户端请求后端服务时一直报错,查看后端的服务是正常启动的。后来又查看Nginx的错误日志,发现请求后端接口时Nginx报错,查看该错误的解释可以得到的结果是upstream中没有可以提供服务的server,即Nginx已经发现不了存活的后端了,但是,我直接访问后端的server却是可以使用的,证明server端可用。最后查找文档,发现问题出现在业务上要求保持会话,但是Nginx到后端并没有保持会话,那么,Nginx当然就找不到后端可用服务,就会报。
2023-08-28 09:57:10 9227
原创 MyBatis-Plus
(简称 MP)是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。愿景我们的愿景是成为 MyBatis 最好的搭档,就像魂斗罗中的 1P、2P,基友搭配,效率翻倍。Wrapper : 条件构造抽象类,最顶端父类AbstractWrapper : 用于查询条件封装,生成 sql 的 where 条件QueryWrapper : 查询条件封装UpdateWrapper : Update 条件封装。
2023-08-10 22:56:15 873
原创 中间件系列 - RocketMQ
本内容仅用于个人学习笔记,如有侵扰,联系删除【尚硅谷】RocketMQ教程丨深度掌握MQ消息中间件_哔哩哔哩_bilibili,,是一种提供消息队列服务的中间件,也称为消息中间件,是一套提供了消息生产、存储、消费全过程API的软件系统。消息即数据。一般消息的体量不会很大。从网上可以查看到很多的关于MQ用途的叙述,但总结起来其实就以下三点。限流削峰MQ可以将系统的超量请求暂存其中,以便系统后期可以慢慢进行处理,从而避免了请求的丢失或系统被压垮。异步解耦上游系统对下游系统的调用若为同步调用,则会大大降低系统
2023-07-13 16:23:56 3415
原创 SpringBoot项目实战 - API接口限流
该注解主要用于AOP功能的切入,不需要属性@Target({//限流的方法名 double value() default 0d;//发放的许可证数量 }通过来获取令牌,当然也可以通过来设置等待超时时间的方式获取令牌,如果超timeout为0或则调用无参的tryAcquire(),则代表非阻塞,获取不到立即返回,支持阻塞或可超时的令牌消费。/*** 存储限流量和方法必须是static且线程安全/*** 业务层切点try {//获取目标对象 Class
2023-07-08 12:24:07 4403
原创 SpringBoot项目实战 - SpringBoot实现请求参数与响应参数加解密
Target({* @description: 参数加密设置/*** 入参是否解密,默认解密/*** 返回是否加密,默认加密。
2023-03-10 11:00:23 4604
原创 分布式任务调度系列 - XXL-JOB
本内容仅用于个人学习笔记,如有侵扰,联系删除程序为解决一个信息处理任务而预先编制的工作执行方案,这就是定时任务,核心组成如下:日常开发中,定时任务主要分为如下两种使用场景:在启动类上使用注解,表示开启定时任务根据业务需要,在方法上使用注解,属性配置定时规则启动项目就可以看控制台看到定时任务执行效果是一个开源的,具有丰富的任务管理功能以及高性能,高可用等特点的轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展、开箱即用!!!系统组成:总结: 调度中心和执行器两个模块分开部署,
2023-01-06 13:48:09 7243 1
原创 分布式与微服务系列 - SpringBoot + Zookeeper集群 + Dubbo分布式托管(提供者、消费者)+ Nginx反向代理
本内容仅用于个人学习笔记,如有侵扰,联系删除。
2022-12-26 17:32:47 2781 1
原创 分布式与微服务系列 - Dubbo
分布式系统原理与范型》定义:“分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统”分布式系统(distributed system)是建立在网络之上的软件系统。随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。
2022-12-26 15:55:23 565
原创 分布式与微服务系列 - Zookeeper(下篇:源码解析)
本内容仅用于个人学习笔记,如有侵扰,联系删除微服务系列 - Zookeeper上篇Zookeeper 是如何保证数据一致性的?拜占庭将军问题是一个协议问题,拜占庭帝国军队的将军们必须全体一致的决定是否攻击某一支敌军。问题是这些将军在地理上是分隔开来的,并且将军中存在叛徒。叛徒可以任意行动以达到以下目标:欺骗某些将军采取进攻行动;促成一个不是所有将军都同意的决定,如当将军们不希望进攻时促成进攻行动;或者迷惑某些将军,使他们无法做出决定。如果叛徒达到了这些目的之一,则任何攻击行动的结果都是注定要失败的,只有完全
2022-12-22 15:58:57 900 1
原创 分布式与微服务系列 - Zookeeper(上篇:入门到精通)
本内容仅用于个人学习笔记,如有侵扰,联系删除视频教程:【尚硅谷】大数据技术之Zookeeper 3.5.7版本教程是一个开源的分布式的,为分布式应用提供协调服务的Apache项目。数据模型的结构与Unix文件系统很类似,整体上可以看作是一棵树,每个节点称做一个。每一个默认能够存储1MB的数据,每个都可以通过其路径唯一标识。提供的服务包括:统一命名服务、统一配置管理、统一集群管理、服务器节点动态上下线、软负载均衡等。统一命名服务统一配置管理统一集群管理服务器动态上下线软负载均衡2)、解压JD
2022-12-22 15:58:16 1229
原创 分布式任务调度系列 - PowerJob
任务(Job)被调度执行后会生成任务实例(Instance),任务实例记录了任务的运行时信息(任务与任务实例的关系类似于类与对象的关系)。调度服务器与示例工程都启动完毕后,再次前往Web页面( http://127.0.0.1:7700/ ),进行任务的配置与运行。:Powerjob的CRON模式下,时间轮是15秒扫描一次,这时间间隔不能小于15秒。若低于15秒会按15秒运行。:由 DAG(有向无环图)描述的一组任务(Job),用于任务编排。:我设置的是CRON,每5秒执行,但它实际15秒执行一次。
2022-12-21 11:08:51 8133
原创 Spring源码深度解析:二十一、事务实现⑤ - 事务的提交
如果事务被设置了回滚标识,则不会提交,直接回滚如果事务中有保存点信息则不会提交事务操作。如果事务非新事务的时候也不会去执行提交事务操作。
2022-12-13 15:51:43 845
原创 Spring源码深度解析:二十、事务实现④ - 事务的回滚
我们下面来看看回滚的具体操作即即 中的方法// 执行回滚 processRollback(defStatus , false);} . . . . // 省略了日志打印 private void processRollback(DefaultTransactionStatus status , boolean unexpected) {try {try {
2022-12-13 15:35:52 806
原创 Spring源码深度解析:十九、事务实现③ - 事务的创建
的功能是根据需要创建事务。这里面考虑到嵌套事务的情况,并对事务的传播属性进行了相应的处理,最终处理后。返回的是一个的值,里面封装了事务的各种信息,供给后面的回滚或者提交使用。以上:内容部分参考《Spring源码深度解析》如有侵扰,联系删除。内容仅用于自我记录学习使用。如有错误,欢迎指正。
2022-12-13 15:11:24 408
原创 Spring源码深度解析:十八、事务实现② - ProxyTransactionManagementConfiguration
方法的实现在其父类中实现的// 获取事务属性,如果 public TransactionAttribute getTransactionAttribute(Method method , @Nullable Class
2022-12-13 14:10:16 872
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人