阿里Canal學習筆記

github地址

canal

使用IDEA打開,注意國內加載慢的問題,解決方式如下:

在這里插入圖片描述
在這里插入圖片描述

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"><mirrors><mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf></mirror><mirror><id>uk</id><mirrorOf>central</mirrorOf><name>Human Readable Name for this Mirror.</name><url>http://uk.maven.org/maven2/</url></mirror><mirror><id>CN</id><name>OSChina Central</name><url>http://maven.oschina.net/content/groups/public/</url><mirrorOf>central</mirrorOf></mirror><mirror><id>nexus</id><name>internal nexus repository</name><url>http://repo.maven.apache.org/maven2</url><mirrorOf>central</mirrorOf></mirror></mirrors>
</settings>

編譯成功

在這里插入圖片描述

源碼模塊

Modules ‘canal.parse.driver’, ‘canal.sink’, ‘client-adapter.launcher’, ‘canal.client’, ‘canal.prometheus’ and 36 others were fully rebuilt due to project configuration/dependencies changes
在這里插入圖片描述

admin模塊:???

client模塊:canal的客戶端。核心接口為CanalConnector

client-adapter模塊:???

common模塊:主要是提供了一些公共的工具類和接口。

connector模塊:???

driver模塊和dbsync模塊:從這兩個模塊的artifactId(canal.parse.driver、canal.parse.dbsync),就可以看出來,這兩個模塊實際上是parser模塊的組件。事實上parser 是通過driver模塊與mysql建立連接,從而獲取到binlog。由于原始的binlog都是二進制流,需要解析成對應的binlog事件,這些binlog事件對象都定義在dbsync模塊中,dbsync 模塊來自于淘寶的tddl。

deployer:部署模塊。通過該模塊提供的CanalLauncher來啟動canal server

docker模塊:???

example模塊:提供client模塊使用案例。

filter模塊:???

images:圖片

instance模塊:一個server有多個instance。每個instance都會模擬成一個mysql實例的slave。instance模塊有四個核心組成部分:parser模塊、sink模塊、store模塊,meta模塊。核心接口為CanalInstance

meta模塊:增量訂閱&消費信息管理器,核心接口為CanalMetaManager,主要用于記錄canal消費到的mysql binlog的位置

parse模塊:數據源接入,模擬slave協議和master進行交互,協議解析。parser模塊依賴于dbsync、driver模塊。

prometheus模塊:

protocol模塊:client和server模塊之間的通信協議

server模塊:canal服務器端。核心接口為CanalServer

sink模塊:parser和store鏈接器,進行數據過濾,加工,分發的工作。核心接口為CanalEventSink

store模塊:數據存儲。核心接口為CanalEventStore

在這里插入圖片描述
通過deployer模塊,啟動一個canal-server,一個cannal-server內部包含多個instance,每個instance都會偽裝成一個mysql實例的slave。client與server之間的通信協議由protocol模塊定義。client在訂閱binlog信息時,需要傳遞一個destination參數,server會根據這個destination確定由哪一個instance為其提供服務。

項目目錄

