可以在chrome上安装 Simple WebSocket Client 插件来辅助调试websocket功能
websocket client发送数据

websocket server接收数据

参考:Spring-Boot快速集成WebSocket服务端 客户端(支持客户端消息同步回调)
在springboot中使用websocket的时候需要注意如果web服务有权限的话,websockete连接同样是会被拦截,需要开放拦截
1 | .antMatchers( |
可以在chrome上安装 Simple WebSocket Client 插件来辅助调试websocket功能
websocket client发送数据
websocket server接收数据
参考:Spring-Boot快速集成WebSocket服务端 客户端(支持客户端消息同步回调)
在springboot中使用websocket的时候需要注意如果web服务有权限的话,websockete连接同样是会被拦截,需要开放拦截
1 | .antMatchers( |
kuberbetes-dashboard是K8S的管理工具,下面使用helm来进行部署,参考:
1 | https://artifacthub.io/packages/helm/k8s-dashboard/kubernetes-dashboard |
1 | helm repo add kubernetes-dashboard https://kubernetes.github.io/dashboard/ |
1 | helm search repo kubernetes-dashboard |
1 | helm install my-k8s-dashboard kubernetes-dashboard/kubernetes-dashboard |
此时再查看svc
1 | kubectl get svc -A |
访问如下网址即可,注意这里建议使用firefox浏览器来访问,提示HTTPS不安全的话可以选择忽略;如果使用chrome浏览器的话,会提示需要需要导入HTTPS证书,证书地址如下
超文本传输协议(HTTP)是用于客户端-服务器通信的协议或一组通信规则。当您访问网站时,您的浏览器会向 Web 服务器发送 HTTP 请求,该服务器将以 HTTP 响应进行响应。Web 服务器将以纯文本形式与您的浏览器交换数据。简而言之,HTTP 协议是为网络通信提供支持的底层技术。
安全超文本传输协议(HTTPS)是 HTTP 的一种更安全的版本或扩展。在 HTTPS 中,浏览器与服务器会在传输数据之前建立安全的加密连接。
HTTP 传输未加密的数据,这意味着从浏览器发送的信息可能会被第三方拦截和读取。这一过程并不理想,因此将其扩展成为 HTTPS,以便为通信再增加一层安全性。HTTPS 将 HTTP 请求和响应与 SSL 和 TLS 技术相结合。
SSL 和 TLS 参考:SSL 与 TLS 之间有何区别?
HTTPS 网站必须从独立证书颁发机构(CA)获取 SSL/TLS 证书。这些网站会在交换数据之前先与浏览器共享该证书,以建立信任。SSL 证书还包含加密信息,以便服务器和 Web 浏览器可以交换加密或刻意打乱的数据。
该过程的工作原理是:
既然是加密,那肯定是不希望别人知道我的消息,所以只有我才能解密,所以可得出公钥负责加密,私钥负责解密;
同理,既然是签名,那肯定是不希望有人冒充我发消息,只有我才能发布这个签名,所以可得出私钥负责签名,公钥负责验证。
官方地址下载,有mac,windows和linux版本
1 | https://www.kafkatool.com/download.html |
安装后添加kafka集群的地址,可以选择使用zk地址或者kafka的broker地址来连接集群,这里选择使用kafka broker地址来连接
可以指定topic的partition和offset查看数据
默认查出来的数据是byte数组,即16进制的,可以借助在线转换工具将其转换成字符串后进行查看,比如
1 | https://tool.lu/hexstr/ |
也可以在属性中设置value为String,这样就可以直接查看反序列化后字符串
Table API官方文档参考
1 | https://nightlies.apache.org/flink/flink-docs-master/docs/dev/table/tableapi/ |
RowKind
自定义修改debezium-json format
Flink 1.11.1:flink CDC Debezium自定义修改debezium-json格式
如果要在flink sql中使用checkpoint,可以使用set命令,如下
1 | SET 'state.checkpoints.dir' = 'hdfs:///bar/foo/'; |
参考kafka官方文档,版本1.0.x
1 | http://kafka.apache.org/10/documentation.html#consumerapi |
依赖,选择 Cloudera Rel 中的 1.0.1-kafka-3.1.0
1 | <dependency> |
Kafka的生产者配置
1 | http://kafka.apache.org/10/documentation.html#producerconfigs |
其中producer api中文含义参考:kafka系列七、kafka核心配置
producer是线程安全的,通常应该在所有线程之间共享,以获得最佳性能。producer管理着一个后台线程,该线程执行I/O操作,并与每个需要通信的broker建立TCP连接。如果使用后不能关闭producer,将会泄漏这些资源。
Timer类是一种线程设施,可以用来实现在某一个时间或某一段时间后安排某一个任务执行一次或定期重复执行。
该功能要与TimerTask类配合使用。TimerTask类用来实现由Timer安排的一次或重复执行的某一任务。
1 | import java.text.SimpleDateFormat; |
使用idea来开发spring-boot项目,对于community版本的idea,由于没有spring-boot插件,所有对于开发spring-boot的web项目来说不是很方便,所以安装Ultimate版本的idea,使用的版本是2017.1.6版本
参考 : https://blog.csdn.net/typa01_kk/article/details/76696618
这里勾选spring web
访问 localhost:8080
如果想在更新了代码之后实现热更新,请参考 : https://blog.csdn.net/qq_42685050/article/details/81588584
程序中应用正则表达式则必须依靠Pattern类和Matcher类,这两个类都是在java.util.regex包中定义。
Pattern类的主要作用是进行正则规范的编写。
Matcher类主要是执行规范,验证一个字符串是否符合其规范。
1 | import java.util.regex.Pattern; |
1.kudu已经包含在cdh的parcels中了,所以直接添加服务
2.选择kudu,然后安装
3.在impala中配置kudu,然后重启
如果安装的时候报错如下