Flink CDC入门实践--基于 Flink CDC 构建 MySQL 和 Postgres 的 Streaming ETL 最近在学习Flink CDC相关的知识,作为小白就从官方的教学示例开始动手,本篇文章分享的是官方教程实践–基于 Flink CDC 构建 MySQL 和 Postgres 的 Streaming ETL。
producer发送消息的tps较低时rocketmq_client_consumer_pull_rt的值较高原因分析 最近在本地做了一个测试发现,当producer端每分钟发送一条数据时,consumer端正常消费的情况下rocketmq-client-consumer-pull-rt指标的值却很高,本篇文章就来分析下原因。
RocketMQ主从模式下slave文件系统readonly时,producer端catch RemotingTooMuchRequestException 问题描述:1.RocketMQ集群(V4.9.1)部署方式为一主一从,并且是同步刷盘同步复制2.当slave节点的文件系统readonly时,在master节点上执行benchmark下的producer直到Send TPS为0,此时以下程序再往集群中同步发送数据producer端在等待设置的超时时间(超时时间设置从秒级到分钟级)后catch RemotingTooMuchRequestException
RocketMQ HA模式master节点文件系统readonly后的一些问题 最近身边有个朋友问出RocketMQ HA模式master节点文件系统readonly产生的一些问题,所以这里从源码角度分析下master节点文件系统readonly分别对broker端存储消息、HA主从同步以及对客户端的影响(源码版本是4.9.1,测试环境中配置的是同步刷盘同步复制)。
记一次client-go接口使用问题:动态修改PVC的存储大小 在k8s集群中如何通过client-go的接口来动态修改PVC的存储大小呢?笔者开始时调用了其update接口,但是发现日志中会出现错误信息:PVC的spec是不可修改的;后面将接口换成patch,但是在调用patch接口时需要指定PatchType,PatchType分为四种:JSONPatchType、MergePatchType、StrategicMergePatchType和ApplyPatchType。MergePatchType和StrategicMergePatchType对于修改PVC的
Go语言核心36讲笔记12--接口类型的合理运用 文章目录1.接口的基础知识点2.如何判断一个数据类型的某个方法就是某个接口类型中的某个方法?3.当为一个接口类型赋值时会发生什么?4.接口变量的值在什么情况下才真正为nil?5.接口之间的组合6.如果我们把一个值为nil的某个实现类型的变量赋给了接口变量,那么在这个接口变量上仍然可 以调用该接口的方法吗?如果可以,有哪些注意事项?如果不可以,原因是什么?1.接口的基础知识点接口不能实例化,不能调用new函数或者make函数创建出一个接口类型的值不能用字面量来表示一个接口类型的值接口类型中声明的方
Go语言核心36讲笔记11--结构体及其方法的使用法门 文章目录1.函数与方法的区别2.结构体类型中的某个字段声明只有一个类型名,那么该字段代表了什么?3.Go语言是用嵌入字段实现继承吗?4.值方法与指针方法是什么意思,两者有何区别?5.思考题1.函数与方法的区别函数的定义声明中没有接收者,而在定义方法时会在func和方法名之间增加一个参数,这个参数就是接收者,这样就将方法和接收者绑定在一起了。此外方法隶属于类型。package mainimport "fmt"func main() { fmt.Println(sum(1, 2)) s :
GitHub不再支持密码验证 文章目录一、问题描述二、问题解决1.生成token2.提交代码3.将token添加到远程仓库链接中一、问题描述今天在提交代码到GitHub时出现以下报错信息:git push -u origin masterUsername for 'https://github.com': sunxi92Password for 'https://sunxi92@github.com': remote: Support for password authentication was removed on A
Docker环境下部署MySQL MGR单主模式集群 文章目录一、MySQL MGR单主模式集群部署1.拉取镜像2.创建MySQL专用网络3.创建MySQL容器挂载在本地的存储数据的目录4.创建3个MySQL容器5.在本地修改MySQL的配置项6.重启MySQL容器7.在所有MySQL容器中安装MGR插件8.在所有节点上创建复制账号9.启动MGR单主模式二、MySQL MGR单主模式集群中添加节点1.创建新节点在本地挂载的存储数据的目录2.创建1个MySQL容器3.修改新增MySQL容器的配置项4.重启新增MySQL容器5.在新增MySQL容器上安装MGR插件
Go语言核心36讲笔记10--使用函数的正确姿势 文章目录1.函数签名2.高阶函数3.思考题1.函数签名函数签名其实就是函数的参数列表和结果列表的统称,它定义了可用来鉴别不同函数的特征,同时也定义了与函数交互的方式。注意:各个参数结果和结果的名称不能算作函数签名的一部分,甚至对于结果声明来说,没有名称都可以。只有两个函数的参数列表和结果列表中的元素顺序及其类型是一致的,那么就可以说它们是一样的函数或者实现了同一函数类型的函数。package mainimport "fmt"type Printer func(contents string)
Go语言核心36讲笔记09--通道的高级玩法 文章目录1.单向通道1.1什么是单向通道?1.2单向通道有什么应用价值2.select3.思考题1.单向通道1.1什么是单向通道?单向通道是只能发不能收或者只能收不能发的通道,一个通道是单向的还是双向的是由它的类型字面量体现的。通道的类型字面量中的<-表示的是通道的方向:// 只能发不能收的通道var uselessChan = make(chan<- int, 1)// 只能收不能发的通道var anotherUselessChan = make(<-chan int,
Go语言核心36讲笔记07--字典的操作和约束 文章目录1.字典的键类型不能是哪些类型?2.在字典中如何查找键值?3.优先考虑哪些类型作为字典的键类型?4.在值为nil的字典上执行读操作会能成功吗,那写操作呢?1.字典的键类型不能是哪些类型?Go 语言字典的键类型不可以是函数类型、字典类型和切片类型如果键的类型是接口类型的,那么键值的实际类型也不能是上述三种类型如果键的类型是数组类型,那么还要确保该类型的元素类型不是函数类型、字典类型 或切片类型注意:Go 语言规范规定,在键类型的值之间必须可以施加操作符==和!=。2.在字典中如何查找
Go语言核心36讲笔记06--container包中的那些容器 文章目录1.list基本使用2.ring基本使用3.Ring和List的区别4.heap1.list基本使用Go 语言的链表实现在其标准库的 container/list代码包中,这个包包含了两个公开的程序实体:List和Element,前者实现了一个双向链表,而后者则代表了链表中元素的结构。package mainimport ( "container/list" "fmt")func main() { //initialize a list l := list.New() fm
Go语言核心36讲笔记04--程序实体的那些事儿 文章目录1.声明变量的方式2.Go语言的类型推断带来哪些好处?3.变量重声明的前提条件4.Go语言中查找变量的过程5.不同代码块中的重名变量与变量重声明中的变量之间的区别6.类型断言表达式7.类型转换规则中有哪些值得注意的地方?8.潜在类型中需要注意的地方9.类型定义与类型别名10.思考题1.声明变量的方式var 变量名字 类型 = 表达式短变量声明2.Go语言的类型推断带来哪些好处?Go 语言的类型推断可以明显提升程序的灵活性,使得代码重构变得更加容易,同时又不会给代码的维护带来额外负担(实
Go语言核心36讲笔记05--数据和切片 文章目录1.数组与切片的区别与联系2.怎样估算切片容量的增长?3.切片的底层数组什么时候会被替换?4.思考题1.数组与切片的区别与联系数组的值的长度是固定的,而切片的值是可变长的切片的长度可以自动地随着其中元素数量的增长而增长,但不会随着元 素数量的减少而减少切片是引用类型,数组是值类型切片的容量表示其底层数组的长度切片的长度表示可以连续获取其底层数组中元素的数量2.怎样估算切片容量的增长?当一个切片无法容纳更多的元素时就会扩容,但是并不会改变原来的切片,而是会生成一个容量更大的切片
Go语言核心36讲笔记03--库源码文件 文章目录1.库源码文件2.示例demo3.思考题1.库源码文件库源码文件不能被直接运行,它仅仅用来存放程序实体,只要遵从Go语言规范,这些程序实体就可以被其他代码使用。2.示例demo(1)demo1代码结构如下://demo1.gopackage mainimport ( "flag")var name stringfunc init() { flag.StringVar(&name, "name", "everyone", "The greeting obje