D:\SRC\CANAL
├─.github
│  └─ISSUE_TEMPLATE
├─.idea
├─.mvn
│  └─wrapper
├─admin
│  ├─admin-ui
│  │  ├─build
│  │  ├─mock
│  │  ├─node
│  │  ├─public
│  │  ├─src
│  │  │  ├─api
│  │  │  ├─assets
│  │  │  │  └─404_images
│  │  │  ├─components
│  │  │  │  ├─Breadcrumb
│  │  │  │  ├─Hamburger
│  │  │  │  ├─Pagination
│  │  │  │  └─SvgIcon
│  │  │  ├─icons
│  │  │  │  └─svg
│  │  │  ├─layout
│  │  │  │  ├─components
│  │  │  │  │  └─Sidebar
│  │  │  │  └─mixin
│  │  │  ├─router
│  │  │  ├─store
│  │  │  │  └─modules
│  │  │  ├─styles
│  │  │  ├─utils
│  │  │  └─views
│  │  │      ├─canalServer
│  │  │      ├─dashboard
│  │  │      ├─login
│  │  │      └─sys
│  │  └─tests
│  │      └─unit
│  │          ├─components
│  │          └─utils
│  └─admin-web
│      ├─src
│      │  ├─main
│      │  │  ├─assembly
│      │  │  ├─bin
│      │  │  ├─java
│      │  │  │  └─com
│      │  │  │      └─alibaba
│      │  │  │          └─otter
│      │  │  │              └─canal
│      │  │  │                  └─admin
│      │  │  │                      ├─common
│      │  │  │                      │  └─exception
│      │  │  │                      ├─config
│      │  │  │                      ├─connector
│      │  │  │                      ├─controller
│      │  │  │                      ├─handler
│      │  │  │                      ├─model
│      │  │  │                      └─service
│      │  │  │                          └─impl
│      │  │  └─resources
│      │  │      └─public
│      │  │          └─static
│      │  │              ├─css
│      │  │              ├─fonts
│      │  │              ├─img
│      │  │              └─js
│      │  └─test
│      │      └─java
│      │          └─com
│      │              └─alibaba
│      │                  └─otter
│      │                      └─canal
│      │                          └─admin
│      └─target
│          ├─classes
│          │  ├─com
│          │  │  └─alibaba
│          │  │      └─otter
│          │  │          └─canal
│          │  │              └─admin
│          │  │                  ├─common
│          │  │                  │  └─exception
│          │  │                  ├─config
│          │  │                  ├─connector
│          │  │                  ├─controller
│          │  │                  ├─handler
│          │  │                  ├─model
│          │  │                  └─service
│          │  │                      └─impl
│          │  └─public
│          │      └─static
│          │          ├─css
│          │          ├─fonts
│          │          ├─img
│          │          └─js
│          ├─generated-sources
│          │  └─annotations
│          ├─generated-test-sources
│          │  └─test-annotations
│          └─test-classes
│              └─com
│                  └─alibaba
│                      └─otter
│                          └─canal
│                              └─admin
├─client
│  ├─src
│  │  ├─main
│  │  │  └─java
│  │  │      └─com
│  │  │          └─alibaba
│  │  │              └─otter
│  │  │                  └─canal
│  │  │                      └─client
│  │  │                          ├─impl
│  │  │                          │  └─running
│  │  │                          ├─kafka
│  │  │                          │  └─protocol
│  │  │                          ├─pulsarmq
│  │  │                          ├─rabbitmq
│  │  │                          └─rocketmq
│  │  └─test
│  │      └─java
│  │          └─com
│  │              └─alibaba
│  │                  └─otter
│  │                      └─canal
│  │                          └─client
│  │                              └─running
│  └─target
│      ├─classes
│      │  └─com
│      │      └─alibaba
│      │          └─otter
│      │              └─canal
│      │                  └─client
│      │                      ├─impl
│      │                      │  └─running
│      │                      ├─kafka
│      │                      │  └─protocol
│      │                      ├─pulsarmq
│      │                      ├─rabbitmq
│      │                      └─rocketmq
│      ├─generated-sources
│      │  └─annotations
│      ├─generated-test-sources
│      │  └─test-annotations
│      └─test-classes
│          └─com
│              └─alibaba
│                  └─otter
│                      └─canal
│                          └─client
│                              └─running
├─client-adapter
│  ├─common
│  │  ├─src
│  │  │  ├─main
│  │  │  │  └─java
│  │  │  │      └─com
│  │  │  │          └─alibaba
│  │  │  │              └─otter
│  │  │  │                  └─canal
│  │  │  │                      └─client
│  │  │  │                          └─adapter
│  │  │  │                              └─support
│  │  │  └─test
│  │  │      └─java
│  │  │          └─com
│  │  │              └─alibaba
│  │  │                  └─otter
│  │  │                      └─canal
│  │  │                          └─client
│  │  │                              └─adapter
│  │  │                                  └─support
│  │  └─target
│  │      ├─classes
│  │      │  └─com
│  │      │      └─alibaba
│  │      │          └─otter
│  │      │              └─canal
│  │      │                  └─client
│  │      │                      └─adapter
│  │      │                          └─support
│  │      ├─generated-sources
│  │      │  └─annotations
│  │      ├─generated-test-sources
│  │      │  └─test-annotations
│  │      └─test-classes
│  │          └─com
│  │              └─alibaba
│  │                  └─otter
│  │                      └─canal
│  │                          └─client
│  │                              └─adapter
│  │                                  └─support
│  ├─es6x
│  │  ├─src
│  │  │  ├─main
│  │  │  │  ├─java
│  │  │  │  │  ├─com
│  │  │  │  │  │  └─alibaba
│  │  │  │  │  │      └─otter
│  │  │  │  │  │          └─canal
│  │  │  │  │  │              └─client
│  │  │  │  │  │                  └─adapter
│  │  │  │  │  │                      └─es6x
│  │  │  │  │  │                          ├─etl
│  │  │  │  │  │                          └─support
│  │  │  │  │  └─org
│  │  │  │  │      └─elasticsearch
│  │  │  │  │          └─client
│  │  │  │  └─resources
│  │  │  │      ├─es6
│  │  │  │      └─META-INF
│  │  │  │          └─canal
│  │  │  └─test
│  │  │      ├─java
│  │  │      │  └─com
│  │  │      │      └─alibaba
│  │  │      │          └─otter
│  │  │      │              └─canal
│  │  │      │                  └─client
│  │  │      │                      └─adapter
│  │  │      │                          └─es6x
│  │  │      │                              └─test
│  │  │      │                                  └─sync
│  │  │      └─resources
│  │  │          └─es6
│  │  └─target
│  │      ├─classes
│  │      │  ├─com
│  │      │  │  └─alibaba
│  │      │  │      └─otter
│  │      │  │          └─canal
│  │      │  │              └─client
│  │      │  │                  └─adapter
│  │      │  │                      └─es6x
│  │      │  │                          ├─etl
│  │      │  │                          └─support
│  │      │  ├─es6
│  │      │  ├─META-INF
│  │      │  │  └─canal
│  │      │  └─org
│  │      │      └─elasticsearch
│  │      │          └─client
│  │      ├─generated-sources
│  │      │  └─annotations
│  │      ├─generated-test-sources
│  │      │  └─test-annotations
│  │      └─test-classes
│  │          ├─com
│  │          │  └─alibaba
│  │          │      └─otter
│  │          │          └─canal
│  │          │              └─client
│  │          │                  └─adapter
│  │          │                      └─es6x
│  │          │                          └─test
│  │          │                              └─sync
│  │          └─es6
│  ├─es7x
│  │  ├─src
│  │  │  ├─main
│  │  │  │  ├─java
│  │  │  │  │  └─com
│  │  │  │  │      └─alibaba
│  │  │  │  │          └─otter
│  │  │  │  │              └─canal
│  │  │  │  │                  └─client
│  │  │  │  │                      └─adapter
│  │  │  │  │                          └─es7x
│  │  │  │  │                              ├─etl
│  │  │  │  │                              └─support
│  │  │  │  └─resources
│  │  │  │      ├─es7
│  │  │  │      └─META-INF
│  │  │  │          └─canal
│  │  │  └─test
│  │  │      └─java
│  │  │          └─com
│  │  │              └─alibaba
│  │  │                  └─otter
│  │  │                      └─canal
│  │  │                          └─client
│  │  │                              └─adapter
│  │  │                                  └─es7x
│  │  │                                      └─test
│  │  └─target
│  │      ├─classes
│  │      │  ├─com
│  │      │  │  └─alibaba
│  │      │  │      └─otter
│  │      │  │          └─canal
│  │      │  │              └─client
│  │      │  │                  └─adapter
│  │      │  │                      └─es7x
│  │      │  │                          ├─etl
│  │      │  │                          └─support
│  │      │  ├─es7
│  │      │  └─META-INF
│  │      │      └─canal
│  │      ├─generated-sources
│  │      │  └─annotations
│  │      ├─generated-test-sources
│  │      │  └─test-annotations
│  │      └─test-classes
│  │          └─com
│  │              └─alibaba
│  │                  └─otter
│  │                      └─canal
│  │                          └─client
│  │                              └─adapter
│  │                                  └─es7x
│  │                                      └─test
│  ├─escore
│  │  ├─src
│  │  │  └─main
│  │  │      └─java
│  │  │          └─com
│  │  │              └─alibaba
│  │  │                  └─otter
│  │  │                      └─canal
│  │  │                          └─client
│  │  │                              └─adapter
│  │  │                                  └─es
│  │  │                                      └─core
│  │  │                                          ├─config
│  │  │                                          ├─monitor
│  │  │                                          ├─service
│  │  │                                          └─support
│  │  └─target
│  │      ├─classes
│  │      │  └─com
│  │      │      └─alibaba
│  │      │          └─otter
│  │      │              └─canal
│  │      │                  └─client
│  │      │                      └─adapter
│  │      │                          └─es
│  │      │                              └─core
│  │      │                                  ├─config
│  │      │                                  ├─monitor
│  │      │                                  ├─service
│  │      │                                  └─support
│  │      └─generated-sources
│  │          └─annotations
│  ├─hbase
│  │  ├─src
│  │  │  ├─main
│  │  │  │  ├─java
│  │  │  │  │  └─com
│  │  │  │  │      └─alibaba
│  │  │  │  │          └─otter
│  │  │  │  │              └─canal
│  │  │  │  │                  └─client
│  │  │  │  │                      └─adapter
│  │  │  │  │                          └─hbase
│  │  │  │  │                              ├─config
│  │  │  │  │                              ├─monitor
│  │  │  │  │                              ├─service
│  │  │  │  │                              └─support
│  │  │  │  └─resources
│  │  │  │      ├─hbase
│  │  │  │      └─META-INF
│  │  │  │          └─canal
│  │  │  └─test
│  │  │      └─java
│  │  │          └─com
│  │  │              └─alibaba
│  │  │                  └─otter
│  │  │                      └─canal
│  │  │                          └─client
│  │  │                              └─adapter
│  │  │                                  └─hbase
│  │  │                                      └─test
│  │  └─target
│  │      ├─classes
│  │      │  ├─com
│  │      │  │  └─alibaba
│  │      │  │      └─otter
│  │      │  │          └─canal
│  │      │  │              └─client
│  │      │  │                  └─adapter
│  │      │  │                      └─hbase
│  │      │  │                          ├─config
│  │      │  │                          ├─monitor
│  │      │  │                          ├─service
│  │      │  │                          └─support
│  │      │  ├─hbase
│  │      │  └─META-INF
│  │      │      └─canal
│  │      ├─generated-sources
│  │      │  └─annotations
│  │      ├─generated-test-sources
│  │      │  └─test-annotations
│  │      └─test-classes
│  │          └─com
│  │              └─alibaba
│  │                  └─otter
│  │                      └─canal
│  │                          └─client
│  │                              └─adapter
│  │                                  └─hbase
│  │                                      └─test
│  ├─kudu
│  │  ├─src
│  │  │  ├─main
│  │  │  │  ├─java
│  │  │  │  │  └─com
│  │  │  │  │      └─alibaba
│  │  │  │  │          └─otter
│  │  │  │  │              └─canal
│  │  │  │  │                  └─client
│  │  │  │  │                      └─adapter
│  │  │  │  │                          └─kudu
│  │  │  │  │                              ├─config
│  │  │  │  │                              ├─monitor
│  │  │  │  │                              ├─service
│  │  │  │  │                              └─support
│  │  │  │  └─resources
│  │  │  │      ├─kudu
│  │  │  │      └─META-INF.canal
│  │  │  └─test
│  │  │      └─java
│  │  │          └─com
│  │  │              └─alibaba
│  │  │                  └─otter
│  │  │                      └─canal
│  │  │                          └─client
│  │  │                              └─adapter
│  │  │                                  └─kudu
│  │  │                                      └─test
│  │  │                                          └─sync
│  │  └─target
│  │      ├─classes
│  │      │  ├─com
│  │      │  │  └─alibaba
│  │      │  │      └─otter
│  │      │  │          └─canal
│  │      │  │              └─client
│  │      │  │                  └─adapter
│  │      │  │                      └─kudu
│  │      │  │                          ├─config
│  │      │  │                          ├─monitor
│  │      │  │                          ├─service
│  │      │  │                          └─support
│  │      │  ├─kudu
│  │      │  └─META-INF.canal
│  │      ├─generated-sources
│  │      │  └─annotations
│  │      ├─generated-test-sources
│  │      │  └─test-annotations
│  │      └─test-classes
│  │          └─com
│  │              └─alibaba
│  │                  └─otter
│  │                      └─canal
│  │                          └─client
│  │                              └─adapter
│  │                                  └─kudu
│  │                                      └─test
│  │                                          └─sync
│  ├─launcher
│  │  ├─src
│  │  │  └─main
│  │  │      ├─assembly
│  │  │      ├─bin
│  │  │      ├─java
│  │  │      │  └─com
│  │  │      │      └─alibaba
│  │  │      │          └─otter
│  │  │      │              └─canal
│  │  │      │                  └─adapter
│  │  │      │                      └─launcher
│  │  │      │                          ├─common
│  │  │      │                          ├─config
│  │  │      │                          ├─loader
│  │  │      │                          ├─monitor
│  │  │      │                          │  └─remote
│  │  │      │                          └─rest
│  │  │      └─resources
│  │  │          └─META-INF
│  │  └─target
│  │      ├─classes
│  │      │  ├─com
│  │      │  │  └─alibaba
│  │      │  │      └─otter
│  │      │  │          └─canal
│  │      │  │              └─adapter
│  │      │  │                  └─launcher
│  │      │  │                      ├─common
│  │      │  │                      ├─config
│  │      │  │                      ├─loader
│  │      │  │                      ├─monitor
│  │      │  │                      │  └─remote
│  │      │  │                      └─rest
│  │      │  └─META-INF
│  │      └─generated-sources
│  │          └─annotations
│  ├─logger
│  │  ├─src
│  │  │  └─main
│  │  │      ├─java
│  │  │      │  └─com
│  │  │      │      └─alibaba
│  │  │      │          └─otter
│  │  │      │              └─canal
│  │  │      │                  └─client
│  │  │      │                      └─adapter
│  │  │      │                          └─logger
│  │  │      └─resources
│  │  │          └─META-INF
│  │  │              └─canal
│  │  └─target
│  │      ├─classes
│  │      │  ├─com
│  │      │  │  └─alibaba
│  │      │  │      └─otter
│  │      │  │          └─canal
│  │      │  │              └─client
│  │      │  │                  └─adapter
│  │      │  │                      └─logger
│  │      │  └─META-INF
│  │      │      └─canal
│  │      └─generated-sources
│  │          └─annotations
│  ├─phoenix
│  │  ├─src
│  │  │  ├─main
│  │  │  │  ├─java
│  │  │  │  │  └─com
│  │  │  │  │      └─alibaba
│  │  │  │  │          └─otter
│  │  │  │  │              └─canal
│  │  │  │  │                  └─client
│  │  │  │  │                      └─adapter
│  │  │  │  │                          └─phoenix
│  │  │  │  │                              ├─config
│  │  │  │  │                              ├─monitor
│  │  │  │  │                              ├─service
│  │  │  │  │                              └─support
│  │  │  │  └─resources
│  │  │  │      ├─META-INF
│  │  │  │      │  └─canal
│  │  │  │      └─phoenix
│  │  │  └─test
│  │  │      └─java
│  │  │          └─com
│  │  │              └─alibaba
│  │  │                  └─otter
│  │  │                      └─canal
│  │  │                          └─client
│  │  │                              └─adapter
│  │  │                                  └─phoenix
│  │  │                                      └─test
│  │  │                                          └─sync
│  │  └─target
│  │      ├─classes
│  │      │  ├─com
│  │      │  │  └─alibaba
│  │      │  │      └─otter
│  │      │  │          └─canal
│  │      │  │              └─client
│  │      │  │                  └─adapter
│  │      │  │                      └─phoenix
│  │      │  │                          ├─config
│  │      │  │                          ├─monitor
│  │      │  │                          ├─service
│  │      │  │                          └─support
│  │      │  ├─META-INF
│  │      │  │  └─canal
│  │      │  └─phoenix
│  │      ├─generated-sources
│  │      │  └─annotations
│  │      ├─generated-test-sources
│  │      │  └─test-annotations
│  │      └─test-classes
│  │          └─com
│  │              └─alibaba
│  │                  └─otter
│  │                      └─canal
│  │                          └─client
│  │                              └─adapter
│  │                                  └─phoenix
│  │                                      └─test
│  │                                          └─sync
│  ├─rdb
│  │  ├─src
│  │  │  ├─main
│  │  │  │  ├─java
│  │  │  │  │  └─com
│  │  │  │  │      └─alibaba
│  │  │  │  │          └─otter
│  │  │  │  │              └─canal
│  │  │  │  │                  └─client
│  │  │  │  │                      └─adapter
│  │  │  │  │                          └─rdb
│  │  │  │  │                              ├─config
│  │  │  │  │                              ├─monitor
│  │  │  │  │                              ├─service
│  │  │  │  │                              └─support
│  │  │  │  └─resources
│  │  │  │      ├─META-INF
│  │  │  │      │  └─canal
│  │  │  │      └─rdb
│  │  │  └─test
│  │  │      ├─java
│  │  │      │  └─com
│  │  │      │      └─alibaba
│  │  │      │          └─otter
│  │  │      │              └─canal
│  │  │      │                  └─client
│  │  │      │                      └─adapter
│  │  │      │                          └─rdb
│  │  │      │                              └─test
│  │  │      │                                  └─sync
│  │  │      └─resources
│  │  │          └─rdb
│  │  └─target
│  │      ├─classes
│  │      │  ├─com
│  │      │  │  └─alibaba
│  │      │  │      └─otter
│  │      │  │          └─canal
│  │      │  │              └─client
│  │      │  │                  └─adapter
│  │      │  │                      └─rdb
│  │      │  │                          ├─config
│  │      │  │                          ├─monitor
│  │      │  │                          ├─service
│  │      │  │                          └─support
│  │      │  ├─META-INF
│  │      │  │  └─canal
│  │      │  └─rdb
│  │      ├─generated-sources
│  │      │  └─annotations
│  │      ├─generated-test-sources
│  │      │  └─test-annotations
│  │      └─test-classes
│  │          ├─com
│  │          │  └─alibaba
│  │          │      └─otter
│  │          │          └─canal
│  │          │              └─client
│  │          │                  └─adapter
│  │          │                      └─rdb
│  │          │                          └─test
│  │          │                              └─sync
│  │          └─rdb
│  └─tablestore
│      ├─src
│      │  └─main
│      │      ├─java
│      │      │  └─com
│      │      │      └─alibaba
│      │      │          └─otter
│      │      │              └─canal
│      │      │                  └─client
│      │      │                      └─adapter
│      │      │                          └─tablestore
│      │      │                              ├─common
│      │      │                              ├─config
│      │      │                              ├─enums
│      │      │                              ├─service
│      │      │                              └─support
│      │      └─resources
│      │          ├─META-INF
│      │          │  └─canal
│      │          └─tablestore
│      └─target
│          ├─classes
│          │  ├─com
│          │  │  └─alibaba
│          │  │      └─otter
│          │  │          └─canal
│          │  │              └─client
│          │  │                  └─adapter
│          │  │                      └─tablestore
│          │  │                          ├─common
│          │  │                          ├─config
│          │  │                          ├─enums
│          │  │                          ├─service
│          │  │                          └─support
│          │  ├─META-INF
│          │  │  └─canal
│          │  └─tablestore
│          └─generated-sources
│              └─annotations
├─common
│  ├─src
│  │  ├─main
│  │  │  └─java
│  │  │      └─com
│  │  │          ├─alibaba
│  │  │          │  └─otter
│  │  │          │      └─canal
│  │  │          │          └─common
│  │  │          │              ├─alarm
│  │  │          │              ├─utils
│  │  │          │              └─zookeeper
│  │  │          │                  └─running
│  │  │          └─google
│  │  │              └─common
│  │  │                  └─collect
│  │  └─test
│  │      └─java
│  │          └─com
│  │              └─alibaba
│  │                  └─otter
│  │                      └─canal
│  │                          └─common
│  │                              └─utils
│  └─target
│      ├─classes
│      │  └─com
│      │      ├─alibaba
│      │      │  └─otter
│      │      │      └─canal
│      │      │          └─common
│      │      │              ├─alarm
│      │      │              ├─utils
│      │      │              └─zookeeper
│      │      │                  └─running
│      │      └─google
│      │          └─common
│      │              └─collect
│      ├─generated-sources
│      │  └─annotations
│      ├─generated-test-sources
│      │  └─test-annotations
│      └─test-classes
│          └─com
│              └─alibaba
│                  └─otter
│                      └─canal
│                          └─common
│                              └─utils
├─connector
│  ├─core
│  │  ├─src
│  │  │  └─main
│  │  │      └─java
│  │  │          └─com
│  │  │              └─alibaba
│  │  │                  └─otter
│  │  │                      └─canal
│  │  │                          └─connector
│  │  │                              └─core
│  │  │                                  ├─config
│  │  │                                  ├─consumer
│  │  │                                  ├─filter
│  │  │                                  ├─producer
│  │  │                                  ├─spi
│  │  │                                  └─util
│  │  └─target
│  │      ├─classes
│  │      │  └─com
│  │      │      └─alibaba
│  │      │          └─otter
│  │      │              └─canal
│  │      │                  └─connector
│  │      │                      └─core
│  │      │                          ├─config
│  │      │                          ├─consumer
│  │      │                          ├─filter
│  │      │                          ├─producer
│  │      │                          ├─spi
│  │      │                          └─util
│  │      └─generated-sources
│  │          └─annotations
│  ├─kafka-connector
│  │  ├─src
│  │  │  ├─main
│  │  │  │  ├─java
│  │  │  │  │  └─com
│  │  │  │  │      └─alibaba
│  │  │  │  │          └─otter
│  │  │  │  │              └─canal
│  │  │  │  │                  └─connector
│  │  │  │  │                      └─kafka
│  │  │  │  │                          ├─config
│  │  │  │  │                          ├─consumer
│  │  │  │  │                          └─producer
│  │  │  │  └─resources
│  │  │  │      └─META-INF
│  │  │  │          └─canal
│  │  │  └─test
│  │  │      └─java
│  │  │          └─com
│  │  │              └─alibaba
│  │  │                  └─otter
│  │  │                      └─canal
│  │  │                          └─connector
│  │  │                              └─kafka
│  │  │                                  └─test
│  │  └─target
│  │      ├─classes
│  │      │  ├─com
│  │      │  │  └─alibaba
│  │      │  │      └─otter
│  │      │  │          └─canal
│  │      │  │              └─connector
│  │      │  │                  └─kafka
│  │      │  │                      ├─config
│  │      │  │                      ├─consumer
│  │      │  │                      └─producer
│  │      │  └─META-INF
│  │      │      └─canal
│  │      ├─generated-sources
│  │      │  └─annotations
│  │      ├─generated-test-sources
│  │      │  └─test-annotations
│  │      └─test-classes
│  │          └─com
│  │              └─alibaba
│  │                  └─otter
│  │                      └─canal
│  │                          └─connector
│  │                              └─kafka
│  │                                  └─test
│  ├─pulsarmq-connector
│  │  ├─src
│  │  │  ├─main
│  │  │  │  ├─java
│  │  │  │  │  └─com
│  │  │  │  │      └─alibaba
│  │  │  │  │          └─otter
│  │  │  │  │              └─canal
│  │  │  │  │                  └─connector
│  │  │  │  │                      └─pulsarmq
│  │  │  │  │                          ├─config
│  │  │  │  │                          ├─consumer
│  │  │  │  │                          └─producer
│  │  │  │  └─resources
│  │  │  │      └─META-INF
│  │  │  │          └─canal
│  │  │  └─test
│  │  │      └─java
│  │  │          └─com
│  │  │              └─alibaba
│  │  │                  └─otter
│  │  │                      └─canal
│  │  │                          └─connector
│  │  │                              └─pulsarmq
│  │  │                                  └─consumer
│  │  └─target
│  │      ├─classes
│  │      │  ├─com
│  │      │  │  └─alibaba
│  │      │  │      └─otter
│  │      │  │          └─canal
│  │      │  │              └─connector
│  │      │  │                  └─pulsarmq
│  │      │  │                      ├─config
│  │      │  │                      ├─consumer
│  │      │  │                      └─producer
│  │      │  └─META-INF
│  │      │      └─canal
│  │      ├─generated-sources
│  │      │  └─annotations
│  │      ├─generated-test-sources
│  │      │  └─test-annotations
│  │      └─test-classes
│  │          └─com
│  │              └─alibaba
│  │                  └─otter
│  │                      └─canal
│  │                          └─connector
│  │                              └─pulsarmq
│  │                                  └─consumer
│  ├─rabbitmq-connector
│  │  ├─src
│  │  │  └─main
│  │  │      ├─java
│  │  │      │  └─com
│  │  │      │      └─alibaba
│  │  │      │          └─otter
│  │  │      │              └─canal
│  │  │      │                  └─connector
│  │  │      │                      └─rabbitmq
│  │  │      │                          ├─config
│  │  │      │                          ├─consumer
│  │  │      │                          └─producer
│  │  │      └─resources
│  │  │          └─META-INF
│  │  │              └─canal
│  │  └─target
│  │      ├─classes
│  │      │  ├─com
│  │      │  │  └─alibaba
│  │      │  │      └─otter
│  │      │  │          └─canal
│  │      │  │              └─connector
│  │      │  │                  └─rabbitmq
│  │      │  │                      ├─config
│  │      │  │                      ├─consumer
│  │      │  │                      └─producer
│  │      │  └─META-INF
│  │      │      └─canal
│  │      └─generated-sources
│  │          └─annotations
│  ├─rocketmq-connector
│  │  ├─src
│  │  │  └─main
│  │  │      ├─java
│  │  │      │  └─com
│  │  │      │      └─alibaba
│  │  │      │          └─otter
│  │  │      │              └─canal
│  │  │      │                  └─connector
│  │  │      │                      └─rocketmq
│  │  │      │                          ├─config
│  │  │      │                          ├─consumer
│  │  │      │                          └─producer
│  │  │      └─resources
│  │  │          └─META-INF
│  │  │              └─canal
│  │  └─target
│  │      ├─classes
│  │      │  ├─com
│  │      │  │  └─alibaba
│  │      │  │      └─otter
│  │      │  │          └─canal
│  │      │  │              └─connector
│  │      │  │                  └─rocketmq
│  │      │  │                      ├─config
│  │      │  │                      ├─consumer
│  │      │  │                      └─producer
│  │      │  └─META-INF
│  │      │      └─canal
│  │      └─generated-sources
│  │          └─annotations
│  └─tcp-connector
│      ├─src
│      │  └─main
│      │      ├─java
│      │      │  └─com
│      │      │      └─alibaba
│      │      │          └─otter
│      │      │              └─canal
│      │      │                  └─connector
│      │      │                      └─tcp
│      │      │                          ├─config
│      │      │                          └─consumer
│      │      └─resources
│      │          └─META-INF
│      │              └─canal
│      └─target
│          ├─classes
│          │  ├─com
│          │  │  └─alibaba
│          │  │      └─otter
│          │  │          └─canal
│          │  │              └─connector
│          │  │                  └─tcp
│          │  │                      ├─config
│          │  │                      └─consumer
│          │  └─META-INF
│          │      └─canal
│          └─generated-sources
│              └─annotations
├─dbsync
│  ├─src
│  │  ├─main
│  │  │  └─java
│  │  │      └─com
│  │  │          └─taobao
│  │  │              └─tddl
│  │  │                  └─dbsync
│  │  │                      └─binlog
│  │  │                          ├─event
│  │  │                          │  └─mariadb
│  │  │                          └─exception
│  │  └─test
│  │      ├─java
│  │      │  └─com
│  │      │      └─taobao
│  │      │          └─tddl
│  │      │              └─dbsync
│  │      │                  └─binlog
│  │      │                      └─event
│  │      └─resources
│  │          └─binlog
│  └─target
│      ├─classes
│      │  └─com
│      │      └─taobao
│      │          └─tddl
│      │              └─dbsync
│      │                  └─binlog
│      │                      ├─event
│      │                      │  └─mariadb
│      │                      └─exception
│      ├─generated-sources
│      │  └─annotations
│      ├─generated-test-sources
│      │  └─test-annotations
│      └─test-classes
│          ├─binlog
│          └─com
│              └─taobao
│                  └─tddl
│                      └─dbsync
│                          └─binlog
│                              └─event
├─deployer
│  ├─src
│  │  └─main
│  │      ├─assembly
│  │      ├─bin
│  │      ├─java
│  │      │  └─com
│  │      │      └─alibaba
│  │      │          └─otter
│  │      │              └─canal
│  │      │                  └─deployer
│  │      │                      ├─admin
│  │      │                      └─monitor
│  │      └─resources
│  │          ├─example
│  │          ├─metrics
│  │          └─spring
│  │              └─tsdb
│  │                  ├─sql
│  │                  └─sql-map
│  └─target
│      ├─classes
│      │  ├─com
│      │  │  └─alibaba
│      │  │      └─otter
│      │  │          └─canal
│      │  │              └─deployer
│      │  │                  ├─admin
│      │  │                  └─monitor
│      │  ├─example
│      │  ├─metrics
│      │  └─spring
│      │      └─tsdb
│      │          ├─sql
│      │          └─sql-map
│      └─generated-sources
│          └─annotations
├─docker
│  ├─base
│  │  └─yum
│  └─image
│      ├─admin
│      │  └─bin
│      └─alidata
│          ├─bin
│          ├─init
│          └─lib
├─driver
│  ├─src
│  │  ├─main
│  │  │  └─java
│  │  │      └─com
│  │  │          └─alibaba
│  │  │              └─otter
│  │  │                  └─canal
│  │  │                      └─parse
│  │  │                          └─driver
│  │  │                              └─mysql
│  │  │                                  ├─packets
│  │  │                                  │  ├─client
│  │  │                                  │  └─server
│  │  │                                  ├─socket
│  │  │                                  └─utils
│  │  └─test
│  │      └─java
│  │          └─com
│  │              └─alibaba
│  │                  └─otter
│  │                      └─canal
│  │                          └─parse
│  │                              └─driver
│  │                                  └─mysql
│  │                                      ├─packets
│  │                                      │  └─client
│  │                                      └─utils
│  └─target
│      ├─classes
│      │  └─com
│      │      └─alibaba
│      │          └─otter
│      │              └─canal
│      │                  └─parse
│      │                      └─driver
│      │                          └─mysql
│      │                              ├─packets
│      │                              │  ├─client
│      │                              │  └─server
│      │                              ├─socket
│      │                              └─utils
│      ├─generated-sources
│      │  └─annotations
│      ├─generated-test-sources
│      │  └─test-annotations
│      └─test-classes
│          └─com
│              └─alibaba
│                  └─otter
│                      └─canal
│                          └─parse
│                              └─driver
│                                  └─mysql
│                                      ├─packets
│                                      │  └─client
│                                      └─utils
├─example
│  ├─src
│  │  └─main
│  │      ├─assembly
│  │      ├─bin
│  │      ├─conf
│  │      ├─java
│  │      │  └─com
│  │      │      └─alibaba
│  │      │          └─otter
│  │      │              └─canal
│  │      │                  └─example
│  │      │                      ├─kafka
│  │      │                      └─rocketmq
│  │      └─resources
│  └─target
│      ├─classes
│      │  └─com
│      │      └─alibaba
│      │          └─otter
│      │              └─canal
│      │                  └─example
│      │                      ├─kafka
│      │                      └─rocketmq
│      └─generated-sources
│          └─annotations
├─filter
│  ├─src
│  │  ├─main
│  │  │  └─java
│  │  │      └─com
│  │  │          └─alibaba
│  │  │              └─otter
│  │  │                  └─canal
│  │  │                      └─filter
│  │  │                          ├─aviater
│  │  │                          └─exception
│  │  └─test
│  │      └─java
│  │          └─com
│  │              └─alibaba
│  │                  └─otter
│  │                      └─canal
│  │                          └─filter
│  └─target
│      ├─classes
│      │  └─com
│      │      └─alibaba
│      │          └─otter
│      │              └─canal
│      │                  └─filter
│      │                      ├─aviater
│      │                      └─exception
│      ├─generated-sources
│      │  └─annotations
│      ├─generated-test-sources
│      │  └─test-annotations
│      └─test-classes
│          └─com
│              └─alibaba
│                  └─otter
│                      └─canal
│                          └─filter
├─images
├─instance
│  ├─core
│  │  ├─src
│  │  │  └─main
│  │  │      └─java
│  │  │          └─com
│  │  │              └─alibaba
│  │  │                  └─otter
│  │  │                      └─canal
│  │  │                          └─instance
│  │  │                              └─core
│  │  └─target
│  │      ├─classes
│  │      │  └─com
│  │      │      └─alibaba
│  │      │          └─otter
│  │      │              └─canal
│  │      │                  └─instance
│  │      │                      └─core
│  │      └─generated-sources
│  │          └─annotations
│  ├─manager
│  │  ├─src
│  │  │  ├─main
│  │  │  │  └─java
│  │  │  │      └─com
│  │  │  │          └─alibaba
│  │  │  │              └─otter
│  │  │  │                  └─canal
│  │  │  │                      └─instance
│  │  │  │                          └─manager
│  │  │  │                              ├─model
│  │  │  │                              └─plain
│  │  │  └─test
│  │  │      └─java
│  │  │          └─com
│  │  │              └─alibaba
│  │  │                  └─otter
│  │  │                      └─canal
│  │  │                          └─instance
│  │  │                              └─manager
│  │  └─target
│  │      ├─classes
│  │      │  └─com
│  │      │      └─alibaba
│  │      │          └─otter
│  │      │              └─canal
│  │      │                  └─instance
│  │      │                      └─manager
│  │      │                          ├─model
│  │      │                          └─plain
│  │      ├─generated-sources
│  │      │  └─annotations
│  │      ├─generated-test-sources
│  │      │  └─test-annotations
│  │      └─test-classes
│  │          └─com
│  │              └─alibaba
│  │                  └─otter
│  │                      └─canal
│  │                          └─instance
│  │                              └─manager
│  └─spring
│      ├─src
│      │  ├─main
│      │  │  └─java
│      │  │      └─com
│      │  │          └─alibaba
│      │  │              └─otter
│      │  │                  └─canal
│      │  │                      └─instance
│      │  │                          └─spring
│      │  │                              └─support
│      │  └─test
│      │      ├─java
│      │      │  └─com
│      │      │      └─alibaba
│      │      │          └─otter
│      │      │              └─canal
│      │      │                  └─instance
│      │      │                      └─spring
│      │      │                          └─integrated
│      │      └─resources
│      │          ├─retl
│      │          └─spring
│      └─target
│          ├─classes
│          │  └─com
│          │      └─alibaba
│          │          └─otter
│          │              └─canal
│          │                  └─instance
│          │                      └─spring
│          │                          └─support
│          ├─generated-sources
│          │  └─annotations
│          ├─generated-test-sources
│          │  └─test-annotations
│          └─test-classes
│              ├─com
│              │  └─alibaba
│              │      └─otter
│              │          └─canal
│              │              └─instance
│              │                  └─spring
│              │                      └─integrated
│              ├─retl
│              └─spring
├─meta
│  ├─src
│  │  ├─main
│  │  │  └─java
│  │  │      └─com
│  │  │          └─alibaba
│  │  │              └─otter
│  │  │                  └─canal
│  │  │                      └─meta
│  │  │                          └─exception
│  │  └─test
│  │      └─java
│  │          └─com
│  │              └─alibaba
│  │                  └─otter
│  │                      └─canal
│  │                          └─meta
│  └─target
│      ├─classes
│      │  └─com
│      │      └─alibaba
│      │          └─otter
│      │              └─canal
│      │                  └─meta
│      │                      └─exception
│      ├─generated-sources
│      │  └─annotations
│      ├─generated-test-sources
│      │  └─test-annotations
│      └─test-classes
│          └─com
│              └─alibaba
│                  └─otter
│                      └─canal
│                          └─meta
├─parse
│  ├─src
│  │  ├─main
│  │  │  ├─java
│  │  │  │  └─com
│  │  │  │      └─alibaba
│  │  │  │          └─otter
│  │  │  │              └─canal
│  │  │  │                  └─parse
│  │  │  │                      ├─exception
│  │  │  │                      ├─ha
│  │  │  │                      ├─inbound
│  │  │  │                      │  ├─group
│  │  │  │                      │  └─mysql
│  │  │  │                      │      ├─dbsync
│  │  │  │                      │      ├─ddl
│  │  │  │                      │      ├─local
│  │  │  │                      │      ├─rds
│  │  │  │                      │      │  ├─data
│  │  │  │                      │      │  └─request
│  │  │  │                      │      └─tsdb
│  │  │  │                      │          └─dao
│  │  │  │                      ├─index
│  │  │  │                      └─support
│  │  │  └─resources
│  │  │      └─ddl
│  │  │          ├─derby
│  │  │          ├─h2
│  │  │          └─mysql
│  │  └─test
│  │      ├─java
│  │      │  └─com
│  │      │      └─alibaba
│  │      │          └─otter
│  │      │              └─canal
│  │      │                  └─parse
│  │      │                      ├─helper
│  │      │                      ├─inbound
│  │      │                      │  ├─group
│  │      │                      │  └─mysql
│  │      │                      │      ├─ddl
│  │      │                      │      └─tsdb
│  │      │                      ├─index
│  │      │                      └─stub
│  │      └─resources
│  │          ├─binlog
│  │          │  └─tsdb
│  │          ├─ddl
│  │          │  ├─alter
│  │          │  └─table
│  │          └─tsdb
│  │              └─sql-map
│  └─target
│      ├─classes
│      │  ├─com
│      │  │  └─alibaba
│      │  │      └─otter
│      │  │          └─canal
│      │  │              └─parse
│      │  │                  ├─exception
│      │  │                  ├─ha
│      │  │                  ├─inbound
│      │  │                  │  ├─group
│      │  │                  │  └─mysql
│      │  │                  │      ├─dbsync
│      │  │                  │      ├─ddl
│      │  │                  │      ├─local
│      │  │                  │      ├─rds
│      │  │                  │      │  ├─data
│      │  │                  │      │  └─request
│      │  │                  │      └─tsdb
│      │  │                  │          └─dao
│      │  │                  ├─index
│      │  │                  └─support
│      │  └─ddl
│      │      ├─derby
│      │      ├─h2
│      │      └─mysql
│      ├─generated-sources
│      │  └─annotations
│      ├─generated-test-sources
│      │  └─test-annotations
│      └─test-classes
│          ├─binlog
│          │  └─tsdb
│          ├─com
│          │  └─alibaba
│          │      └─otter
│          │          └─canal
│          │              └─parse
│          │                  ├─helper
│          │                  ├─inbound
│          │                  │  ├─group
│          │                  │  └─mysql
│          │                  │      ├─ddl
│          │                  │      └─tsdb
│          │                  ├─index
│          │                  └─stub
│          ├─ddl
│          │  ├─alter
│          │  └─table
│          └─tsdb
│              └─sql-map
├─prometheus
│  ├─src
│  │  └─main
│  │      ├─java
│  │      │  └─com
│  │      │      └─alibaba
│  │      │          └─otter
│  │      │              └─canal
│  │      │                  └─prometheus
│  │      │                      └─impl
│  │      └─resources
│  │          └─META-INF
│  │              └─services
│  └─target
│      ├─classes
│      │  ├─com
│      │  │  └─alibaba
│      │  │      └─otter
│      │  │          └─canal
│      │  │              └─prometheus
│      │  │                  └─impl
│      │  └─META-INF
│      │      └─services
│      └─generated-sources
│          └─annotations
├─protocol
│  ├─src
│  │  ├─main
│  │  │  └─java
│  │  │      └─com
│  │  │          └─alibaba
│  │  │              └─otter
│  │  │                  └─canal
│  │  │                      └─protocol
│  │  │                          ├─exception
│  │  │                          └─position
│  │  └─test
│  │      └─java
│  │          └─com
│  │              └─alibaba
│  │                  └─otter
│  │                      └─canal
│  │                          └─protocol
│  └─target
│      ├─classes
│      │  └─com
│      │      └─alibaba
│      │          └─otter
│      │              └─canal
│      │                  └─protocol
│      │                      ├─exception
│      │                      └─position
│      ├─generated-sources
│      │  └─annotations
│      ├─generated-test-sources
│      │  └─test-annotations
│      └─test-classes
│          └─com
│              └─alibaba
│                  └─otter
│                      └─canal
│                          └─protocol
├─server
│  ├─src
│  │  ├─main
│  │  │  └─java
│  │  │      └─com
│  │  │          └─alibaba
│  │  │              └─otter
│  │  │                  └─canal
│  │  │                      ├─admin
│  │  │                      │  ├─handler
│  │  │                      │  └─netty
│  │  │                      ├─server
│  │  │                      │  ├─embedded
│  │  │                      │  ├─exception
│  │  │                      │  └─netty
│  │  │                      │      ├─handler
│  │  │                      │      └─listener
│  │  │                      └─spi
│  │  └─test
│  │      └─java
│  │          └─com
│  │              └─alibaba
│  │                  └─otter
│  │                      └─canal
│  │                          └─server
│  │                              └─embedded
│  └─target
│      ├─classes
│      │  └─com
│      │      └─alibaba
│      │          └─otter
│      │              └─canal
│      │                  ├─admin
│      │                  │  ├─handler
│      │                  │  └─netty
│      │                  ├─server
│      │                  │  ├─embedded
│      │                  │  ├─exception
│      │                  │  └─netty
│      │                  │      ├─handler
│      │                  │      └─listener
│      │                  └─spi
│      ├─generated-sources
│      │  └─annotations
│      ├─generated-test-sources
│      │  └─test-annotations
│      └─test-classes
│          └─com
│              └─alibaba
│                  └─otter
│                      └─canal
│                          └─server
│                              └─embedded
├─sink
│  ├─src
│  │  ├─main
│  │  │  └─java
│  │  │      └─com
│  │  │          └─alibaba
│  │  │              └─otter
│  │  │                  └─canal
│  │  │                      └─sink
│  │  │                          ├─entry
│  │  │                          │  └─group
│  │  │                          └─exception
│  │  └─test
│  │      └─java
│  │          └─com
│  │              └─alibaba
│  │                  └─otter
│  │                      └─canal
│  │                          └─sink
│  │                              └─stub
│  └─target
│      ├─classes
│      │  └─com
│      │      └─alibaba
│      │          └─otter
│      │              └─canal
│      │                  └─sink
│      │                      ├─entry
│      │                      │  └─group
│      │                      └─exception
│      ├─generated-sources
│      │  └─annotations
│      ├─generated-test-sources
│      │  └─test-annotations
│      └─test-classes
│          └─com
│              └─alibaba
│                  └─otter
│                      └─canal
│                          └─sink
│                              └─stub
└─store├─src│  ├─main│  │  └─java│  │      └─com│  │          └─alibaba│  │              └─otter│  │                  └─canal│  │                      └─store│  │                          ├─helper│  │                          ├─memory│  │                          └─model│  └─test│      └─java│          └─com│              └─alibaba│                  └─otter│                      └─canal│                          └─store│                              └─memory│                                  └─buffer└─target├─classes│  └─com│      └─alibaba│          └─otter│              └─canal│                  └─store│                      ├─helper│                      ├─memory│                      └─model├─generated-sources│  └─annotations├─generated-test-sources│  └─test-annotations└─test-classes└─com└─alibaba└─otter└─canal└─store└─memory└─buffer

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/43745.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/43745.shtml
英文地址,請注明出處:http://en.pswp.cn/news/43745.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

