每日学习
文章平均质量分 96
中北萌新程序员
这个作者很懒,什么都没留下…
展开
-
4.27日学习打卡----初学Redis(四)
Redis只有一个配置文件,如果多个人进行开发维护,那么就需要多个这样的配置文件,这时候多个配置文件就可以在此通过 include /path/to/local.conf 配置进来,而原本的 redis.conf 配置文件就作为一个总闸。微服务场景下,多个微服务使用一个大缓存,流数据业务下,高频读取缓存对Redis压力很大,我们使用本地缓存结合Redis缓存使用,降低Redis压力,同时本地缓存没有连接开销,性能更优。不可变集合是Guava的一个重要特性,它可以确保集合不被修改,从而避免并发访问的问题。原创 2024-04-27 12:10:07 · 622 阅读 · 0 评论 -
4.5日学习打卡----学习Apache HttpClient 5
Apache HttpClient 组件是为扩展而设计的,同时提供对基本HTTP协议的强大支持。http://java.net包提供了通过HTTP访问资源的基本功能,但它并没有提供许多应用程序所需的全部灵活性或功能。HttpClient 组件通过提供一个高效、最新、功能丰富的包来填补这一空白,该包实现了最新HTTP标准的客户端。HttpClient 过去是 Commons 的一部分,现在是 Apache HttpComponents 的一部分。Apache HttpComponents 是 Apache 的原创 2024-04-05 22:51:30 · 1413 阅读 · 0 评论 -
3.23日学习打卡----初学Redis(三)
Jedis是Redis官方推荐的Java连接开发工具。原创 2024-03-24 21:49:47 · 1104 阅读 · 0 评论 -
3.19日学习打卡----初学Redis(二)
String是Redis最基本的类型,一个key对应一个value。String是二进制安全的,意味着String可以包含任何数据,比如序列化对象或者一张图片。String最多可以放512M的数据。原创 2024-03-19 21:24:35 · 1287 阅读 · 0 评论 -
3.3日学习打卡----初学Redis(一)
,意即“不仅仅是SQL”,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付特别是超大规模和高并发类型纯动态网站已经显得力不从心,暴露了很多难以克服的问题。结构化数据和非结构化数据结构化数据指的是由二维表结构来逻辑表达和实现的数据,严格遵循数据格式与长度规范,也称作为行数据。非结构化数据,指的是数据结构不规则或不完整,没有任何预定义的数据模型,不方便用二维逻辑表来表现的数据,例如办公文档(Word)、文本、图片、HTML、各类报表、视频音频等。原创 2024-03-03 23:08:25 · 1144 阅读 · 0 评论 -
3.2日学习打卡----初学FastDFS(二)
由于FastDFS的同卷的存储节点之间需要同步,当文件尚未同步完成时,访问请求到达改节点,获取的数据将是未同步完的不完整数据,即为复制延迟问题。通过Nginx检测请求的存储节点的数据,若该存储节点的数据尚未同步完成,则将请求转发至数据的原存储节点,从而解决复制延迟问题。–add-module:为nginx添加一个fastdfs-nginx-module模块,值为该模块在当前系统的路径。通过Nginx的web服务代理访问分布式文件系统的存储节点,从而实现通过http请求访问存储节点资源。原创 2024-03-02 22:33:48 · 953 阅读 · 0 评论 -
3.1日学习打卡----初学FastDFS(一)
FastDFS是一个开源的轻量级分布式文件系统。它解决了大数据量存储和负载均衡等问题。特别适合以中小文件(建议范围:4KB < file_size原创 2024-03-01 21:34:38 · 945 阅读 · 0 评论 -
2.28日学习打卡----初学Nginx(三)
负载均衡是高可用网络基础架构的关键组件,通常用于将工作负载分布到多个服务器来提高网站、应用、数据库或其他服务的性能和可靠性。原创 2024-02-28 20:53:10 · 1313 阅读 · 0 评论 -
2.23日学习打卡----初学Nginx(二)
虚拟主机是一种特殊的软硬件技术,它可以将网络上的每一台计算机分成多个虚拟主机,每个虚拟主机可以独立对外提供www服务,这样就可以实现一台主机对外提供多个web服务,每个虚拟主机之间是独立的,互不影响的。原创 2024-02-25 16:40:55 · 1207 阅读 · 0 评论 -
2.22日学习打卡----正则表达式
正则表达式,又称规则表达式。,在代码中常简写为regexregexp或RE),是计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。在正则表达式中可以通过一些预定义字符来表示内容限定。目的是为了简化内容限定的定义。原创 2024-02-24 22:24:21 · 928 阅读 · 0 评论 -
2.21日学习打卡----初学Nginx(一)
Nginx是一款轻量级的Web服务器、反向代理服务器,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用。Nginx 专为性能优化而开发,使用异步非阻塞事件驱动模型。常见服务器ApacheTomcatNginx的优点大白话说:比如一个酒店就是有服务员和没服务员的区别。原创 2024-02-23 19:57:57 · 1399 阅读 · 0 评论 -
2.20日学习打卡----初学Vue3
发送数据methods:{//参数一字符串 参数二是传递的数据this.$emit("onCustom","数据")原创 2024-02-21 22:35:56 · 1342 阅读 · 0 评论 -
2.19日学习打卡----初学ES6新特性
ECMAScript 和 JavaScript 的关系ECMAScript 和 JavaScript 的关系是,前者是后者的规格,后者是前者的一种实现,常场合,这两个词是可以互换的。名称详解ECMAScript 6(以下简称 ES6)是 JavaScript 语言的标准,在2015 年 6 月发布。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。原创 2024-02-20 17:04:14 · 961 阅读 · 0 评论 -
2.18日学习打卡----初学Dubbo(三)
需求完成用户表的CRUD操作。技术架构项目结构设计本项目采用maven分模块开发方式,即对整个项目拆分为几个maven工程,每个maven工程存放特定的一类代码。修改pom文件创建子项目user_api项目修改pom文件创建子项目user_consumer项目创建SpringBoot项目添加lombok和springweb修改pom创建子项目user_provider项目模块创建maven项目 命名user_provider修改pom创建pojo,mapper,provider原创 2024-02-19 16:44:52 · 945 阅读 · 0 评论 -
2.17日学习打卡----初学Dubbo(二)
单体架构项目架构订单服务创建订单根据用户id查询订单详情用户服务创建订单根据用户id查询订单详情。原创 2024-02-19 00:35:26 · 1158 阅读 · 0 评论 -
2.16日学习打卡----初学Dubbo(一)
可以看我的这篇文章–2.14日学习打卡----初学Zookeeper(一)RPC(Remote Procedure Call)远程过程调用,它是一种通过网络从远程计算机程序上请求服务。大白话理解就是:RPC让你用别人家的东西就像自己家的一样。屏蔽远程调用跟本地调用的区别,让我们感觉就是调用项目内的方法隐藏底层网络通信的复杂性,让我们更加专注业务逻辑。常用的RPC框架RPC是一种技术思想而非一种规范或协议。阿里的 Dubbo/Dubbox、Google gRPC、Spring Cloud。原创 2024-02-18 13:51:26 · 888 阅读 · 0 评论 -
2.15日学习打卡----初学Zookeeper(二)
整体结构类似于 linux 文件系统的模式以树形结构存储。其中根路径以 / 开头。原创 2024-02-18 00:57:25 · 1080 阅读 · 0 评论 -
2.14日学习打卡----初学Zookeeper(一)
分布式架构就是将一个完整的系统,按照业务功能,拆分成一个个独立的子系统,在分布式结构中,每个子系统就被称为“服务”。这些子系统能够独立运行在web容器中,它们之间通过RPC方式通信。系统之间的耦合度大大降低,可以独立开发、独立部署、独立测试,系统与系统之间的边界非常明确,排错也变得相当容易,开发效率大大提升。系统之间的耦合度降低,从而系统更易于扩展。我们可以针对性地扩展某些服务。服务的复用性更高。比如,当我们将用户系统作为单独的服务后,该公司所有的产品都可以使用该系统作为用户系统,无需重复开发。原创 2024-02-17 00:50:52 · 1040 阅读 · 0 评论 -
2.13日学习打卡----初学RocketMQ(四)
批量方式消费可以很大程度上提高消费吞吐量,例如订单扣款类应用,一次处理一个订单耗时 1 s,一次处理 10 个订单可能也只耗时 2 s,这样即可大幅度提高消费的吞吐量,通过设置 consumer的 consumeMessageBatchMaxSize 参数值,默认是 1,即一次只消费一条消息,例如设置为 N,那么每次消费的消息数小于等于 N。,但是实际使用中,可能会存在相同的消息有两个不同msgId的情况(消费者主动重发、因客户端重投机制导致的重复等),这种情况就需要使业务字段进行重复消费。原创 2024-02-16 18:46:35 · 1136 阅读 · 0 评论 -
2.12日学习打卡----初学RocketMQ(三)
同样的,由于网络原因,Broker发送消息给消费者后,没有受到消费端的ACK响应,所以Broker又会尝试将消息重新发送给Consumer,在实际开发过程中,我们更应该考虑的是消费端的重试。:消息的全局唯一标识(内部机制的ID生成是使用机器IP和消息偏移量的组成,所以有可能重复,如果是幂等性还是最好考虑Key),由消息队列MQ系统自动生成,唯一标识某条消息。消息发送方在发送了一条消息后,不等接收方发回响应,接着进行第二条消息发送。业务含义,区分度高的字段作为消息的key,如用户id,订单id。原创 2024-02-16 11:07:07 · 826 阅读 · 1 评论 -
2.11日学习打卡----初学RocketMQ(二)
同步刷盘: 安全性高,效率低,速度慢(适用于对数据安全性要求较高的业务)异步刷盘:安全性低,效率高,速度块(使用与对数据处理速度要求较高的业务)如果我的内容对你有帮助,请。原创 2024-02-12 23:37:46 · 1183 阅读 · 0 评论 -
2.10日学习打卡----初学RocketMQ(一)
生产者和消费者生产者负责生产消息,一般由业务系统负责生产消息,消费者即后台系统,它负责消费消息。消息模型(Message Model)消息模型主要有队列模型和发布订阅模型,RabbitMQ采用的是队列模型,如下图所示主题(Topic)表示一类消息的集合,每个主题包含若干条消息,每条消息只能属于一个主题,是RocketMQ进行消息订阅的基本单位。代理服务器(Broker Server)消息中转角色,负责存储消息、转发消息。名字服务(Name Server)原创 2024-02-11 14:22:50 · 937 阅读 · 1 评论 -
2.9日学习打卡----初学RabbitMQ(四)
在MQ中,当消息成为死信(Dead message)后,消息中间件可以将其从当前队列发送到另一个队列中,这个队列就是死信队列。而在RabbitMQ中,由于有交换机的概念,实际是将死信发送给了死信交换机(Dead Letter Exchange,简称DLX)。死信交换机和死信队列和普通的没有区别。消息成为死信的情况:死信队列:死信交换机和普通交换机,只是名字不同,其余的都一样;就是说死信交换机绑定死信队列,普通交换机绑定普通队列。并且普通队列需要在创建的同时绑定死信交换机和死信队列的路由关键字;就是说原创 2024-02-10 17:58:29 · 1897 阅读 · 1 评论 -
2.8日学习打卡----初学RabbitMQ(三)
之前我们使用原生JAVA操作RabbitMQ较为繁琐,接下来我们使用SpringBoot整合RabbitMQ,简化代码编写创建SpringBoot项目,引入RabbitMQ起步依赖原创 2024-02-09 21:49:22 · 2082 阅读 · 2 评论 -
2.7日学习打卡----初学RabbitMQ(二)
由于MQ产品很多,操作方式各有不同,于是JAVA提供了一套规则——JMS,用于操作消息中间件。JMS即Java消息服务(JavaMessage Service)应用程序接口,是一个Java平台中关于面向消息中间件的API。JMS是JavaEE规范中的一种,类比JDBC。很多MQ产品都实现了JMS规范,例如ActiveMQ。RabbitMQ官方并没有实现JMS规范,但是开源社区有JMS的实现包。创建普通maven项目,添加RabbitMQ依赖:原创 2024-02-08 23:04:57 · 1767 阅读 · 0 评论 -
2.6日学习打卡----初学RabbitMQ(一)
MQ全称Message Queue(消息队列),是在消息的传输过程中保存消息的容器。多用于系统之间的。两台计算机间传送的数据单位。消息可以非常简单,例如只包含文本字符串;也可以更复杂,可能包含嵌入对象。数据结构中概念。在队列中,数据先进先出,后进后出。原创 2024-02-07 15:27:46 · 1676 阅读 · 2 评论