自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

勤于笔记,成于点滴。

JAVA程序猿一枚,擅长分布式微服务、高并发、多线程等常规架构。记录成为架构师之路的点滴,分享工作中的各种疑难杂症。

  • 博客(136)
  • 资源 (7)
  • 收藏
  • 关注

原创 【实战】SpringBoot整合Websocket、Redis实现Websocket集群负载均衡

因为有websocket的存在,使得前后的主动交互变得容易和低成本。其实在JAVA领域用SpringBoot框架集成Websoket还是很简单的,今天我们重点不是集成而是通过Redis的发布订阅实现Websocket集群通信,当然有条件的也可以用MQ代替。

2024-05-18 12:46:14 733 4

原创 【实战】采用jenkins pipeline实现自动构建并部署至k8s

在前面的kubernetes系列博文中我们分享了从创建kubernetes集群到各种中间件的安装,以及从springboot项目的容器化部署到kubernetes外网映射,基本上包含了从0到1的K8S基础实战的整个过程。今天我们再分享一期采用jenkins pipeline实现自动构建并部署至k8s的实战演示,各位大大敬请鉴赏。本文中采用jenkins pipeline执行整个jenkins的构建过程,在pipeline中使用docker执行maven构建。构建后通过dockerfile将jar包构建为

2024-05-08 15:23:05 843 7

原创 Spring Boot框架强大的事件驱动模型(ApplicationEvent)

SpringBoot框架提供了强大的事件驱动模型(ApplicationEvent),允许应用程序组件之间通过发布和监听事件来进行松耦合的通信。在实际的生产场景中,我们可以使用事件进行缓存、邮件、日志解耦,从而提高系统性能。

2024-04-25 17:29:56 836 5

原创 Java编程JDK动态代理概述与实战演示

Java JDK动态代理实例,展示了如何利用JDK提供的动态代理机制为已有接口实现添加额外行为(如日志记录、权限检查、缓存等)。在这个例子中,LogInvocationHandler添加了方法调用的前后日志记录功能。当通过代理对象调用add()方法时,实际上会触发invoke()方法,在执行目标方法之前打印方法调用信息,执行之后记录方法执行耗时。

2024-04-19 16:12:24 697 2

原创 微信公众号第三方平台-公众号扫码授权接入代运营

根据公众号第三方平台开发流程可开发出一套可管理公众号/小程序的服务,服务可以直接部署在微信生态作为服务商。只要公众号/小程序理员用个人微信扫码进行授权,我们则可以拿到相关的业务接口权限,从而帮助商家实现代运营。

2024-04-11 18:17:34 1051 5

原创 Java编程使用CGLIB动态代理介绍与实战演示

以上就是一个完整的Java CGLIB动态代理实例。通过这个例子,可以看到我们成功地对ActionUserDataServiceImpl 类进行了代理,代理过程中插入了额外的前后置处理逻辑,而无需修改原有类的代码。在实际使用时,我们应根据项目需求和目标类特性选择合适的代理方案,不仅仅限制于CGLIB,如果有实现接口的类用JDK也可,这样才能达到事半功倍的效果。

2024-04-03 17:08:33 1074 3

原创 【实战】springboot整合swagger及knife4j

一个好的API文档不仅仅能够提供给测试人员编写测试用例,也能够直接给前端使用查阅,可以避免很多在系统集成过程中的问题。这不,最近在整合架构的时候留意到了swagger和knife4j。本身swagger提供的web界面可以很好的调试和查阅,现在加上knife4j的API文档自动生成功能,简直不要太好。那么,今天就分享一期springboot整合swagger及knife4j吧!各位大大敬请鉴赏。

2024-03-28 17:05:22 1197 6

原创 从0到1:Java构建高并发、高可用分布式系统的实战经验分享

在面对复杂的分布式系统构建时,不仅需要掌握扎实的技术栈,更要在实践中不断探索与优化,以满足日益增长的业务需求,同时保持对新技术的关注与学习,从而为团队带来更高效、稳定的系统解决方案。

2024-03-21 17:02:41 577 5

原创 【实战】VMware17虚拟机以及Centos7详细安装教程

很早之前就想分享一期关于虚拟机的博文,苦恼的是一直没有找到机会。这不最近我个人的阿里云服务器到期了,自己又不想续费,主要是太贵了。那么,现在就在本地电脑上安装个VMware17虚拟机吧,然后再安装一个Centos7系统,这不又可以愉快的玩耍了。打开VMware虚拟机,「文件 → 新建虚拟机 → 自定义 → 下一步」。自定义硬件 → 移除 「USB控制器、声卡」(这样可以让虚拟器启动的快一点)。至此,虚拟机中的硬件已经搭建完成。