SpringBoot中優雅的實現隱私數據脫敏(提供Gitee源碼)

前言&#xff1a;在實際項目開發中&#xff0c;可能會對一些用戶的隱私信息進行脫敏操作&#xff0c;傳統的方式很多都是用replace方法進行手動替換&#xff0c;這樣會由很多冗余的代碼并且后續也不好維護&#xff0c;本期就講解一下如何在SpringBoot中優雅的通過序列化的方式去…

設計模式之備忘錄模式(Memento)的C++實現

1、備忘錄模式的提出 在軟件功能開發過程中&#xff0c;某些對象的狀態在轉換過程中&#xff0c;由于業務場景需要&#xff0c;要求對象能夠回溯到對象之前某個點的狀態。如果使用一些共有接口來讓其他對象得到對象的狀態&#xff0c;便會暴露對象的實現細節。備忘錄模式是在不…

【學會動態規劃】單詞拆分(24)

目錄 動態規劃怎么學&#xff1f; 1. 題目解析 2. 算法原理 1. 狀態表示 2. 狀態轉移方程 3. 初始化 4. 填表順序 5. 返回值 3. 代碼編寫 寫在最后&#xff1a; 動態規劃怎么學&#xff1f; 學習一個算法沒有捷徑&#xff0c;更何況是學習動態規劃&#xff0c; 跟我…

