
微服务
文章平均质量分 89
spring cloud
spring cloud alibaba
wu@55555
软考高级系统架构师、Elastic认证工程师、CSDN后端领域博客专家、阿里云专家博主、华为云·云享专家博主、51CTO专家博主、掘金社区认证优秀作者
——致力于家乡互联网技术建设
展开
-
DataX:数据同步组件datax简介及部署指南
DataX 是阿里云DataWorks数据集成工具分支出来的开源版本,主要用于解决异构数据源之间的大量数据同步问题。它能够帮助用户高效地实现数据在不同数据存储之间的迁移和同步,支持多种数据源,包括关系型数据库、NoSQL、大数据计算引擎以及各种存储系统。原创 2025-01-17 07:30:00 · 2621 阅读 · 0 评论 -
dubbo:巧用dubbo的SPI机制实现各类定制功能(六)
SPI(Service Provider Interface),是一种服务发现机制,它允许服务提供者在运行时动态地为某个接口提供实现,而不需要在程序编译时进行硬编码。这种机制的核心思想是将装配的控制权移到程序之外,通过在模块化设计中实现接口与服务实现的解耦,从而提供一种插件化的扩展机制。SPI机制主要应用于框架和库的开发中,以支持服务的动态加载和替换。原创 2024-08-30 19:00:00 · 2038 阅读 · 0 评论 -
dubbo:dubbo服务负载均衡、集群容错、服务降级、服务直连配置详解(五)
之前我们讲解了dubbo的基本使用,但在dubbo服务调用过程中,为了保证高可用dubbo提供者一般不是一个节点,当多个节点部署时,节点间的负载均衡问题随之而来,今天我们针对dubbo提供者服务的各类相关配置进行讲解原创 2024-08-27 19:00:00 · 1725 阅读 · 0 评论 -
dubbo:dubbo+zookeeper整合nginx实现网关(四)
首先针对nginx的学习我们早在nginx专栏就已经从零说明过,如果对于该组件的基础使用还未掌握的,建议大家可以先学习下nginx专栏Nginx快速上手专栏在本期文章中重点涉及其中如下几篇内容Nginx应用场景、安装、部署及设置开机自启(一)负载均衡upstream配置详解(四)nginx各类转发、代理配置详解|location、proxy_pass参数详解(五)原创 2024-08-22 19:00:00 · 1402 阅读 · 0 评论 -
dubbo:dubbo+nacos整合springcloud gateway实现网关(三)
上次我们讲到使用zookeeper作为注册中心搭建dubbo微服务框架,但是我们还缺少一个服务总入口,也就是我们的网关服务。所以今天我们的目标就是给dubbo框架搭建一个网关。dubbo框架体系一般是结合nginx来作为网关的,但有时我们需要在网关拓展集成更多的功能,nginx可能无法满足,这是就可以结合springcloud gateway来实现原创 2024-08-21 18:45:00 · 2520 阅读 · 0 评论 -
dubbo:dubbo整合nacos实现服务注册中心、配置中心(二)
之前我们讲解的是dubbo+zookeeper体系来实现微服务框架,但相对zookeeper很多企业在使用nacos, 并且nacos和dubbo都是阿里出品,所以具备一些天生的契合性,所以今天我们来讲解dubbo如何整合nacos实现服务注册、配置原创 2024-08-20 19:00:00 · 4152 阅读 · 0 评论 -
Linux:安装minio并设置开机自启
最近在处理测试服务器的minio安装,发现之前并没有单独记录minio安装的详细过程,特此记录,供大家后续参考。原创 2024-02-22 09:53:54 · 5241 阅读 · 6 评论 -
springcloud:对象存储组件MinIO(十六)
MinIO是一个使用go语言开发的,开源的对象存储组件,能够提供高性能、高可用的数据存储能力,支持分布式部署,提供数据加密、访问控制、版本控制、生命周期管理和事件通知等功能。它还支持高级特性,如分片上传和分片下载,以提高大文件的处理效率。Object Browser: 对象管理页面,minio中所有的桶和桶中的文件都可以在这个页面查看,这里的桶 bucket,大家可以简单的理解为文件夹- Buckets: 桶管理页面,用于管理桶相关的配置,比如桶的访问权限、桶的生命周期(桶中文件保留几天)原创 2023-08-05 23:26:00 · 1054 阅读 · 0 评论 -
mac pro m1:搭建zookeeper集群并设置开机自启
之前我们讲解过,但在实际生产中,为了保证服务高可用,通常我们是采用集群模式。所以本次我们来实操集群模式的搭建。原创 2023-07-02 17:52:50 · 1866 阅读 · 0 评论 -
springcloud:新一代分布式定时任务框架——PowerJob
PowerJob是基于java开发的企业级的分布式任务调度平台,与xxl-job一样,基于web页面实现任务调度配置与记录,使用简单,上手快速,因此迅速得到用户的欢迎。相对于其他定时任务框架具有无锁化设计,更强悍的性能支撑,我们通过官网的产品对比可以了解详情。定时任务类型与传统的定时任务框架对比,powerJob支持更多的定时任务类型:API: 通过客户端提供的api接口触发,服务端不会主动调度,适用于与业务服务上下连接或只调度一次的业务场景。原创 2023-05-03 22:17:33 · 8883 阅读 · 0 评论 -
springboot:缓存不止redis,学会使用本地缓存ehcache
ehcache是基于java开发的本地缓存组件,无需单独安装部署,只要引入jar包就可利用它来实现缓存。所谓本地缓存,就是指存储在JVM堆内存中的临时缓存数据,当然ehcache本身也支持Off-Heap Store机制来使用堆外内存,本地缓存相较于redis性能和响应速度更高。Ehcache的本地缓存还支持过期时间、最大容量、持久化等特性,使得它可以适用于各种不同的缓存场景。原创 2023-04-22 02:04:49 · 7507 阅读 · 1 评论 -
flyway:数据库移植框架,再也不用担心历史版本表结构管理问题
flyway是一款基于java开发的,数据库移植组件,支持所有的JDBC数据库flyway会在项目启动时,扫描指定路径下的所有sql脚本,同时会维护一张记录表,将扫描的sql脚本与中的记录对比,如果记录与指定路径下的sql脚本不一致(修改了历史的sql脚本),则会进行报错;如果比对一致,则会执行记录中没有的sql脚本。综上,使用flyway来做多版本的数据库结构管理,是比较方便和快捷的,去尝试下吧。原创 2023-04-10 00:00:00 · 997 阅读 · 0 评论 -
springcloud:xxl-job的任务触发机制及调度过期策略
我们都会用xxl-job,但很少有人能够说清楚xxl-job的任务触发机制,面临任务阻塞、服务重启如何处理任务,本期我们就来一起看看xxl-job的任务触发机制。原创 2023-04-05 22:59:15 · 5455 阅读 · 0 评论 -
springcloud:快速上手定时任务框架xxl-job(十五)
xxl-job是分布式的任务调度平台,以作者名字命名,以其轻量、可视、易上手迅速在微服务框架下站稳脚跟。xxl-job分为服务端和客户端,客户端也就是我们的定时任务方法实现,也称为执行器,而服务端用来管理定时任务配置以及记录执行情况,也称为调度器至此,咱们针对定时任务框架xxl-job的讲解就结束了,自己搭建起来试下吧。原创 2023-04-01 23:59:41 · 3728 阅读 · 0 评论 -
springcloud:3种办法解决feign调用参数为实体类的GET接口
最近在讲解关于feign的组间调用,遇到了调用参数为实体类的GET请求报错或者参数获取为空问题,于是统一记录解决办法,方便大家后续参考原创 2023-03-09 00:07:54 · 4787 阅读 · 0 评论 -
springboot:接手老项目,领导让更新数据库说明文档,如何3分钟完成任务
screw是用来生成数据库表结构说明文档的组件,通过引用jar包,通过简单的配置就可以自动生成文档,相当于数据库中的swagger,支持html, word, md三种格式的文档如上所示,我们的数据库说明文档就做完了,当然我在实际项目中的数据库比上述演示的要大的多,但数据库越大,我们省的时间就越多。原创 2023-01-11 00:14:15 · 3961 阅读 · 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 · 4574 阅读 · 0 评论 -
GIT:如何删除仓库中的.idea .DS_Store target文件/文件夹并设置下次不上传
我们常常会有在git仓库初始化时,忘记设置.gitignore文件导致一些非工程文件上传到仓库中了,导致整个仓库的不美观,甚至影响其他开发同事配置代码。这时候我们就需要删除这些指定文件,那么如何操作呢,这一章我们就来讲解这个问题。原创 2022-12-23 19:10:52 · 2469 阅读 · 0 评论 -
redis:基于springboot与jedis实现客户端操作
如上,我们关于redis客户端jedis的操作演示就结束了,更多关于jedis接口的使用需要我们自己去摸索,将其封装为工具类,下一期,我们继续讲解其他redis客户端。原创 2022-12-23 01:50:16 · 1101 阅读 · 0 评论 -
dubbo:从零理解及搭建dubbo微服务框架(一)【附带源码】
首先大家要了解到底什么是dubbo,他是一个组件,还是一门语言?实际上dubbo一个服务框架,一开始是用java编写,后续产生了go语言版本。因为dubbo本身自带了RPC调用功能,也就是组间调用。所以也称dubbo为RPC服务框架dubbo官方文档Apache Dubbo 是一款 RPC 服务开发框架,用于解决微服务架构下的服务治理与通信问题,官方提供了 Java、Golang 等多语言 SDK 实现。原创 2022-11-19 22:04:38 · 8754 阅读 · 11 评论 -
dubbo:两种方式安装dubbo-admin、zookeeper
我们在搭建dubbo框架时,需要安装一个dubbo-admin来管理服务已经配置文件,今天我们来看看如何通过docker快速搭建一个dobbo-admin。原创 2022-11-18 00:45:19 · 5401 阅读 · 5 评论 -
mysql进阶:通过canal-admin来管理canal集群
canal-admin的设计初衷就是为了canal提供整体的配置管理、节点运维等功能。针对多节点的情况,不需要相同的配置每个节点都要操作一遍。为运维人员节约时间。集群:也就是一组canal服务端deployer,也称为Server,同一集群的Server的配置文件可以在admin中统一集中管理。也就是说admin是面向多集群的管理。原创 2022-10-07 09:21:29 · 2020 阅读 · 0 评论 -
mysql进阶:canal搭建主从|集群架构
deployer节点同时只会运行一个,而adapter节点是采用服务分发的机制,多节点同时服务,由zk分发请求到具体的adapter节点上执行数据同步任务下期,我们接着讲讲如何结合canal-admin来管理集群节点。原创 2022-10-06 19:07:30 · 3490 阅读 · 0 评论 -
springboot:生成excel并且通过邮件发送
excel的生成以及邮件的发送,都应该尽可能的提取为工具类,如果实现的功能更多的更需要提取的单独的服务,通过pom依赖引入,更大化的实现方法的通用,和业务代码与通用代码之间的解耦。还是那句话,看十遍,不如动手操作一遍。原创 2022-10-06 11:25:27 · 4223 阅读 · 6 评论 -
springboot:java实现邮件及附件发送、HTML正文的三种方式(三)【附带源码】
从代码可以看出spring-boot-starter-mail与javax.mail的实现类似,都是通过类实现的至此我们已经讲解完三种实现邮件发送的方法了,实际上邮件发送功能实现非常简单,毕竟我们只是在前人做好的组件上开发,已经站在了巨人的肩膀上。之前演示的代码大家也可以直接应用到生产中,但一定不要盲目的复制粘贴,理解,自己一行一行的复写一遍代码,这是千万不能省的!原创 2022-10-06 00:05:04 · 2949 阅读 · 0 评论 -
springboot:java实现邮件及附件发送、HTML正文的三种方式(二)【附带源码】
邮件发送是我们日常开发中比较常见的功能,常用于预警信息提醒、统计数据定期发送等需求。一般该方法会由前人封装好,实际开发时只需要调用即可,但具体怎么实现的,如何从零实现邮件发送,这是我们要掌握的。上一次我们讲解了基于javax.mail实现邮件发送,今天我们接着讲解基于commons.mail的实现方式。原创 2022-10-05 11:57:13 · 6618 阅读 · 0 评论 -
springboot:java实现邮件及附件发送、HTML正文的三种方式(一)【附带源码】
邮件发送是我们日常开发中比较常见的功能,常用于预警信息提醒、统计数据定期发送等需求。一般该方法会由前人封装好,实际开发时只需要调用即可,但具体怎么实现的,如何从零实现邮件发送,这是我们要掌握的。所以今天我们就整理一下javax.mail实现邮件发送原创 2022-10-04 12:01:43 · 4867 阅读 · 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 · 5042 阅读 · 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 · 3305 阅读 · 1 评论 -
mysql进阶:canal实现跨机房数据同步|主从数据同步
canal是阿里开源的数据同步工具,基于bin log可以将数据库同步到其他各类数据库中,目标数据库支持mysql,postgresql,oracle,redis,MQ,ES等自此我们针对数据以及数据结构的同步都配置成功了,并且本次演示中使用的目标数据库部署在百度服务器上,源数据库部署在本地虚拟机中,两者异地,演示了异地机房同步。大家需要注意的是,配置镜像模式同步时,一定要确保初始的数据库结构是一致的,否则也无法达到“镜像”的效果。原创 2022-09-25 02:42:52 · 4191 阅读 · 5 评论 -
mysql进阶:数据库审计软件yearning搭建指南
yearning提供的核心功能就是sql查询和审计。我们可以通过yearning来创建用户,设置权限,规定哪些用户可以查询哪个库,哪些用户可以修改哪个库,查询、修改操作需要经过那些人的审批后才能执行,执行完成的SQL修改语句可以进行回退,可以监控追溯到哪些人执行了哪些SQL。以此我们可以搭建一个监控SQL执行的审计平台,也方便的实现数据库权限的分层管理。下面我们详细来看看yearning的搭建和使用。本期针对数据库审计软件的讲解就到此结束了,多看、多练,亲自实践!原创 2022-09-17 12:24:17 · 3394 阅读 · 0 评论 -
企业级GIT分支管控方案
GIT如今被广泛应用于企业开发项目托管,随着我们项目规模的扩大, 开发人员的数量也逐渐扩增,呈现出不同的开发等级,而不同的等级,也需要不同的权限管控。所以今天,我们来聊一聊,企业git的管控首先我们需要明确项目开发中需要涉及的权限等级:企业内部开发中,我们一般分成以下几种分支:根据以上描述,企业开发时,实际上长期存在的分支只有master和dev分支,其他分支都是多个且临时的以下操作基于gitee演示,其他git服务端类似,大家可自行摸索1、点击,进入分支管理页面2、点击3、选择基于哪个分支创建,输入分支名原创 2022-08-07 11:50:54 · 3540 阅读 · 0 评论 -
spring cloud tencent:基于polaris手把手搭建腾讯微服务框架(附带源码)(二)
模块名描述gateway网关模块订单模块其中我们用订单模块模拟我们的业务服务,如果你自己需要多个微服务按照订单模块创建即可。如果有公用的方法、依赖等还可以抽取到一个单独的common服务模块中,然后通过pom依赖引入那么本期我们针对springcloudtencent的微服务框架就搭建完成了,当然本期搭建的还是最基础的,只是用到了网关、注册中心、配置中心,下一期我们将来进阶讲解springcloudtencent其他组件的使用。感兴趣的小伙伴不妨关注专栏。源码地址httpshttps。......原创 2022-07-31 20:29:30 · 4159 阅读 · 5 评论 -
作为开发,你不得不知道的三个性能测试工具|Jmeter、Apipost、JMH使用指南
实际开发过程中,我们常常需要对接口进行调用来测试接口可用性,同时也需要对接口进行压力测试,来反馈项目的并发量。而这些操作都需要借助第三方工具来实现,今天我们就来聊聊这些测试工具。.........原创 2022-07-22 11:38:39 · 6382 阅读 · 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 · 3588 阅读 · 5 评论 -
spring cloud tencent:安装北极星polaris服务
近期腾讯推出了自己的微服务框架,其中polaris(北极星)服务更是核心,除了提供服务发现和治理中心,除服务发现、服务注册和健康检查之外,还提供流量控制、故障容错和安全能力今天我们就来看看如何快速安装polaris服务polaris提供了单机版和集群版,其中:polaris-server是集群版服务端,提供了服务后台接口polaris-console是可视化控制台,提供服务治理管控页面polaris-server-standalone是单机版,整合了所有服务,方便我们快速搭建项目,对于小型的微服务项目也是不原创 2022-07-07 23:46:56 · 3222 阅读 · 1 评论 -
springcloud:RabbitMQ死信队列与延迟交换机实现(四)
死信队列是消息队列中非常重要的概念,同时我们需要业务场景中都需要延迟发送的概念,比如12306中的30分钟后未支付订单取消。那么本期,我们就来讲解死信队列,以及如何通过延迟交换机来实现延迟发送的需求。原创 2022-05-14 20:09:16 · 1010 阅读 · 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 · 955 阅读 · 2 评论 -
RabbitMQ:什么是消息队列MQ?为什么使用消息队列MQ?入门MQ先学哪种?(一)
MQ(Message Queue):消息队列,如今在各类业务场景中已经被广泛使用,特别在并发量日益增涨的业务和微服务架构中,消息队列能够帮助我们解决很多传统方式所不能解决的问题。原创 2022-05-10 01:43:31 · 1818 阅读 · 0 评论 -
springcloud:RabbitMQ快速上手(二)
0. 引言上一章咱们讲解了什么是消息队列,已经为什么使用消息队列。并且阐述了我们入门选用RabbitMQ的原因。同时为了践行我们“先讲核心,快速入门,循环学习,深入原理”的原则,我们先将RabbitMQ核心操作讲解,让大家能够快速上手RabbitMQ,能够在工作中直接应用上,后续我们再来补讲其中的原理和常见面试题1. RabbitMQ介绍rabbitmq是实现了高级消息队列协议(AMQP)的开源消息代理软件,使用erlang语言编写。erlang语言是一种面向并发的编程语言,所以其并发量远远大于ja原创 2022-05-13 01:36:10 · 735 阅读 · 0 评论