当前位置: 首页 > news >正文

关于网站运营的问题设计工作室网站

关于网站运营的问题,设计工作室网站,定西市城乡建设局网站,网站备案主体是什么作者| liuhehe123来源| CSDN博客 责编| Carol出品| CSDN云计算#xff08;ID#xff1a;CSDNcloud#xff09;封图| CSDN下载于视觉中国 无论是已经接触过 Kafka 还是刚入坑的小伙伴#xff0c;都应该时不时回头了解一下 Kafka #xff0c;有时候会有不少新收获。今天这份… 作者| liuhehe123来源| CSDN博客 责编| Carol出品| CSDN云计算IDCSDNcloud封图| CSDN下载于视觉中国 无论是已经接触过 Kafka 还是刚入坑的小伙伴都应该时不时回头了解一下 Kafka 有时候会有不少新收获。今天这份 Kafka 的介绍建议再认真阅读一遍哦~Kafka在设计之初就考虑的问题吞吐量/延时消息持久化负载均衡和持久化伸缩性吞吐量kafka是如何做到高吞吐量和低延时的呢 kafka的写入操作是很快的这主要得益于它对磁盘的使用方法不同。虽然kafka会持久化所有数据到磁盘但本质上每次写入操作其实都只是把数据写入到操作系统的页缓存中然后由操作系统自行决定什么时候把页缓存中的数据写回磁盘。先说kafka是咋实现的kafka依靠下列4点达到了高吞吐量、低延时的设计目标大量使用操作系统叶缓存内存操作速度快且命中率高。kafka不直接参与物理I/O操作而是交给最擅长此事的操作系统来完成。采用追加写入的方式摒弃了缓慢的磁盘随机读写操作。使用以sendfile为代表的的零拷贝技术加强网络间的数据传输效率。前三个都是使用页缓存的好处页缓存是在内存中分配的所以写入消息很快。使得kafka不必直接与底层文件系统打交道。另外采用追加的方式写入避免了磁盘随机写操作。零拷贝简而言之就是避免让CPU做大量的数据拷贝技术采用不使用CPU时间的技术进行系统内核缓冲区之间的数据拷贝。从上图中可以看出共产生了四次数据拷贝即使使用了DMA来处理了与硬件的通讯CPU仍然需要处理两次数据拷贝与此同时在用户态与内核态也发生了多次上下文切换无疑也加重了CPU负担。1、让数据传输不需要经过user space我们减少拷贝次数的一种方法是调用mmap()来代替read调用buf  mmap(diskfd, len);write(sockfd, buf, len); 应用程序调用mmap()磁盘上的数据会通过DMA被拷贝的内核缓冲区接着操作系统会把这段内核缓冲区与应用程序共享这样就不需要把内核缓冲区的内容往用户空间拷贝。应用程序再调用write(),操作系统直接将内核缓冲区的内容拷贝到socket缓冲区中这一切都发生在内核态最后socket缓冲区再把数据发到网卡去。2、sendfile使用sendfile不仅减少了数据拷贝的次数还减少了上下文切换数据传送始终只发生在kernel space。下图为使用DMA的sendfile零拷贝技术图。消息持久化kafka是要持久化消息的而且要将消息持久化到磁盘上的。先说这样做的好处为什么要持久化解耦消息发送与消息消费通过将消息持久化使得生产者不再需要直接和消费者方耦合它只是简单地把消息生产出来并交由kafka服务器保存起来即可。实现灵活的消息处理便于消息重演很多kafka下游子系统消费方都会有这样的需求——对于已经处理过的消息可能在未来的某个时间点重新处理一次即所谓的消息重演message replay。那么kafka持久化是咋做的呢对比一下 普通的系统实现持久化时可能先尽量使用内存当内存资源耗尽时再一次性地把数据 “刷盘”kafka则反其道行之所有数据都会立即被写入到文件系统的持久化日志中之后kafka服务器才会返回结果给客户端通知客户端消息写入成功。这样做即实时保存了数据又减少了kafka程序对于内存的消耗从而将节省出的内存留给页缓存使用进一步提升整体性能。这里解释下kafka在吞吐量中说使用页缓存持久化又说尽量减少对内存的消耗这是咋回事总的来说Kafka不会保持尽可能多的内容在内存空间而是尽可能把内容直接写入到磁盘。所有的数据都及时的以追加的方式写入到文件系统的持久化日志中而不必要把内存中的内容刷新到磁盘中。负载均衡和故障转移kafka作为一个完备的分布式系统肯定也是要满足负载均衡和故障转移处理操作的。负载均衡kafka的负载均衡是通过智能化的分区领导者选举来实现的。可以在集群中的所有机器上以均等的机会分散各个partition的leader从而整体上实现了负载均衡。【后面进行补充】故障转移使用zookeeper即当服务器意外中止时整个集群能够快速检测到他失效了并立即将该服务器上的应用或服务转移到其他机器上。kafka使用的是会话机制来解决的。每台kafka服务器启动后会以会话的形式把自己注册到zookeeper服务器上一旦该服务器运转出现问题与zookeeper的会话便不能维持从而超时失效此时kafka会选举出一台新的服务器赖万全代替这台服务器继续提供服务。伸缩性伸缩性指的是向分布式系统系统中增加额外的计算资源时提升吞吐量的能力。如果服务器是无状态的状态的保存和管理交给专门的协调服务来做比如 zookeeper 那么整个集群的服务器之间就不需要再进行繁重的状态共享这极大地降低了维护复杂度。Kafka 正式采用了这一思想——每台kafka的服务器上的状态统一交由Zookeeper保管。而扩展kafka集群就很容易启动一台新的kafka服务器即可。需要说明的一点是kafka服务器并不是所有状态都不保存他只是保存了很轻量级的内部状态所以整个集群间维护状态一致性的代价很低。来看看kafka的基本概念和术语目前kafka最新的版本是 2.4。1、broker、topic、partition、offset、replica、leader和follower下面是Kafka的大致架构图Kafka服务器官方称呼为broker。先来说说Kafka的消息格式是啥样的消息由三部分组成消息头部、key 和 value。消息头包括CRC码、消息版本、属性、时间戳、键长度和消息体长度等信息。Key: 消息键 对消息做partition时使用即决定消息被保存在某个topic下的那个partition。Value消息体保存实际的消息数据。Timestamp: 消息发送时间戳。2、kafka的Topic和Partition 到底是个什么东西Topic主题: topic代表了一类消息也可以认为消息被发送到的地方。比如业务A使用一个topic 业务B使用另外一个topic。相当于 柴鸡蛋和茶叶蛋这样简单分下。Partition分区???? 一个Topic可以由多个partition组成而kafka的partition是不可修改的有序消息序列。分区是物理层面的用户是看不到的用户不用管这些消息怎么取出来的之所以做分区主要是为了提高系统的吞吐量。3、offset一个生产的消息的写入offset位移值 一个是消费者端的消费位移offset。他俩是不同的概念。消费该partition的消费者位移会随着消费进度不断前移不过终究不可能超过该分区的最新一条消息的位移。kafka的一条消息其实就是一个三元组topic, partition, offset 三元组tuple通过该元组值能够在kafka集群中找到唯一对应的那条消息。4、replicakafka的冗余机制备份多份日志这些备份日志在kafka中被称为副本replica他们存在就是为了 防止数据丢失的。5、leader和followerleader提供对外服务follower与leader保持同步follower存在的目的就是用来充当leader的候补。6、ISR(同步副本集合)kafka为partition动态维护了一个replica集合该集合中的所有replica保存的消息日志都与leader replica 保持同步状态。记住只有这个集合ISR中的replica才能被选为leader也只有这个集合中的所有replica都接受到了同一条消息Kafka才会将消息置于 “已提交” 状态即认为这条消息发送成功。【这里不要与producer端搞混producer端的参数acks设置 0、all/-1 、1的情况会在后面的文章补充。】7、kafka使用场景消息传输网站行为日志跟踪日志收集流式处理零拷贝部分参考作者以及链接作者卡巴拉的树 https://www.jianshu.com/p/fad3339e3448本文来源 CSDN 博客原文链接https://blog.csdn.net/liuhehe123/article/details/105429934同时欢迎所有开发者扫描下方二维码填写《开发者与AI大调查》只需2分钟即可收获价值299元的“ AI开发者万人大会”在线直播门票推荐阅读小网站的容器化下网站容器化的各种姿势先跟着撸一波代码再说 你知道吗其实Oracle直方图自动统计算法存在这些缺陷附验证步骤 详解以太坊虚拟机EVM的数据存储机制 比特币当赎金WannaRen勒索病毒二度来袭平台抗住日访问量7亿次研发品控流程全公开“手把手撕开LeetCode翻译扒各种算法套路的裤子”北京四环堵车引发的智能交通大构想 真香朕在看了
http://www.yutouwan.com/news/263016/