【模擬集成電路】反饋系統——基礎到進階(一)

【模擬集成電路】反饋系統——基礎到進階 前言1 概述2 反饋電路特性2.1增益靈敏度降低2.2 終端阻抗變化2.3 帶寬拓展2.4 非線性減小 3 放大器分類4 反饋檢測和返回機制4.1 按照檢測物理量分類4.2 按照檢測拓撲連接分類 5 反饋結構分析6 二端口方法7 波特方法6 麥德布魯克方法 前…

VS2015打開Qt的pro項目文件 報錯

QT報錯&#xff1a;Project ERROR: msvc-version.conf loaded but QMAKE_MSC_VER isn‘t set 解決方法&#xff1a; 找到本機安裝的QT路徑&#xff0c;找到“msvc-version.conf”文件&#xff0c;用記事本打開&#xff0c; 在其中添加版本“QMAKE_MSC_VER 1900”保存即可。 …

Kafka基礎及常見面試題

1. 用途 1. 流量削峰 2. 流計算 2. Kafka的核心組件 在Kafka中&#xff0c;Producer、Broker和Consumer是三個關鍵的角色&#xff0c;它們在整個消息傳遞過程中扮演不同的角色和功能&#xff1a;1. **Producer&#xff08;生產者&#xff09;**&#xff1a;生產者是消息的發…

