- 博客(268)
- 资源 (6)
- 收藏
- 关注
原创 (四十一)大数据实战——spark的yarn模式生产环境部署
Spark 是一个开源的分布式计算系统。它提供了高效的数据处理能力,支持复杂的数据分析和处理任务,是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。Spark Core:实现了Spark的基本功能,包含任务调度、内存管理、错误恢复、与存储系统交互等模块。Spark Core中还包含了对弹性分布式数据集(Resilient Distributed DataSet,简称RDD)的API定义。Spark SQL:是Spark用来操作结构化数据的程序包。
2024-08-01 19:34:14 991
原创 (四)延时任务篇——redisson实现延迟任务实战
上一节内容中介绍了如何使用redis的zset结构实现延迟任务的实战内容,从使用角度来说还是略显繁琐,而且定时任务的方式扫描redis获取过去的任务也会存在任务空转的问题。在此基础上,我们可以使用redisson的阻塞队列,完成延迟任务的实战场景。
2024-07-31 19:43:27 416
原创 (三)延时任务篇——通过redis的zset数据结构,实现延迟任务实战
在前一篇内容中我们介绍了如何使用redis key过期失效的监控,完成任务延时关闭的功能,同时官方并不支持使用此种方式实现,由于其安全性较低,存在数据丢失的情况。本节内容是对延迟任务的又一实现方案,通过redis zset的数据结构完成延迟任务。使用一个常量order作为key,订单id作为value值,任务的过期时间作为score值,通过定时任务取前100名的数据,比较score值和当前时间的大小,如果该值小于当前时间,则证明该订单已过期,完成关单的操作,并将该订单数据在redis中删除。
2024-07-30 20:20:50 517
原创 (二)延时任务篇——通过redis的key监听,实现延迟任务实战
本节内容是关于使用redis的过期key,通过开启其监听失效策略,模拟订单延迟任务的执行流程。其核心原理是通过使用redis订阅与发布的方式,将过期失效的key通过广播的方式,发布给客户端,客户端可以监听此消息进而消费消息。需要注意的是官方并不推荐此方式,因为其容易造成数据丢失,例如没有客户端消费消息,消息也会丢失。对于一些安全性要求比较低的场景,可以使用此方式实现延迟队列。
2024-07-29 19:38:14 624
原创 (一)延时任务篇——延时任务的几种实现方式概述
延时任务是我们在项目开发中经常遇到的场景,例如订单超时30分钟自动取消,邮件5分钟后通知等等,对于这样的应用场景,我们又该如何应对呢,尤其是在微服务环境下,如何保证我们的延迟任务并发问题以及数据安全等等问题。本节内容作者会根据以往的项目开发经验,介绍几种延时任务的实现方案。
2024-07-24 19:45:54 475
原创 (二)高并发压力测试调优篇——caffeine本地缓存调优
在上一节内容中我们主要介绍了高并发请求下,mysql数据库的调优,其调优的主要原理是尽量减少数据库的IO操作,从而提高服务器的访问性能。在此基础上,本节内容是关于如何利用缓存,提高系统的并发访问能力。我们会首先在项目中集成caffeine本地缓存组件,通过jemeter压测工具验证本地缓存对高并发的影响。
2024-07-16 19:19:35 457
原创 (一)高并发压力测试调优篇——MYSQL数据库的调优
在实际项目开发中,很多业务场景下都需要考虑接口的性能要求,追求高并发、高吞吐量。那么对于此类问题如何入手呢?关注作者,不迷路。本节内容主要介绍在数据库db方面的优化,以mysql数据库为例。
2024-07-12 13:27:28 2158
原创 (三)JVM实战——对象的内存布局与执行引擎详解
new的方式- Class的newInstance():反射的方式- Construct的newInstance()- clone:实现Cloneable接口,默认浅拷贝- 使用反序列化:将二进制流转化为内存对象- 判断对象对应的类是否加载、链接、初始化- 为对象分配内存:指针碰撞与空闲列表- 处理并发安全问题(TLAB)- 初始化分配到的空间- 设置对象的对象头- 执行init方法进行初始化。
2024-05-05 18:00:19 554 1
原创 (二十一)springboot实战——Spring AI劲爆来袭
Spring AI 是一个面向人工智能工程的应用框架。其目标是将 Spring 生态系统的设计原则,如可移植性和模块化设计,应用到人工智能领域,并推广使用普通的Java对象(POJOs)作为构建应用程序的基础。
2024-05-05 15:21:14 2834 4
原创 (一)kafka实战——kafka源码编译启动
本节内容是关于kafka消息中间键的源码编译,并通过idea工具实现kafka服务器的启动,使用的kafka源码版本是3.6.1,由于kafka源码是通过gradle编译的,以及服务器是通过scala语言实现,我们要预先安装好gradle编译工具和scala环境,同时需要安装scala依赖的java环境jdk17。
2024-03-30 09:59:13 2164 3
原创 (二)RabbitMQ实战——rabbitmq高可用集群搭建
本节内容是关于rabbitmq高可用集群的部署搭建,使用的是centos7系统,我们准备三台服务器作为rabbitmq的高可用服务器,rabbitmq集群本身不是天然支持高可用的,我们通过配置rabbitmq服务器的镜像队列,以确保消息可以在集群中的多个节点上进行复制存储,提高可用性和容错性,避免单节点故障。
2024-03-22 20:04:34 2020
原创 (一)RabbitMQ实战——rabbitmq的核心组件及其工作原理介绍
RabbitMQ是一个开源的消息代理软件,它实现了高级消息队列协议(AMQP)标准,提供可靠的消息传递机制。RabbitMQ可以用于在应用程序之间传递消息,实现不同应用系统之间的解耦和通信。它支持多种编程语言,并提供了丰富的功能和插件,使得开发者能够更轻松地构建分布式系统。RabbitMQ支持多种开放标准协议,包括AMQP 1.0和MQTT 5。
2024-03-13 08:18:34 1270 2
原创 (二十二)从零开始搭建k8s集群——高可用kubernates集群搭建上篇
本节内容分为上、中、下三篇,上篇主要是关于搭建k8s的基础环境,包括服务器基本环境的配置(网络、端口、主机名、防火墙、交换分区、文件句柄数等)、docker环境部署安装配置、镜像源配置等。中篇会介绍k8s的核心组件安装、k8s的集群部署搭建以及k8s的web端管理工具dashborad安装。下篇会介绍keepalived与haproxy的安装及配置,实现k8s的高可用。本次使用的k8s版本为:v1.29.1,dashboard版本为:v2.7.0,都为最新稳定版本。
2024-03-07 14:18:50 1262
原创 (二十一)从零开始搭建k8s集群——kubernates核心组件及功能介绍
Kubernetes是一个可移植、可扩展、开源的平台,用于管理容器化的工作负载和服务,它促进了声明性配置和自动化。Kubernetes容器可以持续开发、集成和部署:可靠且频繁地构建和部署容器镜像,快速有效地回滚;开发与运维分离:在构建/发布时创建应用程序容器镜像,而不是在部署时,从而解耦应用程序与基础设施;观测性:不仅提供操作系统级别的信息和指标,还提供应用程序的健康状态和其他信号;可在不同的云平台和操作系统发行版上移植:支持在Ubuntu、RHEL、CoreOS、本地环境、主要公共云以及其他任何地方运行;
2024-03-05 15:30:28 1263
原创 (十)SpringCloud系列——openfeign的高级特性实战内容介绍
本节内容主要介绍一下SpringCloud组件中微服务调用组件openfeign的一些高级特性的用法以及一些常用的开发配置,如openfeign的超时控制配置、openfeign的重试机制配置、openfeign集成高级的http客户端、openfeign的请求与响应压缩功能,以及如何开启openfeign的日志查看功能,便于我们更好的定位问题等。
2024-03-03 10:05:30 703
原创 (二十二)devops持续集成开发——jenkins服务代理Agent搭建
在Jenkins 中,代理(Agent)是一种用于执行构建、部署和其他任务的计算节点。代理节点可以是物理机器、虚拟机或容器,它们负责接收 Jenkins 主控节点委派的任务并执行这些任务。通过使用代理节点,可以有效地分担Jenkins主控节点的负荷,实现并行执行任务以及灵活利用不同类型计算资源的能力。在Jenkins Pipeline中,agent指令用于指定任务在哪个代理节点上执行。根据任务需求和环境配置,可以选择不同类型的代理节点来执行任务,例如使用特定标签的代理节点、Docker 容器作为代理节点等。
2024-03-01 18:47:38 1964
原创 (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
本节内容会介绍如何使用Docker Pipeline插件实现docker项目的pipeline流水线项目的可持续化集成发布,在开始本节内容之前,我们要先搭建好docker环境,以及镜像本地存储仓库docker harbor,关于docker和docker harbor的安装,可查看作者往期博客内容。
2024-03-01 15:28:39 995
原创 (二十)devops持续集成开发——使用jenkins的docker插件完成docker项目的流水线发布
本节内容主要介绍jenkins如何集成docker插件,完成docker项目的流水线发布,在前面的章节中我们也介绍过docker项目的发布,可直接通过shell命令调用本地的docker服务完成docker项目的发布,本节内容我们使用docker插件来完成docker项目的发布,使用起来更加灵活,而且可以配置远程的docker服务器,使用起来也更为方便。
2024-02-27 16:28:58 1601
原创 (十九)devops持续集成开发——jenkins的一些常用插件和工具的安装
本节内容会着重介绍jenkins持续集成开发工具的一些常用插件安装以及全局工具的配置安装,并说明其主要作用。在开始插件和工具安装之前,我们要保证可以正常访问网络,并且使用国内的插件更新地址,便于插件的正常安装。官方的地址可能会导致安装失败。
2024-02-26 17:17:15 1753
原创 (十八)devops持续集成开发——使用docker安装部署jenkins服务
本节内容介绍如何使用docker容器来部署安装jenkins流水线服务。关于docker容器的安装本节内容不做介绍。请读者提前安装。
2024-02-23 16:34:13 763
原创 (十七)devops持续集成开发——使用jenkins流水线pipeline方式发布一个微服务项目
本节内容是一套关于微服务项目在docker环境中使用jenkins流水线部署的完整方案,在开始本节内容之前,我们需要提前安装好docker环境,以及docker本地镜像仓库docker harbor,同时安装好SonarQube用于代码验证,具体的安装步骤可参考作者的往期博客内容。
2024-02-22 16:35:12 1411
原创 (十六)devops持续集成开发——jenkins流水线构建之邮件通知
本节内容主要介绍jenkins在流水线任务构建完成后的通知操作,使用jenkins的邮件通知插件完成构建任务结束的通知。一般项目发布都会通知相关的责任人,这样项目发布在出现问题时能够及时的处理。
2024-02-20 19:35:18 1020
原创 (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
本节内容我们主要介绍在Jenkins流水线中,其构建过程中的一些构建策略的配置,例如通过远程http构建、定时任务构建、轮询SCM构建、参数化构建、Git hook钩子触发构建等,可根据不同的需求完成不同构建策略的配置。
2024-02-20 15:03:17 1757
原创 (十四)devops持续集成开发——jenkins流水线使用pipeline方式发布项目
本节内容我们使用另外一种方式pipeline实现项目的流水线部署发布,Jenkins Pipeline是一种允许以代码方式定义持续集成和持续交付流水线的工具。通过Jenkins Pipeline,可以将整个项目的构建、测试和部署过程以脚本的形式写入Jenkinsfile中,实现对整个流程的可视化管理和控制。在 Jenkins Pipeline中,可以定义不同的阶段(stage)、步骤(step)、参数(parameters)、环境变量(environment variables)等
2024-02-19 17:34:53 1215
原创 (二十)springboot实战——springboot使用redis的订阅发布机制结合SSE实现站内信的功能
在前面的章节内容中,我们介绍了如何使用springboot项目实现基于redis订阅发布机制实现消息的收发,同时也介绍了基于SSE机制的单通道消息推送案例,本节内容结合redis和sse实现一个常用的实战案例——站内信。实现系统消息的实时推送。
2024-02-19 09:43:01 1055
原创 (十九)springboot实战——springboot集成redis实现消息的订阅与发布
本节内容主要介绍springboot项目通过集成redis,如何利用redis的订阅发布机制,完成系统消息的发布与订阅功能。Redis中的发布与订阅是一种消息通信模式,允许发送者(发布者)将消息发送给多个接收者(订阅者)。在 Redis中,发布与订阅通过PUBLISH和SUBSCRIBE命令实现。频道(Channel):频道是消息的通道,用于区分不同类型或主题的消息。订阅者可以选择订阅感兴趣的频道,以接收相应的消息。
2024-02-18 15:46:51 2008
原创 (四十)大数据实战——Zabbix监控平台的部署搭建
Zabbix是一款能够监控各种网络参数以及服务器健康性和完整性的软件。Zabbix使用灵活的通知机制,允许用户为几乎任何事件配置基于邮件的告警,这样可以快速反馈服务器的问题。基于已存储的数据,Zabbix提供了出色的报告和数据可视化功能。Zabbix 支持轮询和被动捕获。基于Web的前端页面确保您的网络状态和服务器健康状况可以从任何地方进行评估。在经过适当的配置后,Zabbix可以在监控IT基础设施方面发挥重要作用。
2024-02-15 17:49:25 1755
原创 (三十九)大数据实战——Prometheus监控平台的部署搭建
Prometheus监控(Prometheus Monitoring)是一种开源的系统监控和警报工具。它最初由SoundCloud开发并于2012年发布,并在2016年加入了云原生计算基金会(CNCF)。Prometheus监控旨在收集、存储和查询各种指标数据,以帮助用户监视其应用程序和系统的性能和运行状态。
2024-02-15 15:44:06 5352
原创 (三十八)大数据实战——Atlas元数据管理平台的部署安装
Apache Atlas 是一个开源的数据治理和元数据管理平台,旨在帮助组织有效管理和利用其数据资产。为组织提供开放式元数据管理和治理功能 ,用以构建其数据资产目录,对这些资产进行分类和管理,形成数据字典 。并为数据分析师和数据治理团队提供围绕这些数据资产的协作功能。
2024-02-14 18:16:26 3098 1
原创 (三十七)大数据实战——Solr服务的部署安装
Solr是一个基于Apache Lucene的开源搜索平台,它提供了强大的全文搜索、分布式搜索和数据分析功能。Solr 可以用于构建高性能的搜索应用程序,支持从海量数据中快速检索和分析信息。Solr 使用倒排索引和先进的搜索算法,可实现快速而准确的全文搜索。Solr可以在多个服务器上进行水平扩展,实现分布式搜索和负载均衡。Solr支持复杂的过滤、排序和范围查询,使您可以根据各种条件对搜索结果进行精确控制。Solr 提供了强大的聚合和统计功能,用于在搜索结果上执行数据分析和汇总操作。
2024-02-14 15:13:33 2464
原创 (三十六)大数据实战——ClickHouse数据库的部署安装实现
ClickHouse是俄罗斯的Yandex于2016年开源的列式存储数据库 DBMS ),使用C语言编写,主要用于在线分析处理查询( OLAP ),能够使用SQL查询实时生成分析数据报告。列式存储:数据按列进行存储,这使得 ClickHouse 能够高效地处理聚合查询和分析操作;高性能:ClickHouse 被设计用于快速查询和分析大规模数据,因此具有出色的性能。分布式架构:支持分布式部署,可以轻松地扩展到多个节点,以处理大量数据和并行查询。
2024-02-13 18:21:02 1996
原创 (三十五)大数据实战——Superset可视化平台搭建
本节内容是关于Apache Superset可视化平台的搭建,Apache Superset是一个现代的数据探索和可视化平台 。它功能强大且十分易用,可对接各种数据源,包括很多现代的大数据分析引擎,拥有丰富的图表展示形式,并且支持自定义仪表盘。
2024-02-12 16:25:09 2360
原创 (十八)springboot实战——spring securtity注解方式的授权流程源码解析
在上一节内容中,我们介绍了如何在FilterSecurityInterceptor过滤器中处理用户的授权流程,并分析了其源码,spring security还提供了方法级别的授权方式,通过@EnableMethodSecurity注解启用权限认证流程,只需要在方法名上使用@PreAuthorize、@PostAuthorize、@Secured等注解就可以实现具体方法请求的权限配置,是一种更加灵活的配置方式,其底层使用aop切面实现。
2024-02-08 17:27:45 578
原创 (十七)springboot实战——spring securtity的授权流程源码解析
本节内容是关于spring security安全框架授权流程的源码分析,spring security的授权流程主要是在FilterSecurityInterceptor过滤器中实现的。我们会通过源码层级的分析,了解清楚spring security的底层是如何实现用户授权的。
2024-02-08 16:04:37 468
原创 (十六)springboot实战——spring securtity的认证流程源码解析
本节内容是关于spring security安全框架认证流程的源码分析,spring security的认证流程主要是在UsernamePasswordAuthenticationFilter过滤器中实现的。我们会通过源码层级的分析,了解清楚spring security的底层是如何实现用户的认证的。
2024-02-08 11:42:00 1117
原创 (十五)springboot实战——spring securtity的核心过滤器介绍
本节内容主要介绍spring securtity安全框架的一些核心过滤器及其作用,我们都清楚spring securtity安全框架底层是基于filter过滤器实现的,采用的是责任链的设计模式,它有一条很长的过滤器链。本次spring securtity原理介绍使用的版本是5.6.8,不同版本之间可能略有差异。
2024-02-07 17:32:03 941
dashboard.yaml
2020-04-23
spring与cxf集成配置小实例
2015-10-14
开发SSH2的完整jar包
2015-07-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人