相关文章:

  • 南昌网站设计制作南昌企业网站设计公司
  • 衡阳市建设网站装修公司怎么拉客户
  • 很多卖假药冒产品用二级域名做网站广告设计分为哪几类
  • ps做网站首页怎么运用起来外链收录网站
  • 肇庆网站制作费用推荐 网页游戏
  • 环保网站 怎么做我想做地推怎么找渠道
  • 广州微网站色块网站设计
  • 镇江建站推广报价公司经营范围分类目录
  • 满洲里网站建设廊坊网站建设方案最新报价
  • 百度站长工具排名东莞网站设地
  • 做图客网站东莞高风险地区名单最新
  • 东胜区教育网站入口百度地图嵌入公司网站
  • 麦田建设工程网站做软件界面一般用什么软件
  • 网站建设速成网站界面(UI)设计
  • wordpress5.9文章编辑器中山口碑seo推广
  • 网站界面设计规则小公司网站用什么服务器划算
  • 住房城乡建设干部学院网站网站建设与维护 许宝良
  • 自己的网站什么做优化dede旅游网站
  • 公司网站打不开怎么办爱站网app
  • 南通网站建设策划书wordpress十大插件
  • 网站备案填了虚假座机能过吗来宾网站建设公司
  • 做网站ui去哪儿接私活设计wordpress
  • 六安网站建设价格公司企业免费网站系统
  • 手机创建自己网站做二手房网站
  • 陕西华伟建设有限公司网站校园网站建设的感受论文
  • FPGA毕业设计代做网站网站建设的人员组织
  • 单一产品做网站番禺本地网站
  • 国内哪个网站做水产比较大娱乐类网站怎么建设
  • 网站式的公司记录怎么做中国电力建设股份部官方网站
  • 邢台企业网站制作公司网络平台建设费用