CSS:filter濾鏡 詳解(用法 + 代碼 + 例子 + 效果)

文章目錄 filter 濾鏡blur() 模糊度例子 漸變光暈 brightness() 元素亮度contrast() 對比度grayscale() 元素灰度hue-rorate() 色相opacity() 透明度invert() 反轉顏色saturate() 飽和度 backdrop-filter 蒙版&#xff0c;濾鏡例子 卷軸展開 filter 濾鏡 動圖為效果添加前后對…

界面組件Telerik UI for WinForms R2 2023——擁有VS2022暗黑主題

Telerik UI for WinForms擁有適用Windows Forms的110多個令人驚嘆的UI控件。所有的UI for WinForms控件都具有完整的主題支持&#xff0c;可以輕松地幫助開發人員在桌面和平板電腦應用程序提供一致美觀的下一代用戶體驗。 Telerik UI for WinForms R2 2023于今年6月份發布&…

Blender 混合現實3D模型制作指南【XR】

本教程分步展示如何&#xff1a; 減少 3D 模型的多邊形數量&#xff0c;使其滿足 Microsoft Dynamics 365 Guides 和使用 Microsoft Power Apps 創建的應用程序中包含的混合現實組件的特定性能目標的性能需求。將 3D 模型的多種材質&#xff08;顏色&#xff09;組合成可應用于…

