随笔分类 -  开发工具

常见的软件开发工具的使用
摘要:Redis 提供了五个指令用于处理事务:MULTI、EXEC、DISCARD、WATCH、UNWATCH,这五个命令是 Redis 进行事务处理的基础。 这些指令允许一组命令在一个步骤中执行,其中有两个重要的保证: 一个事务中的所有命令都被序列化并按顺序执行。在 Redis 事务的执行过程中该事务服 阅读全文
posted @ 2022-03-17 16:38 FatalFlower 阅读(165) 评论(0) 推荐(0)
摘要:Redis 主从复制是指:将一台 Redis 服务器的数据复制到其它的 Redis 服务器,前者所在的 Redis 服务器也被称为 “主节点”(Master / Leader),后者则被称为 “从节点”(Slave / Follower)。数据从主节点复制到从节点,主节点的主要任务是实现写入数据的任 阅读全文
posted @ 2022-03-01 22:02 FatalFlower 阅读(1005) 评论(0) 推荐(0)
摘要:简介 Apache Shiro 是一个强大的、灵活的开源安全框架,可以干净地处理验证、授权、企业会话管理和加密等功能 相关特性 Apache Shiro 具有的主要特性如下图所示: 主要关注的地方在于 Primary Concerns 这一部分,具体介绍如下: Authentication(验证): 阅读全文
posted @ 2022-01-31 22:04 FatalFlower 阅读(210) 评论(0) 推荐(0)
摘要:Docker 容器的创建比较简单,容器解决了应用程序对于运行环境的依赖问题,但是在当前所处的微服务盛行的情况下,手动管理容器是一件比较重复其及其枯燥的工作,这项工作理论上可以通过计算机来完成,因此涌现除了许多的部署容器的工具,本文将简要介绍一下 Docker Compose 和 Docker Swa 阅读全文
posted @ 2022-01-18 18:01 FatalFlower 阅读(210) 评论(0) 推荐(0)
摘要:Docker 是一个开放源代码软件平台,用于开发应用、交互应用、运行应用。Docker 允许用户将基础设施中的应用单独分割出来,形成更小的应用,从而提高软件交付的速度 [1] Docker 和虚拟机类似,二者都是为了提供一个可靠的运行环境使得部署的应用程序能够正常运行;两者的不同之处在于虚拟机是对计 阅读全文
posted @ 2022-01-13 11:38 FatalFlower 阅读(59) 评论(0) 推荐(0)
摘要:前面的相关文件简要地介绍了 Kafka 的基本使用,本文将将要介绍一下关于 Kafka 的集群关系、存储结构以及架构方面的内容进行简要的解析 组件之间的关系 Kafka 中,各个组件之间的关系如下图所示: ​ 每个组件的解释如下: Producer:生产者,实际产生消息的角色 Topic:直接翻译过 阅读全文
posted @ 2022-01-03 12:17 FatalFlower 阅读(89) 评论(0) 推荐(0)
摘要:Protobuf 是 Google 用于序列化数据对象的一种机制,使得数据对象能够在应用程序和服务器之间进行交互,尽管现在 Java 已经对应的序列化的实现方式,但是传统的序列化方式存在严重的缺陷,因此现在应该避免使用 Java 自带的序列化方式。 传统序列化方式的局限性 按照传统的实现,如果要使得 阅读全文
posted @ 2022-01-01 21:57 FatalFlower 阅读(413) 评论(0) 推荐(0)
摘要:Kafka 是一款分布式消息发布和订阅系统,最初的目的是作为一个日志提交系统来使用。现在,也可以作为一般的消息中间件来使用。 组件介绍 相关的组件介绍如下表所示: 组件 解释 Broker 实际 Kafka 存储消息的部分 Topic Kafka 通过 Topic 来对消息进行归类,发布到 Kafk 阅读全文
posted @ 2022-01-01 10:53 FatalFlower 阅读(519) 评论(0) 推荐(0)
摘要:维基百科对 Zookeeper 的介绍如下所示: Apache ZooKeeper是 Apache 软件基金会的一个软件项目,它为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册 ZooKeeper 的架构通过冗余服务实现高可用性。因此,如果第一次无应答,客户端就可以询问另一台ZooKee 阅读全文
posted @ 2021-12-29 23:04 FatalFlower 阅读(246) 评论(0) 推荐(0)
摘要:RocketMQwiki是一个分布式消息和流数据平台,具有低延迟、高性能、高可靠性、万亿级容量和灵活的可扩展性。RocketMQ是2012年阿里巴巴开源的第三代分布式消息中间件,2016年11月21日,阿里巴巴向Apache软件基金会捐赠了RocketMQ;第二年2月20日,Apache软件基金会宣 阅读全文
posted @ 2021-12-25 20:36 FatalFlower 阅读(547) 评论(0) 推荐(0)
摘要:消息中间件的作用 采用消息中间件的原因: 有时并发量并不是一直那么大,只是瞬时间有那么大的流量导致系统在这个时间区间内无法负载这么大的流量,导致系统崩溃。这种情况下,可以采用消息中间件来暂时存储这些消息,在之后的时间区域内再进行处理,这也被成为 “削峰填谷” 随着微服务的流行,需要对系统的各个部分进 阅读全文
posted @ 2021-12-25 10:50 FatalFlower 阅读(397) 评论(0) 推荐(0)
摘要:本文翻译于: https://redis.io/topics/distlock 分布式锁在不同的进程必须互斥地访问共享资源的情况下是十分有用的。 已经有许多的库和博客描述了如何使用 Redis 来实现 DLM(Distrubtion Lock Manage)。但是这些库都使用了不同的方法,并且与使用 阅读全文
posted @ 2021-12-15 21:44 FatalFlower 阅读(763) 评论(0) 推荐(0)
摘要:RDB 支持手工执行和服务端定期执行。持久化的内容为二进制数据文件 // server.h struct redisServer { …………………… // 保存 saveparams 数组 struct saveparam *saveparams; /* Save points array for 阅读全文
posted @ 2021-09-28 21:12 FatalFlower 阅读(42) 评论(0) 推荐(0)
摘要:Redis: Remote Dictionary Service(远程字典服务)。主要存储键值对类型的数据,对于键(key) 来讲,只能是 String 类型的,而对于 值(value) 来讲,可以是其它的数据类型。 基本数据结构 Redis 中存在五种常见的数据结构,分别是 String(字符串) 阅读全文
posted @ 2021-09-27 17:28 FatalFlower 阅读(133) 评论(0) 推荐(0)
摘要:前言 ​ 基于 Git 的使用,已经在前文有过相关的介绍,使用 Git 用作日常的开发基本上是足够的。现在,本文将详细介绍一些有关 Git 的实现原理。 底层命令与上层命令 ​ 一般情况下,正常使用的 Git 命令,如 git add、git checkout 等都是由 Git 封装好的上层命令,这 阅读全文
posted @ 2021-09-07 17:32 FatalFlower 阅读(356) 评论(0) 推荐(0)
摘要:什么是 Git ​ 在使用 Git 前,了解 Git 对于之后的学习会有很大的帮助。 ​ Git 是一个分布式的版本控制软件,最初的目的是为了更好的管理 Linux 内核的开发。相比较于其它的软件版本控制系统,虽然总体上用起来与它们十分的相似,但是在对于信息的存储和认知上有很大的差异。主要体现在: 阅读全文
posted @ 2021-08-09 19:11 FatalFlower 阅读(58) 评论(0) 推荐(0)