04 2023 档案
摘要:官网地址:RocketMQ官网架构设计地址。 一、技术架构 1.1、RocketMQ整体技术架构图 1.2、技术架构的组成 RocketMQ从技术架构上分为四部分,分别为Producer(生产者)、Consumer(消费者)、BrokerServer(服务实例)、NameServer(Topic路由
阅读全文
摘要:RocketMQ 是一款典型的分布式架构下的中间件,使用异步通信方式和发布订阅的消息传输模型。 RocketMQ的异步通信,系统拓扑简单、上下游耦合较弱,主要应用于异步解耦,流量削峰填谷等场景。 1、领域模型 RocketMQ 中消息的生命周期主要分为消息生产、消息存储、消息消费三部分。生产者生产消
阅读全文
摘要:RocketMQ官方文档地址:RocketMQ官网文档地址。 一、什么是RocketMQ RocketMQ是一款分布式、队列模型的消息中间件。 二、RocketMQ的基本概念 2.1、Topic - 主题 Topic是RocketMQ 中消息传输和存储的顶层容器,用于标识同一类业务逻辑的消息,通过T
阅读全文
摘要:1、函数 函数一般用于执行某一特定的任务,go函数有三个要素:函数名称、返回类型、参数。 2、函数特性 1、go中不允许函数重载(overload),不允许函数同名; 2、go中函数不能嵌套函数,但可以嵌套匿名函数; 3、函数可作为参数传递给另一个函数; 4、函数的返回值可以是一个函数; 5、函数调
阅读全文
摘要:1、ArrayBlockingQueue使用 ArrayBlockingQueue的使用案例详情如下: 1 import java.util.concurrent.ArrayBlockingQueue; 2 3 public class TestArrayBlockingQueue { 4 5 pu
阅读全文
摘要:1、Semaphore介绍 计数信号量 - Semaphore,常用来限制访问资源的线程数量。优点类似限流中的令牌桶算法,只有拿到信号量的线程才能执行,与令牌桶算法未拿到令牌不处理请求不同的是,在Semaphore中未拿到信号量的线程会阻塞等待,直到有某个线程释放了持有的信号量。 2、Semapho
阅读全文
摘要:1、CountDownLatch介绍 CountDownLatch让一个或多个线程等待其他线程执行完成后再执行。在创建CountDownLatch对象时,必须指定线程数count,每当一个线程执行完成调用countDown()方法,线程数count减1,当count减到0时,await()方法就不再
阅读全文
摘要:1、函数 函数一般用于执行某一特定的任务,go函数有三个要素:函数名称、返回类型、参数。 2、函数特性 1、go中不允许函数重载(overload),不允许函数同名; 2、go中函数不能嵌套函数,但可以嵌套匿名函数; 3、函数可作为参数传递给另一个函数; 4、函数的返回值可以是一个函数; 5、函数调
阅读全文
摘要:1、Callable 与 FutureTask介绍 1.1、Callable 创建线程有两种方式,一种是继承Thread类,一种是实现Runnable接口重写run方法。其实Thread也实现了Runable接口。 在Runable接口中,仅有一个无参无返回结果的run方法。Runable接口详情:
阅读全文
摘要:1、Synchronized是什么 Synchronized是Java中的关键字。 2、Synchronized的作用 Synchronized可避免多线程同时操作临界资源,同一时间点,只会有一个线程操作临界资源,保证了操作的原子性。 3、Synchronized的使用 Synchronized可以
阅读全文
摘要:前言 Nginx搭建,参考:Linux安装Nginx。 1、Nginx配置 添加nacos集群,调整端口与服务名,并设置代理,详情如下: 配置详情如下 http { include mime.types; default_type application/octet-stream; sendfile
阅读全文
摘要:1、类型定义与类型别名 1.1、类型定义 语法: type NewType Type NewType:表示自定义类型 Type:表示现有类型 1 package main 2 3 import "fmt" 4 5 // 类型定义 6 func definestruct() { 7 type Snai
阅读全文
摘要:1、指针 在Go中,指针的操作有两个符号:&(取地址) 和 * (变量指针的声明 | 取指针变量的值)。 一个指针变量指向了一个值的内存地址。 Go中函数传值皆为值拷贝,对于引用类型的传值,可以创建一个指针变量,无需拷贝数据。Go中,类型指针不能进行偏移和运算。 2、指针地址和指针类型 变量在运行是
阅读全文
摘要:Nacos集群部署的准备工作 - Nacos持久化已完成,详见: Nacos笔记(三):Nacos配置持久化,下面介绍Nacos的集群部署。部署三个nacos节点:nacos、nacos01、nacos02。 1、设置集群配置文件 1.1、复制集群配置文件 cp cluster.conf.examp
阅读全文
摘要:1、创建Nginx目录并进入 mkdir -p /usr/local/develop/nginx cd /usr/local/develop/nginx 2、下载Nginx 在创建的Nginx目录下执行下载命令 wget http://nginx.org/download/nginx-1.12.1.
阅读全文
摘要:官方文档:https://nacos.io/zh-cn/docs/deployment.html。 1、创建数据库并初始化 Nacos默认使用derby数据库,每次创建一个Nacos实例就会有一个derby。Nacos集群部署,有多个Nacos节点,会出现数据一致性问题,Nacos提供了外部数据库统
阅读全文
摘要:map是一种key:value键值对的数据结构容器,通过key检索value,是引用类型。map内部实现是哈希表。 1、Map的声明 1.1、显示声明 1、语法 /* 声明变量,默认 map 是 nil */ var map_variable map[key_data_type]value_data
阅读全文
摘要:1、Nacos下载 登录Nacos官网: https://github.com/alibaba/nacos/releases,下载Nacos服务及源码,这里下载的是Linux版本: nacos-server-2.2.0.zip是Windows版本。 2、Linux部署单机版Nacos服务 将下载的t
阅读全文
摘要:切片(Slice)是对数组的拓展,在Go中数组的长度一旦定义无法被修改,切片的长度是不固定的,可以理解为切片是一个可变长度数组,是一个有相同类型元素的可变长度序列。 1、声明切片 1.1、显示声明切片 1、语法 声明切片语法如下: var sclicename []type 2、示例代码 1 pac
阅读全文
摘要:1、下载MySQL MySQL官网:https://downloads.mysql.com/archives/community/。下载Linux版本的MySQL安装包,这里我选择的是64位、8.0.31版本,下载的压缩包名称:mysql-8.0.31-linux-glibc2.12-x86_64.
阅读全文
摘要:数组是同类型的数据集合,数组长度一旦被定义就不能被修改,可通过下标访问数组元素。 1、声明数组 1.1、语法 var variable_name [SIZE] variable_type variable_name 数组名称 SIZE 数组长度,必须为常量 variable_type 数组保存元素的
阅读全文
摘要:1、for循环 与Java语言不同,go语言中只有for循环,没有while和do while。for表达式无需加括号,语法如下: for 初始语句;条件表达式;结束语句 { 循环体语句 } 示例代码如下: 1 package main 2 3 import "fmt" 4 5 /** 6 循环 7
阅读全文
摘要:Go语言中的if语句根据条件表达式的结果选择需要执行的业务流程。 1、if控制语句 1、if 语法 语法详情如下: if 条件表达式 { // 条件表达式为true,执行的代码块 } 条件表达式必须返回布尔型的结果,与Java语法不同,在Go中,if的条件表达式不使用括号。 2、if/else 语法
阅读全文
摘要:前言 Go官方编程指南:https://golang.google.cn/doc/tutorial/ 选择中文阅读go的官方文档。 查看官方提供的go的包的函数使用,即API(application program interface)应用程序接口,就是go的各个包的各个函数:https://gol
阅读全文
摘要:一、什么是ThreadLocal ThreadLocal是线程内的局部变量,仅在线程的生命周期内起作用。变量值在线程间不可见。 二、ThreadLocal的使用 ThreadLocal使用详情如下: 1 import java.util.concurrent.CountDownLatch; 2 3
阅读全文
摘要:1、什么是线程 线程是CPU调度执行的基本单元。 JVM允许在一个程序中同时执行多个线程,在Java中,用java.lang.Thread这个类来表示线程。 线程有优先级,高优先级的线程往往会比低优先级的线程先执行。 守护线程(daemon Thread),主线程执行完,守护线程跟着结束。 2、Th
阅读全文