微服务
文章平均质量分 89
spring cloud
spring cloud alibaba
wu@55555
Elastic认证工程师、CSDN后端领域博客专家、阿里云专家博主、华为云·云享专家博主、51CTO专家博主、掘金社区认证优秀作者
——致力于家乡互联网技术建设
展开
-
Linux:安装minio并设置开机自启
最近在处理测试服务器的minio安装,发现之前并没有单独记录minio安装的详细过程,特此记录,供大家后续参考。原创 2024-02-22 09:53:54 · 2545 阅读 · 6 评论 -
springcloud:对象存储组件MinIO(十六)
MinIO是一个使用go语言开发的,开源的对象存储组件,能够提供高性能、高可用的数据存储能力,支持分布式部署,提供数据加密、访问控制、版本控制、生命周期管理和事件通知等功能。它还支持高级特性,如分片上传和分片下载,以提高大文件的处理效率。Object Browser: 对象管理页面,minio中所有的桶和桶中的文件都可以在这个页面查看,这里的桶 bucket,大家可以简单的理解为文件夹- Buckets: 桶管理页面,用于管理桶相关的配置,比如桶的访问权限、桶的生命周期(桶中文件保留几天)原创 2023-08-05 23:26:00 · 799 阅读 · 0 评论 -
mac pro m1:搭建zookeeper集群并设置开机自启
之前我们讲解过,但在实际生产中,为了保证服务高可用,通常我们是采用集群模式。所以本次我们来实操集群模式的搭建。原创 2023-07-02 17:52:50 · 1705 阅读 · 0 评论 -
springcloud:新一代分布式定时任务框架——PowerJob
PowerJob是基于java开发的企业级的分布式任务调度平台,与xxl-job一样,基于web页面实现任务调度配置与记录,使用简单,上手快速,因此迅速得到用户的欢迎。相对于其他定时任务框架具有无锁化设计,更强悍的性能支撑,我们通过官网的产品对比可以了解详情。定时任务类型与传统的定时任务框架对比,powerJob支持更多的定时任务类型:API: 通过客户端提供的api接口触发,服务端不会主动调度,适用于与业务服务上下连接或只调度一次的业务场景。原创 2023-05-03 22:17:33 · 7656 阅读 · 0 评论 -
springboot:缓存不止redis,学会使用本地缓存ehcache
ehcache是基于java开发的本地缓存组件,无需单独安装部署,只要引入jar包就可利用它来实现缓存。所谓本地缓存,就是指存储在JVM堆内存中的临时缓存数据,当然ehcache本身也支持Off-Heap Store机制来使用堆外内存,本地缓存相较于redis性能和响应速度更高。Ehcache的本地缓存还支持过期时间、最大容量、持久化等特性,使得它可以适用于各种不同的缓存场景。原创 2023-04-22 02:04:49 · 5752 阅读 · 1 评论 -
flyway:数据库移植框架,再也不用担心历史版本表结构管理问题
flyway是一款基于java开发的,数据库移植组件,支持所有的JDBC数据库flyway会在项目启动时,扫描指定路径下的所有sql脚本,同时会维护一张记录表,将扫描的sql脚本与中的记录对比,如果记录与指定路径下的sql脚本不一致(修改了历史的sql脚本),则会进行报错;如果比对一致,则会执行记录中没有的sql脚本。综上,使用flyway来做多版本的数据库结构管理,是比较方便和快捷的,去尝试下吧。原创 2023-04-10 00:00:00 · 803 阅读 · 0 评论 -
springcloud:xxl-job的任务触发机制及调度过期策略
我们都会用xxl-job,但很少有人能够说清楚xxl-job的任务触发机制,面临任务阻塞、服务重启如何处理任务,本期我们就来一起看看xxl-job的任务触发机制。原创 2023-04-05 22:59:15 · 4311 阅读 · 0 评论 -
springcloud:快速上手定时任务框架xxl-job(十五)
xxl-job是分布式的任务调度平台,以作者名字命名,以其轻量、可视、易上手迅速在微服务框架下站稳脚跟。xxl-job分为服务端和客户端,客户端也就是我们的定时任务方法实现,也称为执行器,而服务端用来管理定时任务配置以及记录执行情况,也称为调度器至此,咱们针对定时任务框架xxl-job的讲解就结束了,自己搭建起来试下吧。原创 2023-04-01 23:59:41 · 3403 阅读 · 0 评论 -
springcloud:3种办法解决feign调用参数为实体类的GET接口
最近在讲解关于feign的组间调用,遇到了调用参数为实体类的GET请求报错或者参数获取为空问题,于是统一记录解决办法,方便大家后续参考原创 2023-03-09 00:07:54 · 3907 阅读 · 0 评论 -
springboot:接手老项目,领导让更新数据库说明文档,如何3分钟完成任务
screw是用来生成数据库表结构说明文档的组件,通过引用jar包,通过简单的配置就可以自动生成文档,相当于数据库中的swagger,支持html, word, md三种格式的文档如上所示,我们的数据库说明文档就做完了,当然我在实际项目中的数据库比上述演示的要大的多,但数据库越大,我们省的时间就越多。原创 2023-01-11 00:14:15 · 3849 阅读 · 6 评论 -
springboot:用kkFileView轻松实现文档在线预览功能【附带源码】
kkFileView本身基于openOffice实现,是一款国产的开源文档在线预览组件。支持的预览文件格式如下:支持word excel ppt,pdf等办公文档支持txt,java,php,py,md,js,css等所有纯文本支持zip,rar,jar,tar,gzip等压缩包支持jpg,jpeg,png,gif等图片预览(翻转,缩放,镜像)支持mp3,mp4,flv等多媒体文件预览本身通过rest接口提供预览服务,即组件部署后,通过将文档url作为入参,以rest接口形式来预览文档。原创 2023-01-04 23:19:14 · 3480 阅读 · 0 评论 -
GIT:如何删除仓库中的.idea .DS_Store target文件/文件夹并设置下次不上传
我们常常会有在git仓库初始化时,忘记设置.gitignore文件导致一些非工程文件上传到仓库中了,导致整个仓库的不美观,甚至影响其他开发同事配置代码。这时候我们就需要删除这些指定文件,那么如何操作呢,这一章我们就来讲解这个问题。原创 2022-12-23 19:10:52 · 2335 阅读 · 0 评论 -
redis:基于springboot与jedis实现客户端操作
如上,我们关于redis客户端jedis的操作演示就结束了,更多关于jedis接口的使用需要我们自己去摸索,将其封装为工具类,下一期,我们继续讲解其他redis客户端。原创 2022-12-23 01:50:16 · 954 阅读 · 0 评论 -
dubbo:从零理解及搭建dubbo微服务框架(一)【附带源码】
首先大家要了解到底什么是dubbo,他是一个组件,还是一门语言?实际上dubbo一个服务框架,一开始是用java编写,后续产生了go语言版本。因为dubbo本身自带了RPC调用功能,也就是组间调用。所以也称dubbo为RPC服务框架dubbo官方文档Apache Dubbo 是一款 RPC 服务开发框架,用于解决微服务架构下的服务治理与通信问题,官方提供了 Java、Golang 等多语言 SDK 实现。原创 2022-11-19 22:04:38 · 7109 阅读 · 9 评论 -
dubbo:两种方式安装dubbo-admin、zookeeper
我们在搭建dubbo框架时,需要安装一个dubbo-admin来管理服务已经配置文件,今天我们来看看如何通过docker快速搭建一个dobbo-admin。原创 2022-11-18 00:45:19 · 4062 阅读 · 5 评论 -
mysql进阶:通过canal-admin来管理canal集群
canal-admin的设计初衷就是为了canal提供整体的配置管理、节点运维等功能。针对多节点的情况,不需要相同的配置每个节点都要操作一遍。为运维人员节约时间。集群:也就是一组canal服务端deployer,也称为Server,同一集群的Server的配置文件可以在admin中统一集中管理。也就是说admin是面向多集群的管理。原创 2022-10-07 09:21:29 · 1691 阅读 · 0 评论 -
mysql进阶:canal搭建主从|集群架构
deployer节点同时只会运行一个,而adapter节点是采用服务分发的机制,多节点同时服务,由zk分发请求到具体的adapter节点上执行数据同步任务下期,我们接着讲讲如何结合canal-admin来管理集群节点。原创 2022-10-06 19:07:30 · 3257 阅读 · 0 评论 -
springboot:生成excel并且通过邮件发送
excel的生成以及邮件的发送,都应该尽可能的提取为工具类,如果实现的功能更多的更需要提取的单独的服务,通过pom依赖引入,更大化的实现方法的通用,和业务代码与通用代码之间的解耦。还是那句话,看十遍,不如动手操作一遍。原创 2022-10-06 11:25:27 · 3614 阅读 · 6 评论 -
springboot:java实现邮件及附件发送、HTML正文的三种方式(三)【附带源码】
从代码可以看出spring-boot-starter-mail与javax.mail的实现类似,都是通过类实现的至此我们已经讲解完三种实现邮件发送的方法了,实际上邮件发送功能实现非常简单,毕竟我们只是在前人做好的组件上开发,已经站在了巨人的肩膀上。之前演示的代码大家也可以直接应用到生产中,但一定不要盲目的复制粘贴,理解,自己一行一行的复写一遍代码,这是千万不能省的!原创 2022-10-06 00:05:04 · 2823 阅读 · 0 评论 -
springboot:java实现邮件及附件发送、HTML正文的三种方式(二)【附带源码】
邮件发送是我们日常开发中比较常见的功能,常用于预警信息提醒、统计数据定期发送等需求。一般该方法会由前人封装好,实际开发时只需要调用即可,但具体怎么实现的,如何从零实现邮件发送,这是我们要掌握的。上一次我们讲解了基于javax.mail实现邮件发送,今天我们接着讲解基于commons.mail的实现方式。原创 2022-10-05 11:57:13 · 6260 阅读 · 0 评论 -
springboot:java实现邮件及附件发送、HTML正文的三种方式(一)【附带源码】
邮件发送是我们日常开发中比较常见的功能,常用于预警信息提醒、统计数据定期发送等需求。一般该方法会由前人封装好,实际开发时只需要调用即可,但具体怎么实现的,如何从零实现邮件发送,这是我们要掌握的。所以今天我们就整理一下javax.mail实现邮件发送原创 2022-10-04 12:01:43 · 4606 阅读 · 0 评论 -
Elastic实战:canal自定义客户端,实现mysql多表同步到es
anal是阿里开源的数据同步工具,基于bin log可以将数据库同步到其他各类数据库中,目标数据库支持mysql,postgresql,oracle,redis,MQ,ES等canal分成服务端deployer和客户端adapter,我们可以部署多个,同时为了方便管理还提供了一个管理端admin,同时我们还可以自定义客户端,我们讲自定义的客户端称为clientcanal的数据同步流程如下图所示1、新建一个springboot项目,我们结合之前讲解的。原创 2022-10-02 00:11:29 · 4562 阅读 · 2 评论 -
mysql进阶:canal实现mysql数据同步到redis|实现自定义canal客户端
canal是阿里开源的数据同步工具,基于bin log可以将数据库同步到其他各类数据库中,目标数据库支持mysql,postgresql,oracle,redis,MQ,ES等canal分成服务端deployer和客户端adapter,我们可以部署多个,同时为了方便管理还提供了一个管理端admincanal的数据同步流程如下图所示因为目前canal还不能直接通过配置就实现对redis的数据同步,因此我们需要自定义一下canal客户端,通过服务端将数据同步到客户端后,由客户端自定义操作同步到redis。原创 2022-09-25 15:40:21 · 2971 阅读 · 1 评论 -
mysql进阶:canal实现跨机房数据同步|主从数据同步
canal是阿里开源的数据同步工具,基于bin log可以将数据库同步到其他各类数据库中,目标数据库支持mysql,postgresql,oracle,redis,MQ,ES等自此我们针对数据以及数据结构的同步都配置成功了,并且本次演示中使用的目标数据库部署在百度服务器上,源数据库部署在本地虚拟机中,两者异地,演示了异地机房同步。大家需要注意的是,配置镜像模式同步时,一定要确保初始的数据库结构是一致的,否则也无法达到“镜像”的效果。原创 2022-09-25 02:42:52 · 3922 阅读 · 5 评论 -
mysql进阶:数据库审计软件yearning搭建指南
yearning提供的核心功能就是sql查询和审计。我们可以通过yearning来创建用户,设置权限,规定哪些用户可以查询哪个库,哪些用户可以修改哪个库,查询、修改操作需要经过那些人的审批后才能执行,执行完成的SQL修改语句可以进行回退,可以监控追溯到哪些人执行了哪些SQL。以此我们可以搭建一个监控SQL执行的审计平台,也方便的实现数据库权限的分层管理。下面我们详细来看看yearning的搭建和使用。本期针对数据库审计软件的讲解就到此结束了,多看、多练,亲自实践!原创 2022-09-17 12:24:17 · 2881 阅读 · 0 评论 -
企业级GIT分支管控方案
GIT如今被广泛应用于企业开发项目托管,随着我们项目规模的扩大, 开发人员的数量也逐渐扩增,呈现出不同的开发等级,而不同的等级,也需要不同的权限管控。所以今天,我们来聊一聊,企业git的管控首先我们需要明确项目开发中需要涉及的权限等级:企业内部开发中,我们一般分成以下几种分支:根据以上描述,企业开发时,实际上长期存在的分支只有master和dev分支,其他分支都是多个且临时的以下操作基于gitee演示,其他git服务端类似,大家可自行摸索1、点击,进入分支管理页面2、点击3、选择基于哪个分支创建,输入分支名原创 2022-08-07 11:50:54 · 3404 阅读 · 0 评论 -
spring cloud tencent:基于polaris手把手搭建腾讯微服务框架(附带源码)(二)
模块名描述gateway网关模块订单模块其中我们用订单模块模拟我们的业务服务,如果你自己需要多个微服务按照订单模块创建即可。如果有公用的方法、依赖等还可以抽取到一个单独的common服务模块中,然后通过pom依赖引入那么本期我们针对springcloudtencent的微服务框架就搭建完成了,当然本期搭建的还是最基础的,只是用到了网关、注册中心、配置中心,下一期我们将来进阶讲解springcloudtencent其他组件的使用。感兴趣的小伙伴不妨关注专栏。源码地址httpshttps。......原创 2022-07-31 20:29:30 · 3889 阅读 · 5 评论 -
作为开发,你不得不知道的三个性能测试工具|Jmeter、Apipost、JMH使用指南
实际开发过程中,我们常常需要对接口进行调用来测试接口可用性,同时也需要对接口进行压力测试,来反馈项目的并发量。而这些操作都需要借助第三方工具来实现,今天我们就来聊聊这些测试工具。.........原创 2022-07-22 11:38:39 · 5731 阅读 · 0 评论 -
spring cloud tencent:框架概括及组件详解(一)
近期腾讯开源了自己的spring cloud体系技术,称职的技术从业者除做好自己的本职工作外,还需要紧跟技术潮流,实时了解前沿技术,所以本期我们就来一起学习spring cloud tencent的技术体系如果大家已经熟悉spring cloud技术体系再来学习spring cloud tencent的话,会比较轻松,如果你还没有掌握spring cloud技术体系,那么更加建议先将spring cloud的基础组件学习完成后再来学习spring cloud tencent,毕竟当前主流仍然是spring原创 2022-07-08 01:15:32 · 3059 阅读 · 5 评论 -
spring cloud tencent:安装北极星polaris服务
近期腾讯推出了自己的微服务框架,其中polaris(北极星)服务更是核心,除了提供服务发现和治理中心,除服务发现、服务注册和健康检查之外,还提供流量控制、故障容错和安全能力今天我们就来看看如何快速安装polaris服务polaris提供了单机版和集群版,其中:polaris-server是集群版服务端,提供了服务后台接口polaris-console是可视化控制台,提供服务治理管控页面polaris-server-standalone是单机版,整合了所有服务,方便我们快速搭建项目,对于小型的微服务项目也是不原创 2022-07-07 23:46:56 · 2758 阅读 · 1 评论 -
springcloud:RabbitMQ死信队列与延迟交换机实现(四)
死信队列是消息队列中非常重要的概念,同时我们需要业务场景中都需要延迟发送的概念,比如12306中的30分钟后未支付订单取消。那么本期,我们就来讲解死信队列,以及如何通过延迟交换机来实现延迟发送的需求。原创 2022-05-14 20:09:16 · 918 阅读 · 0 评论 -
springcloud:springboot整合RabbitMQ|RabbitMQ保证消息可靠性(三)
2. RabbitMQ使用2.1 RabbitMQ的安装2.2 springboot整合RabbitMQ2.3 RabbitMQ保证消息可靠性2.4 RabbitMQ死信队列&延迟交换机原创 2022-05-14 16:27:03 · 873 阅读 · 2 评论 -
RabbitMQ:什么是消息队列MQ?为什么使用消息队列MQ?入门MQ先学哪种?(一)
MQ(Message Queue):消息队列,如今在各类业务场景中已经被广泛使用,特别在并发量日益增涨的业务和微服务架构中,消息队列能够帮助我们解决很多传统方式所不能解决的问题。原创 2022-05-10 01:43:31 · 1649 阅读 · 0 评论 -
springcloud:RabbitMQ快速上手(二)
0. 引言上一章咱们讲解了什么是消息队列,已经为什么使用消息队列。并且阐述了我们入门选用RabbitMQ的原因。同时为了践行我们“先讲核心,快速入门,循环学习,深入原理”的原则,我们先将RabbitMQ核心操作讲解,让大家能够快速上手RabbitMQ,能够在工作中直接应用上,后续我们再来补讲其中的原理和常见面试题1. RabbitMQ介绍rabbitmq是实现了高级消息队列协议(AMQP)的开源消息代理软件,使用erlang语言编写。erlang语言是一种面向并发的编程语言,所以其并发量远远大于ja原创 2022-05-13 01:36:10 · 654 阅读 · 0 评论 -
springcloud:微服务多模块的pom管理规范(十四)
在单机架构下,我们只需要将我们的依赖在pom中引入。但是过渡到微服务架构后,会涉及到多模块引用相同的依赖,多模版之间依赖的版本太过分散难以管理的问题。这就需要我们利用maven中依赖传递的特性,结合dependencyManagement标签来做好依赖的版本管理。下面我们就通过具体的案例来向大家演示如何在微服务架构中做好pom的管理规范。原创 2022-05-06 01:19:47 · 3600 阅读 · 0 评论 -
springcloud:maven快速上手 | maven常用标签(十三)
特出一章针对maven的入门简介,后续再讲讲微服务项目中如何对pom进行优雅的依赖管理。原创 2022-05-05 01:08:17 · 1796 阅读 · 0 评论 -
springcloud进阶:四种分布式事务模式选型
之前我们已经针对四种分布式事务模式AT,TCC,SAGA,XA进行了详解。本篇主要针对四种模式的应用场景进行总结比较。如果想详细了解四种模式的,可以看看专栏往期博文:原创 2022-05-02 01:00:44 · 2019 阅读 · 3 评论 -
springcloud进阶:四种分布式事务模式之XA模式(四)
前几章咱们聊了四种分布式事务中的前三种,今天就最后一种XA模式,来做详细讲解。如果对于前三种模式感兴趣的同学,可以看看专栏之前的博文。原创 2022-05-02 00:17:13 · 2337 阅读 · 3 评论 -
springcloud进阶:四种分布式事务模式之SAGA模式(三)
0.引言之前我们已经讲解了四种分布式事务模式的前两种:AT模式和TCC模式,如果对于这两种模式有疑惑的,可以翻看专栏之前的文章今天我们接着来讲讲SAGA模式1. SAGA模式saga的定义是“长时间活动的事务”,是普林斯顿大学教授Hector & Kenneth发表的论文《sagas》中提出的概念。它的思想是允许分布式事务在全部提交前提前释放占用的某些资源。其实我看到saga这个名称的第一印象,是想到了圣斗士星矢里的沙迦,沙迦以强悍的实力著称。而SAGA模式也专用于解决长事务资源占用难题原创 2022-05-01 11:35:31 · 4907 阅读 · 0 评论 -
springcloud进阶:四种分布式事务模式之TCC模式(二)
0.引言上一章我们讲解了AT模式原理及适用场景,本期我们来讲讲TCC模式1. TCC模式TCC模式,全称Try-Confirm-Cancel,通过名称也能看出来其流程主要有三个步骤:预处理 Try:实现业务检查和资源预留确认/提交 Confirm:业务确认和提交撤销/回滚 Cancel:业务回滚如果看过上一章的同学,看到这里是不是有点熟悉了,这不也是二阶段提交嘛。TCC模式本身就是二阶段提交的一种改进,不一样的是,这次就没有AT模式那么方便了,因为他需要我们自己写代码来实现了。1.2原创 2022-04-30 15:38:22 · 2495 阅读 · 0 评论