![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
开发技术
文章平均质量分 73
斗码士
修修羽毛等光鲜亮丽了,飞出一个彩虹
展开
-
BIO、NIO和AIO
总的来说,三种IO模型各有优缺点,适用于不同的场景和需求。在选择合适的IO模型时,需要考虑并发量、连接时长、服务器资源等因素。原创 2024-02-29 15:26:40 · 788 阅读 · 0 评论 -
springboot在线文档的集成方式
配置Swagger文档:根据您的应用程序的需求,您可以配置Swagger生成的API文档。您可以为每个控制器配置文档注释,路径选择器和参数注释等。你可以根据实际需求进行一些自定义配置,如添加权限控制、配置文档显示的接口等。这是一个基本的Swagger 3集成过程的概述。您可以根据您的需求和应用程序的特定要求进行更多的配置和自定义。配置Swagger:在您的Spring Boot主配置类上添加。这将启用Swagger在您的应用程序中生成API文档。注解用于为控制器组添加标签,注解用于为接口添加操作描述。原创 2024-02-04 16:20:24 · 400 阅读 · 0 评论 -
redis的四种模式优缺点
Redis是一个完全开源的内存数据结构存储工具,它支持多种数据结构,以及多种功能。Redis还提供了持久化功能,可以将数据存储到磁盘上,以便在重启后恢复数据。由于其高性能、可靠性和灵活性,Redis被广泛应用于缓存、会话管理、排行榜、实时分析、消息队列等领域。原创 2023-07-27 13:26:08 · 859 阅读 · 0 评论 -
canal探索及应用
把canal伪装成mysql的一个从机,采集binlog日志,监听到mysql存在增删改的动作,讲情报发送给我们的处理程序,处理程序接收到情报执行删除缓存任务并且标识为成功,一旦标识不成功的话,也进行一定次数的重试,最终失败的话还是转人工手动处理。我之前有个案列讲的是将用户id进行分库分表,按照雪花算法生成一串id,再由id去除以库的数量,取余,取余数等于要存入的分库序号里面,同样的再按照某种算法把数据存入分表,当查询这个用户的订单时,根据该用户id所在的维度,去对应的地方取数据。原创 2023-07-13 15:57:01 · 266 阅读 · 0 评论 -
Redis与数据库的爱恨纠葛
Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库。早期数据库只要有数据库的操作---增--删--改--查当用户量特别多的情况下,数据库的数量一定是跟不上用户的数量,对数据库来说是特别繁忙的看着每天都累趴下的数据库,顿时有种心疼的感觉。对数据库操作进行了分析,发现读取的业务大于其它业务的总和,那为给数据库介绍了一个专门干缓存的对象----redis。原创 2022-11-29 16:29:15 · 4491 阅读 · 1 评论 -
linux之minio搭建
Minio是GlusterFS创始人之一Anand Babu Periasamy发布新的开源项目。Minio兼容Amason的S3分布式对象存储项目,采用Golang实现,客户端支持Java,Python,Javacript, Golang语言。MinIO 是高性能的对象存储,可以做为云存储的解决方案用来保存海量的图片,视频,文档。由于采用Golang实现,服务端可以工作在Windows,Linux, OS X和FreeBSD上。配置简单,基本是复制可执行程序,单行命令可以运行起来。原创 2022-10-27 09:17:05 · 966 阅读 · 0 评论 -
Skywalking环境搭建及demo实战
微服务链路追踪监控skywalking环境搭建及使用原创 2022-06-28 16:06:06 · 3802 阅读 · 0 评论 -
excel读写存工具类
import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.math.BigDecimal;import java.net.URLEncoder;import java.util.A.原创 2022-03-04 14:10:59 · 394 阅读 · 0 评论 -
linux seata 环境部署(nacos)
首先下载seata对应版本的安装包地址:Seata - Browse Files at SourceForge.net 或者/ Releases · seata/seata · GitHubtar -zxvf seata-server-1.4.2.tar.gz 修改registry.confregistry { # file 、nacos 、eureka、redis、zk、consul、etcd3、sofa type = "nacos" nacos { ...原创 2021-12-01 13:59:03 · 1926 阅读 · 0 评论 -
linux nacos安装
nacos的介绍我就不说了,可以找找我之前的文档或者直接看官方文档我们这里就来讲讲怎么在linux安装部署nacos,为以后工作中用到做做总结nacos下载地址:https://github.com/alibaba/nacos/releases可以自己手动下载自己需要的版本 并且上传到自己的linux服务器或者虚拟机什么的或者直接在自己的服务器上wget xxxxxx你需要安装的nacos包的下载地址进入nacos包所在目录 tar -zxvf nacos-server-2.0..原创 2021-11-30 15:35:51 · 589 阅读 · 0 评论 -
frp实现内网穿透
什么是内网穿透。 内网:公司或者家庭内部建立的局域网络,从而实现多个用户电脑之间的资源共享 外网: 则是由网关与其它网络系统连接,其实它也是一个局域网,只不过它笼罩的范围更大更广,相对我们公司或者家庭的网络来说我们称他们为外网 穿透:也即 NAT 穿透,进行 NAT 穿透是为了使具有某一个特定源 IP 地址和源端口号的数据包不被 NAT 设备屏蔽而正确路由到内网主机。下面就相互通信的主机在网络中与 NAT 设备的相对位置介绍内网穿透方法。...原创 2021-09-17 13:35:20 · 301 阅读 · 0 评论 -
事务,分布式事务
我们开发一个业务的时候,涉及到多个sql语句操作,为了保证此业务的正常运行,该业务的sql组合,要么都成功,要么都失败,失败表示整个过程都没有意义,数据库回滚到之前没操作的初始状态,就跟没操作一样,这种特性被称为事务事务和分布式组合浅谈事务四大特性(ACID): 原子性[atomicity]:功能不可再分,要么全部成功,要么全部失败。 一致性[consistency]:事务的执行使数据从一个状态转换为另一个状态,但是对于整个数据的完整性保持稳定。 隔离性[isola原创 2021-06-07 10:23:43 · 224 阅读 · 0 评论 -
什么是悲观锁和乐观锁,及分布式锁的实现方式
做程序开发时,都会往并发方面来设计,分布式,集群,负载均衡,读写分离,主从分离,分库分表,缓存等等等手段来提高自己应用服务器的访问负载量 但是也会并发出现另一个问题 当两个线程同时查询到A这个数据 并且都需要对A的某一项数据进行增减这种修改动作时 就拿库存来说 库存为100 A,B两个用户买东西时,同时获取到100个库存,各自买了一个,都是从100个库存的基础上去掉了一个,这时候库存明明没了两个 却还是99个库存,是不是就会出问题? 如果A获取到了100个库存,买...原创 2021-05-24 15:39:08 · 4407 阅读 · 0 评论 -
MQTT入门级简单介绍与使用
1.什么是MQTT2.MQTT协议实现方式一.什么是MQTT什么是快乐星球。。不对。。什么是MQTT MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的轻量级协议,该协议构建于TCP/IP协议之上,MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等...原创 2021-05-20 17:13:54 · 1301 阅读 · 5 评论 -
浅谈nacos、eureka、consul、coreDNS、zookeeper
集群,微服务 衍生出几个问题1.什么是微服务2.它们之间是怎么相互协调工作的3.分别有什么注册中心4.区别是什么一.什么是微服务微服务是一种用于构建应用的架构方案。之前一整个应用采用的是(单体)巨石的项目结构,功能之间互相引用,一荣俱荣,一损俱损,有时候只修改其中某一个小功能的bug,整个工程都要进行重启微服务就是,把这个巨石项目进行拆解,然后再通过某种方式互相引用,共同构建组成一个应用,每个功能都可以独立部署,需要时能互相协调,故障时又不会影响其它功能的正常使用,具有很..原创 2021-05-20 12:14:01 · 640 阅读 · 3 评论 -
浅谈ActiveMQ、RocketMQ、RabbitMQ、ZeroMQ、Kafka区别和面试中遇到的问题
我们找工作的话,一般中高级开发就会被问到mq相关方面的一些问题 1.什么是消息队列2.为什么要用消息队列3.消息队列分别有哪些?4.它们有什么优缺点,区别又是什么?一,什么是消息队列消息队列(英语:Message queue)是一种进程间通信或同一进程的不同线程间的通信方式,软件的贮列用来处理一系列的输入,通常是来自用户。消息队列提供了异步的通信协议,每一个贮列中的纪录包含详细说明的数据,包含发生的时间,输入设备的种类,以及特定的输入参数,也就是说:消息的发送者和接收者不需要同...原创 2021-05-20 10:35:12 · 2566 阅读 · 0 评论