?Kubernetes的演變:從etcd到分布式SQL的過渡

DevRel領域專家Denis Magda表示&#xff0c;他偶然發現了一篇解釋如何用PostgreSQL無縫替換etcd的文章。該文章指出&#xff0c;Kine項目作為外部etcd端點&#xff0c;可以將Kubernetes etcd請求轉換為底層關系數據庫的SQL查詢。 受到這種方法的啟發&#xff0c;Magda決定進一步…

軟件測試技術之如何編寫測試用例(6)

四、客戶端兼容性測試 1、平臺測試 市場上有很多不同的操作系統類型&#xff0c;最常見的有Windows、Unix、Macintosh、Linux等。Web應用系統的最終用戶究竟使用哪一種操作系統&#xff0c;取決于用戶系統的配置。這樣&#xff0c;就可能會發生兼容性問題&#xff0c;同一個應…

求Win11系統virtualbox+vagrant安裝MacOS虛擬機

文章目錄 一、背景二、素材2.1、virtualboxvagrant 三、問題3.1、安裝失敗3.2、第二個失敗3.3、網絡說 四、求助 一、背景 題主&#xff0c;主要是窮&#xff0c;沒錢買mac筆記本或相關系統的蘋果產品&#xff0c;哈哈&#xff0c;偶爾也有用過MacOS系統&#xff0c;只是還沒有…