2024-03-15 15:36:31 3965 1

原创 【实战】K8S集群部署nacos并接入Springcloud项目容器化运维

在k8s中部署nacos还是使用helm比较简单,直接下载安装包修改配置文件安装即可。我们在Springcloud、Springboot项目中集成nacos需要注意需要使用集群内部地址,当我们将项目部署在k8s集群中可以直接使用nacos配置和查询服务集群。

2024-03-07 15:53:12 1388 3

原创 设计并实现一个并发安全的LRU(Least Recently Used,最近最少使用)缓存结构

使用了LinkedHashMap作为基础数据结构,并通过重写removeEldestEntry方法实现了缓存满时自动淘汰最久未使用的元素。同时,为了保证在多线程环境下的线程安全性,我们在get和put方法上加了synchronized关键字或者使用了ReentrantLock来确保同一时间只有一个线程能执行修改缓存的操作

2024-02-26 14:47:25 459 5

原创 【JAVA高级面试题】运用锁机制实现一个自定义的阻塞队列

实现一个自定义的阻塞队列,它应该支持以下功能:添加元素到队列末尾(如果队列已满,则阻塞添加线程直到有空间)从队列头部移除元素(如果队列为空,则阻塞获取元素的线程直到有元素可消费)查询队列是否为空查询队列是否已满要求使用Java的ReentrantLock和Condition类来实现线程间的同步。

2024-02-21 17:19:12 459 4

原创 【实战】阿里智能编码助手通义灵码

阿里智能编码助手通义灵码提供行级/函数级实时续写、自然语言生成代码、单元测试生成、代码注释生成、代码解释、研发智能问答、异常报错排查等能力。在实际的开发过程中对我们代码质量和异常排查也有着良好的支持,可以大大节省编码时间。

2024-02-04 16:35:16 2605 4

原创 【实战】使用Helm在K8S集群安装MySQL主从

K8S对于云原生部署有着至关重要的作用,几乎所有的应用和中间件都可以部署在K8S,让其帮助我们进行管理。一般情况下我们推荐数据库不使用容器化部署,但是在某些场合为了方便管理也可以采用该种方式。今天我们就用在K8S集群部署MySQL,仅当作学习学习,在生产环境谨慎使用。Helm是K8S中包管理工具,包管理器类似于我们在 Ubuntu 中使用的apt、Centos中使用的yum一样,能快速查找、下载和安装软件包, 能够将一组K8S资源打包统一管理, 是查找、共享和使用为Kubernetes构建的软件的最佳方式。

2024-01-31 15:03:55 1774 1

原创 【实战】SpringBoot自定义 starter及使用

Starter是Spring Boot中的一个非常重要的概念,Starter相当于模块,它能将模块所需的依赖整合起来并对模块内的Bean根据环境( 条件)进行自动配置。使用者只需要依赖相应功能的Starter,无需做过多的配置和依赖,Spring Boot就能自动扫描并加载相应的模块。

2024-01-20 17:05:07 1233 2

原创 【实战】K8S部署Redis集群代理Predixy

K8S部署Redis集群代理Predixy还是比较简单,只需要编译Predixy源码并构建镜像然后部署在K8S集群即可。最后的效果也是比较nice,直接可以负载均衡到任意的redis节点,让redis集群管理和K8S外部环境任意访问都轻而易举。

2024-01-17 17:33:19 1033 6

原创 【福利】百度内容审核平台实战

百度内容审核平台主要针对图像、文本、音视频、直播等多媒体内容,提供全方位的审核能力,覆盖涉黄、违禁、广告、恶心不适等丰富的审核维度,为业务健康发展保驾护航。相比于阿里、腾讯的内容审核接口百度的接口可以免费试用365天,而且提供完整的SDK,调用简单快捷。

2024-01-11 17:07:45 1229 7

原创 基于人工智能的数据库工具Chat2DB使用

Chat2DB 是一款有开源免费的多数据库客户端工具,集成了AIGC 生成式人工智能。其主要功能包括自然语言转sql、优化sql、转化sql、解释sql等功能,是一个真正意义上减轻劳动和提高效率的一款大模型数据库客户端工具。

2024-01-03 11:59:25 1833 2

原创 Mysql主从同步原理

Mysql主从同步的原理就是基于binlog进行数据同步的,说直白点就是从库按照一定的规则重新执行主库的binlog。当然在实际的开发中只要我们按照官方命令搭建好了主从集群,基本上就没有太大的问题。

2023-12-28 11:35:25 905 3

原创 Redis数据一致解决方案

