05 2023 档案
摘要:1、项目经理及影响力 职能经理专注于对某个职能领域或业务部门的管理监督。 运营经理负责保证业务运营的高效性。 项目经理是由执行组织委派,领导团队实现项目目标的个人。 项目经理领导项目团队实现项目目标和相关方的期望。 项目经理充当项目发起人、团队成员与其他相关方之间的沟通者,包括提供指导和展示项目成功
阅读全文
摘要:影响项目的两大主要因素:事业环境因素 (EEF) 和 组织过程资产 (OPA)。 1、事业环境因素 事业环境因素(EEFS)是指项目团队不能控制的,将对项目产生影响、限制或指令作用的各种条件。这些条件可能来自于组织的内部和(或)外部。 2、组织过程资产 组织过程资产是执行组织所特有并使用的计划、过程
阅读全文
摘要:1、项目相关概念 项目:为创造独特的产品、服务或成果而进行的临时性工作。 项目是组织创造价值和效益的主要方式 项目管理:将知识、技能、工具与技术应用于项目活动,以满足项目的要求。 项目集管理指在项目集中应用知识、技能与原则来实现项目集的目标,获得分别管理项目集组成部分所无法实现的利益和控制。 项目组
阅读全文
摘要:有关Namesrv的概念及功能,详见RocketMQ(三):架构设计中技术架构组成namesrv,这里不再赘述。 RocketMQ中Namesrv启动入口:org.apache.rocketmq.namesrv.NamesrvStartup。 Namesrv启动,NamesrvStartup#mai
阅读全文
摘要:一、RocketMQ源码包模块概览 rocketmq源码包各模块内容如下: 1、命名服务模块 - namesrv namesrv被称为命名服务,主要用于Topic路由信息存储;管理broker节点(路由注册、路由删除)。 2、服务端模块 - broker 接收MQ客户端(生产者、消费者)的请求,调用
阅读全文
摘要:1、LinkedBlockingQueue使用 LinkedBlockingQueue的使用案例详情如下: 1 import java.util.concurrent.LinkedBlockingDeque; 2 import java.util.concurrent.LinkedBlockingQ
阅读全文
摘要:一、源码地址下载 RocketMQ官网下载地址:https://github.com/apache/rocketmq/tags。 当前搭建的是4.8.0版本的rocketmq,下载zip压缩包至本地,并解压。 当解压后的RocketMQ源码导入IDEA。 二、源码环境搭建 1、启动NameServe
阅读全文
摘要:ReentrantLock是互斥锁,若存在读多写少同时保证线程安全的场景,ReentrantLock效率比较低,此时需要用到ReentrantReadWriteLock。 一、ReentrantReadWriteLock介绍 ReentrantReadWriteLock是可重入的读写锁,实现了Rea
阅读全文
摘要:一、ReentrantLock介绍 ReentrantLock是JDK1.5引入的,实现Lock接口的互斥锁。保证多线程的环境下,共享资源的原子性。与Synchronized的非公平锁不同,ReentrantLock的实现公平锁、非公平锁。ReentrantLock是重入锁,重入是指,同一个线程可以
阅读全文
摘要:在分布式系统中,肯定避免不了获取全局唯一ID,用于业务主键,本节主要学习分布式ID常用的生成方法。 一、UUID UUID (Universally Unique Identifier),通用唯一识别码。UUID是基于当前时间、计数器(counter)和硬件标识(通常为无线网卡的MAC地址)等数据计
阅读全文
摘要:1、CyclicBarrier的介绍 CyclicBarrier 被称为栅栏,允许一组线程相互等待,直到这一组线程都准备完毕,放行,程序方可继续执行。 就好像做摩天轮,游乐园规定,至少有9个游客乘坐摩天轮,管理员才可以启动摩天轮,游客数和管理员少一个条件,摩天轮都不会启动。 2、CyclicBarr
阅读全文
摘要:ConditionObject是AbstractQueuedSynchronizer(AQS)实现的内部类,类图如下: 1、Condition接口 ConditionObject实现了Condition接口。先来看看Codition接口。 Codition中主要定义了挂起线程和唤醒线程的接口方法。C
阅读全文
摘要:一、协程的创建 Go 语言支持并发,只需要通过 go 关键字来开启 goroutine(协程) 即可。 goroutine(协程) 是轻量级线程,goroutine(协程) 的调度是由 Golang 运行时进行管理的。 goroutine 语法格式(创建协程): go 函数名( 参数列表 ) 示例代
阅读全文
摘要:1、通道 通道channel是Go提供的一种用于各个协程(goroutine)之间的数据共享,保证数据同步交换的机制。协程是轻量级线程,类似于Java中的线程。 2、通道的类型 2.1、无缓冲通道 用于同步通信,可保证在发送和接收数据时完成两个goroutine(协程)的数据交换。 2.2、缓冲通道
阅读全文
摘要:包管理工具,用来管理模块中包的依赖关系。下面来看看go mod的使用方法。 1.1、初始化模块 go mod init 项目模块名 1.2、依赖关系处理,根据go.mod文件 go mod tidy 1.3、将依赖复制到项目下的vendor目录 go mod vendor 如果包被屏蔽(墙),随后使
阅读全文
摘要:1、接口的声明 Go语言中的接口是一种新的类型定义,拥有将具有共性的方法定义在一起的特性。任何其他类型只要实现了这些方法就是实现了这个接口。 语法详情如下: /* 定义接口 */ type interface_name interface { method_name1 [return_type] m
阅读全文
摘要:Go语言没有Java语言面向对象的特性,也无类对象的概念。但可以使用结构体实现这些特性。 1、方法的声明 Go中的方法是一种特殊的函数,与struct相关联,被称为struct的接收者。可以理解为方法就是有接收者的函数。语法格式如下: type mystruct struct{} func (rec
阅读全文
摘要:RocketMQ的消息采用文件进行持久化存储。 1、存储目录详情 RocketMQ中默认文件存储位置/root/store,文件详情如下 commitLog:消息存储目录 config:运行期间一些配置信息 consumerqueue:消息消费队列存储目录 index:消息索引文件存储目录 chec
阅读全文
摘要:事务消息官网:RocketMQ官网 - 事务消息。 一、什么是事务消息 事务消息是 RocketMQ 提供的一种消息类型,支持在分布式场景下保障消息生产和本地事务的最终一致性。 二、事务消息的原理 2.1、事务消息的生命周期 2.1.1、初始化 半事务消息被生产者构建并完成初始化,待发送到服务端的状
阅读全文
摘要:一、什么是延时/定时消息 定时/延时消息为 RocketMQ 中提供的一种消息类型。定时消息和延时消息本质相同,都是服务端根据消息设置的定时时间在某一固定时刻将消息投递给消费者消费。 Producer将消息发送到消息队列 RocketMQ 服务端,但并不期望这条消息立马投递(被消费者消费),而是延迟
阅读全文
摘要:一、什么是顺序消息 消息有序指的是可以按照消息的发送顺序来消费(FIFO)。 顺序消息是 RocketMQ 提供的一种消息类型,支持消费者按照发送消息的先后顺序获取消息。顺序消息在发送、存储和投递的处理过程中,强调多条消息间的先后顺序关系。RocketMQ 顺序消息的顺序关系通过消息组(Messag
阅读全文
摘要:普通消息为 RocketMQ 中最基础的消息,支持生产者和消费者的异步解耦通信。 一、普通消息的生命周期 1、初始化 消息被生产者构建并完成初始化,待发送到服务端的状态。 2、待消费 消息被发送到服务端,对消费者可见,等待消费者消费的状态。 3、消费中 消息被消费者获取,并按照消费者本地的业务逻辑进
阅读全文
摘要:引入RocketMQ客户端的maven依赖: <dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-client</artifactId> <version>5.0.0</version> </depende
阅读全文
摘要:详细部署方式可以参考官网:官网RocketMQ部署方式。 一、环境准备 1.1、JDK环境准备 详情参考:Linux搭建JDK环境。 1.2、RocketMQ准备 1、下载RocketMQ 下载RocketMQ地址:rocketmq-all-4.7.1-bin-release.zip。 2、将Roc
阅读全文
摘要:一、上传linux版本的JDK包至服务器 本次实验上传的linux目录为/usr/local/develop/JDK。 二、解压JDK压缩包 tar -zvxf jdk-8u351-linux-x64.tar.gz 解压后详情如下 三、配置JDK环境变量 3.1、打开profile文件,配置jdk的
阅读全文
摘要:一、普通消息 普通消息为 RocketMQ 中最基础的消息,区别于有特性的顺序消息、定时/延时消息和事务消息 普通消息一般应用于微服务解耦、事件驱动、数据集成等场景,这些场景大多数要求数据传输通道具有可靠传输的能力,且对消息的处理时机、处理顺序没有特别要求。 1、普通消息典型应用场景 1.1、微服务
阅读全文