Kafka核心参数
😀 这里写文章的前言:一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。
可以说说你的故事:阻碍、努力、结果成果,意外与转折。
📝 主旨内容观点1
引用的话语
观点2
引用的话语
🤗 总结归纳总结文章的内容
📎 参考文章
一些引用
引用文章
💡 有关文章的问题,欢迎您在底部评论区留言,一起交流~
bin/yarn-session.sh -nm testFlink_流批基础入门
😀 这里写文章的前言:Flink基础知识入门案例
📝 基础知识Flink分布式处理引擎,用于有界和无界数据流进行有状态计算
Flink特点
高吞吐和低延迟;每秒处理数百万个事件,毫秒级延迟
结果准确性:Flink提供了事件时间和处理时间语义。用于乱序事件流,事件时间语义仍然能提供一致且准确的结果
精确一次(exactly-once)的状态一致性保证
可以连续到最常用的外部系统,比如Kafka,Hive,JDBC,HDFS,Redis等
高可用:本身高可用的设置,加上k8s,yarn和mesos的紧密集成
无界数据流:
有定义流的开始,但没有定义流的结束
无休止的产生数据
无界流的数据必须持续处理,即数据被摄取后需要立刻处理;我们不能等到所有数据到达后再处理,数据是无限的
有界数据流:
有定义流的开始,也有定义流的结束
有界流可以摄取所有的数据后再进行计算
有界流所有的数据可以被排序,所以不需要有序摄取
有界流处理通常被成为批处理
把流处理需要的额外数据保存成一个“状态”,然后针对这条数据进行处理,并且更新状态,这就是有所的有状态的流处理
状态在内 ...
x-ui翻墙安装
😀 这里写文章的前言:利用 x-ui 在进行购买的外国服务器进行翻
📝 主旨内容Vultr注册链接:https://www.vultr.com/?ref=8753714
VPS服务器系统选择 Debian 10 x64
X-UI 安装代码:wget -N https://gitlab.com/rwkgyg/x-ui-yg/raw/main/install.sh && bash install.sh
#放行端口iptables -I INPUT -p tcp –dport 443 -j ACCEPT
FinalShell下载:https://wa6.lanzoui.com/ihjg2y3h14jFinalShell备用下载(含MAC版):http://www.hostbuf.com/t/988.html科学上网软件下载:https://github.com/Kejifaxian/welcome/订阅转换:https://acl4ssr-sub.github.io/
Vultr注册链接:https://www.秃鹫。。.com/?ref=875 ...
Kafka基础
😀 这里写文章的前言:一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。
可以说说你的故事:阻碍、努力、结果成果,意外与转折。
📝 架构图
producer: 生产者,消息的产生者。
Broker: broker是kafka实例,每个服务器上有一个或多个kafka实例,理想情况下,每个broker对应一台服务器。比如broker-0,broker-1,broker-2分别是不重复等编号
Topic:消息的主题,可以理解为消息分类,kafka的数据就保存在topic里。每个broker可以创建多个topic
Partition:Topic的分区,每个topic有多个分区,分区的作用是负载,提高kafka的吞吐量。同一个topic在不同的分区数据是不重复等,每个partition的表形式就是一个一个文件夹
Replication:每个分区都有副本,副本的作用是备胎。当主分区(Leader)故障的时候会选择一个Follower上位,成为Leader。
Message:每一条消息的主题
Consumer:消费者,消息的消费方
ConsumerGro ...
Redis缓存常见问题
😀 这里写文章的前言:一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。
可以说说你的故事:阻碍、努力、结果成果,意外与转折。
📝 缓存更新
定时更新,定时将底层数据库内的数据更新到缓存中,该方法比较简单,适合需要缓存的数据,不是很大的应用场景
过期更新:定时将缓存中过期的数据更新为最新数据并更新缓存的过期时间
写请求更新:在用户有写请求时先写数据库同时更新缓存,这使用于用户对缓存数据和数据库的数据有实时强制性要求的情况
读请求更新:在用户有读请求的时候,先判断该请求的数据是否存在或者过期,如果不存在或已过期,则进行底层数据库查询并将查询的时候更新到缓存中,将结果返回给用户
缓存穿透缓存穿透是一些无效的请求,请求到redis,mysql中都没有的数据,这些无效的请求非常多的话,还会占用系统IO,影响整个系统 解决办法:
缓存空值:你要判断A在不在数据库里面,最简单的就是把A存到缓存,但是这样存,数据太大了;缓存无效的数据,会被刷爆
布隆过滤器:用布隆过滤器映射A,下次查询只要先经过布隆过滤器是否存在,就可以了.(布隆过滤器用的是bit数 ...
Docker搭建组建手册
😀
这里写文章的前言:记录使用docker搭建的各种组建和手册
📝 RocketMQ4.9.1版本拉取镜像 & 运行namesrvsudo docker pull apache/rocketmq:4.9.3sudo docker network create rocketmq
sudo docker run -d --name rocketmq-namesrv --network rocketmq -p 9876:9876 -v /home/luohong/coding/dockers/rocketmq/namesrv/logs:/root/logs -v /home/luohong/coding/dockers/rocketmq/namesrv/store:/root/store apache/rocketmq:4.9.1 sh mqnamesrv
> 查看 rocketmq-namesrv 状态
(base) luohong@luohong:~/coding/dockers/rocketmq$ sudo docker psC ...
Docker知识
😀 这里写文章的前言:容器化时代,docker是一门必备的知识安装手册: https://www.runoob.com/docker/docker-architecture.html
📝 docker原理NameSpaceNameSpace是Linux内核的一项功能,该功能对内核资源进行隔离,使得容器的进程都可以在单独的命名空间中运行,并且只可以访问当前容器命名空间的资源
NameSpace可以隔离进程ID,主机名,用户ID,文件名,网络访问和进程通信等相关资源
pid namespace: 用于隔离进程ID
net namespace: 隔离网络接口,在虚拟的net namespace内用户可以拥有自己独立的ip,路由,端口等
mnt namespace: 文件系统挂载点隔离
ipc namespace: 信号量,消息队列和共享内存的隔离
uts namespace: 主机命和域名的隔离
CGroupsCgroups 是一种linux内核功能,可以限制和隔离进程的资源使用情况(CPU,内存,磁盘I/O,网络等).在容器的实现中,Cgroups通常用来限制容器的c ...
Redis基础
😀 这里写文章的前言:一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。
可以说说你的故事:阻碍、努力、结果成果,意外与转折。
📝 redis结构高性能主线: 线程模型,数据结构,持久化 网络框架:高可靠主线,包括主从复制,哨兵机制 高可扩展主线:数据分片,负载均衡
Redis是一种运行速度很快,并发很强的跑在内存上的NOSQL数据库
基于内存运行,CPU不是瓶颈,所以不用多线程,单线程实现简单,瓶颈在于内存
支持8种数据结构
支持分布式,理论上可以无线扩充,cluster集群模式
key-value存储模式
可持久化文件
最多每秒可以处理10w+请求
redis为什么快
完全基于内存,绝大部分请求是纯粹的内存操作,非常快速。数据存在内存中,类似HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1)
数据结构使用高效,Redis中的数据结构专门进行设计,并且操作的时间复杂度较低
采用单线程,避免了不必要的上下文切换和竞态条件,也不存在多进程或多线程导致的切换而消耗CPU,不用去考虑各种锁的问题,不存在加锁释放锁 ...
mybatis与springboot整合阅读
😀 这里写文章的前言:一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。
可以说说你的故事:阻碍、努力、结果成果,意外与转折。
📝 前提MyBatis 与 SpringBoot 整合操作. 在这次整合的过程中,再次明白自己毫无疑问的是一个比较手残的同学了.
这里我们是基于 sql 语句写在 xml 里面进行整合的操作.
入门这里说下创建一个 入门 项目的大致流程.
先创建一个 SpringBoot 项目 , 引入依赖 : https://github.com/baoyang23/mybtatis-analysis/blob/master/mybatis-spring-boot-hello/pom.xml
创建 MyBatis 的配置文件信息 : https://github.com/baoyang23/mybtatis-analysis/blob/master/mybatis-spring-boot-hello/src/main/resources/mybatis-config.xml
创建查询的 sql 语句,也就是我们的 mapper ...
mybatis与spring整合阅读
😀 这里写文章的前言:一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。
可以说说你的故事:阻碍、努力、结果成果,意外与转折。
📝 题记MyBatis 与 Spring 整合操作. 在我们入门学习 SSM 等东西的时候,就发现了任何东西,最后都是逃不过与Spring整合起来的道路. 然后这里看完 MyBatis 整合完 Spring 之后,那么之后一些其他的第三方,比如axon/redis/apollo/shiro 等这些东西,如果要整合 Spring 的时候,是不是也是相似的整合方式呢?
这个需要我们看完 MyBatis 与 Spring 之后,探究其整合的操作.
入门分几个步骤,操作一把即可,带你回到哪个 SM 时代,不过这回是没有了 tomcat 的.
先放上一个完成的整合地址 : https://github.com/baoyang23/mybtatis-analysis/tree/master/mybatis-spring-hello 如果不要看下面流程的,一步跳过即可.
先创建一个 maven 项 ...