在高并发的业务场景下redis与mysql数据库非常容易产生数据不一致的情况,我们可以采用redis缓存延迟双删除策略达到数据的最终一致性,也可以采用一部缓存更新自定义监听mysql binblog和采用canal开源中间件实现缓存的实时一致性方案。总的来说,都是比较简单的,而且都能够达到良好的效果。

2023-12-23 12:06:26 1178 2

原创 【神器】wakatime代码时间追踪工具

wakatime就是一个IDE插件,一个代码时间追踪工具。可自动获取码编码时长和度量指标,以产生很多的coding图形报表。这些指标图形可以为开发者统计coding信息,比如项目coding时长,修改了哪些文件,使用了什么语言等等。

2023-12-19 09:34:11 1382 8

原创 软考架构案例之大数据架构

软考大纲的大数据架构分为Lambda、Kappa两种架构,Lambda架构采用Hadoop、Spark实现批量处理数据,而Kappa架构则是采用Flink流式处理实现实时数据处理。在我们实际的开发实战场景中一般还是偏实时数据处理较多,比如广告平台、证券交易等等。

2023-12-13 15:08:34 1476 8

原创 snakeyaml编辑yaml文件并覆盖注释

snakeyaml编辑yaml文件并覆盖注释还是比较简单,大致就是在操作yaml文件之前对注释进行缓存,操作文件时先将yaml转为map,然后配置数据写入并转换成yaml文件,最后再将注释覆盖在yaml上即可。

2023-12-08 17:43:13 1484 6

原创 解决dom4j新增xml节点自动加上xmlns=““的问题

dom4j操作xml还是比较简单,有很多的api可用,需要注意在进行pom.xml操作需要保证父子的xmlns一致。

2023-12-02 10:55:01 776 5

原创 【实战】K8S Helm部署Redis Cluster & Redisinsight

运用helm部署Redes集群较为简单,相比于普通的文件部署省去了编写文件的过程,可直接使用charts完成部署。

2023-11-25 13:02:42 2155 5

原创 Kubernetes包管理工具Helm简介及使用

Kubernetes包管理工具Helm简介及使用还是比较简单,通过本博文我们可以知道Helm就是一个包管理工具如同centos中yum一样,是查找、分享和使用软件构建 Kubernetes 的最优方式。

2023-11-01 11:31:17 236 5

原创 Mybatis @MapKey注解返回指定Map源码解析与用例

Mybatis框架是Java后端常用的持久层框架,其中的@MapKey注解可以直接返回指定类型的Map。其核心原理就是对数据集合循环处理将指定字段作为key,数据作为value直接返回一个Map让我们直接使用以完成特定的业务功能。

2023-10-27 10:57:34 3845 7

原创 【实战】Kubernetes安装持久化工具NFS-StorageClass

前面的博文我们介绍了如何用kuberadmin的架构概述与简单执行流程,以及部署K8S集群的详细步骤。今天我们继续介绍如何安装持久化工具NFS-StorageClass。

2023-10-24 10:45:04 631 7

原创 小程序canvas层级过高真机遮挡组件的解决办法

使用cover-view组件,cover-view组件是覆盖在原生组件之上的文本视图,虽然有一定的使用限制但是我们的按钮button刚刚好在范围之内。

2023-10-18 10:29:01 2114 7

原创 【实战】kubeadmin安装kubernetes集群

kubeadmin安装kubernetes集群

2023-10-11 11:37:45 323 7

原创 Kubernetes概述架构与工作流程简述

Kubernetes 是一个可移植、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。 Kubernetes 拥有一个庞大且快速增长的生态,其服务、支持和工具的使用范围相当广泛。

2023-10-07 10:52:21 575 6

原创 【分布式云储存】Springboot微服务接入MinIO实现文件服务

Springboot微服务接入MinIO实现文件服务较为简单,我们只要按照官方文档引入依赖调用即可。值得注意的是我们根据需求选择接入ssl兼容方案和静态资源预览功能。当然,minio的private\custom\public可以完全实现我们各种需求,可以完全替代市场上付费和笨重的分布式服务。

2023-09-27 10:41:02 2204 5

原创 【分布式云储存】高性能云存储MinIO简介与Docker部署集群

MinIO 提供高性能、与S3 兼容的对象存储系统,让你自己能够构建自己的私有云储存服务。MinIO原生支持 Kubernetes,它可用于每个独立的公共云、每个 Kubernetes 发行版、私有云和边缘的对象存储套件。MinIO是软件定义的,不需要购买其他任何硬件,在 GNU AGPL v3 下是 100% 开源的。

2023-09-20 10:43:32 1716 16

原创 Java class 文件安全加密工具对比与ClassFinal实战