actuator/prometheus使用pushgateway上傳jvm監控數據

場景 準備 prometheus已經部署pushgateway服務&#xff0c;訪問{pushgateway.server:9091}可以看到面板 實現 基于springboot引入支持組件&#xff0c;版本可以 <!--監控檢查--><dependency><groupId>org.springframework.boot</groupId><artifa…

H3C交換機如何配置本地端口鏡像并在PC上使用Wireshake抓包

環境: H3C S6520-26Q-SI version 7.1.070, Release 6326 Win 10 專業版 Wireshake Version 4.0.3 問題描述: H3C交換機如何配置本地端口鏡像并在PC上使用Wireshake抓包 解決方案: 配置交換機本地端口鏡像 1.進入系統視圖,并創建本地鏡像組1 <H3C>system-vie…

高效反編譯luac文件

對于游戲開發人員,有時候希望從一些游戲apk中反編譯出源代碼,進行學習,但是如果你觸碰到法律邊緣,那么你要非常小心。 這篇文章,我針對一些用lua寫客戶端或者服務器的編譯過的luac文件進行反編譯,獲取其源代碼的過程。 這里我不贅述如何反編譯解壓apk包的過程了,只說重點…

【【STM32之GPIO】】

STM32之GPIO 學完了正點原子自帶的視頻課之后感覺仍然一知半解現在更新一下來自其他版本的STM32學習 GPIO 就是 General Purpose Input Output 中文名叫通用輸入輸出口 可配置8種輸入輸出模式 引腳電平 0V~3.3V 部分引腳可容忍5V 輸出模式下可控制端口輸出高低電平&#xff…

ubuntu bind dns服務配置

sudo apt-get install bind9 內網搭建DNS服務器&#xff0c;大多數是解析純內網地址使用。但是偶爾也需要解析外網的地址&#xff0c;所以我們可以配置DNS沒有添加A記錄的URL時&#xff0c;forward到外網DNS服務器或者內網的其他DNS服務器解析。 打開配置文件&#xff1a; sud…

Leetcode 動態規劃

動態規劃&#xff1a; 72. Edit Distance class Solution { public:int minDistance(string word1, string word2) {vector<vector<int>> dp(word1.size() 1, vector<int>(word2.size() 1, 0));for (int i 0; i < word1.size(); i) dp[i][0] i;for …

grafana-zabbix基礎操作篇------導入數據源

文章目錄 一、grafana的安裝1.1、下載地址1.2、下載后導入所安裝機器1.3、yum安裝解決依賴1.4、啟動grafana1.5、查看端口是否啟用&#xff08;端口默認3000&#xff09;1.6、瀏覽器訪問 二、添加zabbix數據源2.1、導入數據源 **下一篇 我們講講構建儀表板的操作** 今天&#x…

如何在工作中利用AIGC提質增效?

引言 人工智能技術快速發展&#xff0c;以 ChatGPT 為代表的新的人工智能語言模型的出現與更迭&#xff0c;引發人們極大的興奮和關注。越來越多的企業開始將 AI 技術應用到生產流程&#xff0c;以提高工作效率和生產力。AIGC&#xff08;AI Generated Content&#xff09;是人…