非常重要的项目推荐使用XJar可以完全隐藏Class文件内容,但是需要额外的go环境支持,也可以保守选择ClassFinal直接无侵入达到隐藏方法体和配置文件内容的目的。

2023-09-13 11:14:05 3153 14

原创 实战:大数据Flink CDC同步Mysql数据到ElasticSearch

CDC 的全称是 Change Data Capture(变更数据捕获技术) ,在广义的概念上,只要是能捕获数据变更的技术,我们都可以称之为 CDC 。目前通常描述的 CDC 技术主要面向数据库的变更,是一种用于捕获数据库中数据变更的技术。

2023-09-06 10:17:11 4092 11

原创 大数据Flink简介与架构剖析并搭建基础运行环境

Apache Flink 是一个框架和分布式处理引擎,用于在无边界和有边界数据流上进行有状态的计算。Flink 能在所有常见集群环境中运行,并能以内存速度和任意规模进行计算。

2023-08-30 10:26:48 1366 7

原创 实战:大数据Spark简介与docker-compose搭建独立集群

Spark是采用分布式数据集RDD对数据进行管理,用内存进行分布式计算,他的性能叫hadoop有显著的提升。对于Spark独立集群的搭建我们用docker容器也是比较的简单,当然,我们也可以集成在springboot开发出适应业务的功能安装需求进行远程提交任务。

2023-08-23 10:46:09 1745 6

原创 【hadoop】windows上hadoop环境的搭建步骤

在大数据开发领域中,不得不说说传统经典的hadoop基础计算框架。一般我们都会将hadoop集群部署在服务器上,但是作为一个资深搬砖人,我们本地环境也需要一个开发hadoop的开发环境。那么,今天就安排一个在windows上搭建一个hadoop环境。

2023-08-16 10:10:24 2853 13

原创 实战:使用Docker部署Hadoop集群

用docker方式部署hadoop集群较普通物理更为简单,且方便管理。本次实战过程用的bridge网络,如果需要远程访问hdfs则是需要用host网络构建容器。

2023-08-10 10:38:54 726 11

原创 实战:Prometheus+Grafana监控Linux服务器及Springboot项目

本篇实战博文主要讲解了用docker-compose编排Prometheus、node-exporter、Grafana实现监控环境搭建,并叙述了Linux系统服务器指标监控,Springboot项目暴露指标接口进行全链路指标数据监控。当然,采用Grafana提供的Linux、Springboot监控仪表盘模板完全可以直接投入生产。

2023-08-02 11:31:33 1555 19

2020.03版本idea ,big data tools 插件

2020.03版本idea ,big data tools 插件

2023-08-08

grafana.ini

grafana配置文件,搭建grafana容器使用

2023-08-01

sentinel-dashboard1.8.0控制台

sentinel-dashboard是一个单独的springboot项目,可以实现与sentinel连接实现轻量级的控制台。 包括功能有: 查看机器列表以及健康情况:收集 Sentinel 客户端发送的心跳包,用于判断服务是否在线。 监控 (单机和集群聚合):通过 Sentinel 客户端暴露的监控 API,定期拉取并且聚合应用监控信息,最终可以实现秒级的实时监控。 规则管理和推送:统一管理推送规则。 鉴权:生产环境中鉴权非常重要。这里每个开发者需要根据自己的实际情况进行定制。

2023-07-11

FastDFSf服务器安装包,包含java客户端包,整合nginx包.rar

FastDFSf服务器安装包FastDFS_v5.08.tar.gz,包含java客户端包fastdfs_client_java_v1.10.tar.gz,整合nginx包fastdfs-nginx-module_v1.16.tar.gz;

2020-07-30

fastdfs.rar

fastdfs服务器安装包下载即用,目前最新版本 FastDFS_v5.08.tar.gz,直接上传到服务器即可进行

2020-07-30

fastdfs-java-client.rar

服务器安装fastdfs并用java操作的客户端jar fastdfs-java-client.rar

2020-07-30

fastdfs-nginx.rar

linux搭建fastdfs整合nginx包-fastdfs-nginx-module_v1.16.tar.gz

2020-07-30

linux 安装 teamviewer qt5-qtwebkit-5.9.1-1.el7.x86_64.rar

linux 安装 teamviewer qt5-qtwebkit-5.9.1-1.el7.x86_64.rar

2020-04-30

2019版本财务科目级联sql.rar

财务科目级联数据,包含上下级关系,科目名称及编码等。包含国标财务科目,主要是sql 文件直接可以导入数据库。

2020-04-02

解压引入,亲测有效,内附操作说明.rar

Java mybatis工具,free-idea-mybatis 直接实现xml mapper跳转,操作简单,便于开发

2020-02-04

空空如也

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

TA关注的人

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