网站目的及功能定位深圳网站优化哪家好

news/2025/10/8 15:03:25/文章来源:
网站目的及功能定位,深圳网站优化哪家好,wordpress 正版插件吗,贵州灵溪seo整站优化目录 101.RocketMQ的事务消息是如何实现的 102.为什么RocketMQ不使⽤Zookeeper作为注册中⼼呢#xff1f; 103.RocketMQ的实现原理 104.RocketMQ为什么速度快 105.消息队列如何保证消息可靠传输 106.消息队列有哪些作⽤ 107.死信队列是什么#xff1f;延时队列是什么 103.RocketMQ的实现原理 104.RocketMQ为什么速度快 105.消息队列如何保证消息可靠传输 106.消息队列有哪些作⽤ 107.死信队列是什么延时队列是什么 108.如何保证消息的⾼效读写 109.epoll和poll的区别 110.TCP的三次握⼿和四次挥⼿ 111.浏览器发出⼀个请求到收到响应经历了哪些步骤 112.跨域请求是什么有什么问题怎么解决 113.零拷⻉是什么 101.RocketMQ的事务消息是如何实现的 a. ⽣产者订单系统先发送⼀条half消息到Brokerhalf消息对消费者⽽⾔是不可⻅的 b. 再创建订单根据创建订单成功与否向Broker发送commit或rollback c. 并且⽣产者订单系统还可以提供Broker回调接⼝当Broker发现⼀段时间half消息没有收到任 何操作命令则会主动调此接⼝来查询订单是否创建成功 d. ⼀旦half消息commit了消费者库存系统就会来消费如果消费成功则消息销毁分布式事 务成功结束 e. 如果消费失败则根据重试策略进⾏重试最后还失败则进⼊死信队列等待进⼀步处理 102.为什么RocketMQ不使⽤Zookeeper作为注册中⼼呢 根据CAP理论同时最多只能满⾜两个点⽽zookeeper满⾜的是CP也就是说zookeeper并不能保证 服务的可⽤性zookeeper在进⾏选举的时候整个选举的时间太⻓期间整个集群都处于不可⽤的状态⽽这对于⼀个注册中⼼来说肯定是不能接受的作为服务发现来说就应该是为可⽤性⽽设计。 基于性能的考虑NameServer本身的实现⾮常轻量⽽且可以通过增加机器的⽅式⽔平扩展增加集群的抗压能⼒⽽zookeeper的写是不可扩展的⽽zookeeper要解决这个问题只能通过划分领域划分多个zookeeper集群来解决⾸先操作起来太复杂其次这样还是⼜违反了CAP中的A的设计导致服务之间是不连通的。 持久化的机制来带的问题ZooKeeper 的 ZAB 协议对每⼀个写请求会在每个 ZooKeeper 节点上保 持写⼀个事务⽇志同时再加上定期的将内存数据镜像Snapshot到磁盘来保证数据的⼀致性和持久性⽽对于⼀个简单的服务发现的场景来说这其实没有太⼤的必要这个实现⽅案太重了。⽽且本身存储的数据应该是⾼度定制化的。 消息发送应该弱依赖注册中⼼⽽RocketMQ的设计理念也正是基于此⽣产者在第⼀次发送消息的时候从NameServer获取到Broker地址后缓存到本地如果NameServer整个集群不可⽤短时间内对于⽣产者和消费者并不会产⽣太⼤影响。 103.RocketMQ的实现原理 RocketMQ由NameServer注册中⼼集群、Producer⽣产者集群、Consumer消费者集群和若⼲BrokerRocketMQ进程组成它的架构原理是这样的 Broker在启动的时候去向所有的NameServer注册并保持⻓连接每30s发送⼀次⼼跳 Producer在发送消息的时候从NameServer获取Broker服务器地址根据负载均衡算法选择⼀台服务器来发送消息 Conusmer消费消息的时候同样从NameServer获取Broker地址然后主动拉取消息来消费 104.RocketMQ为什么速度快 因为使⽤了顺序存储、Page Cache和异步刷盘。我们在写⼊commitlog的时候是顺序写⼊的这样⽐ 随机写⼊的性能就会提⾼很多写⼊commitlog的时候并不是直接写⼊磁盘⽽是先写⼊操作系统的 PageCache最后由操作系统异步将缓存中的数据刷到磁盘 105.消息队列如何保证消息可靠传输 消息可靠传输代表了两层意思既不能多也不能少。 1. 为了保证消息不多也就是消息不能重复也就是⽣产者不能重复⽣产消息或者消费者不能重复消费消息 2. ⾸先要确保消息不多发这个不常出现也⽐较难控制因为如果出现了多发很⼤的原因是⽣产者⾃⼰的原因如果要避免出现问题就需要在消费端做控制 3. 要避免不重复消费最保险的机制就是消费者实现幂等性保证就算重复消费也不会有问题通过幂等性也能解决⽣产者重复发送消息的问题 4. 消息不能少意思就是消息不能丢失⽣产者发送的消息消费者⼀定要能消费到对于这个问 题就要考虑两个⽅⾯ 5. ⽣产者发送消息时要确认broker确实收到并持久化了这条消息⽐如RabbitMQ的confirm机制Kafka的ack机制都可以保证⽣产者能正确的将消息发送给broker 6. broker要等待消费者真正确认消费到了消息时才删除掉消息这⾥通常就是消费端ack机制消费 者接收到⼀条消息后如果确认没问题了就可以给broker发送⼀个ackbroker接收到ack后才会删除消息 106.消息队列有哪些作⽤ 1. 解耦使⽤消息队列来作为两个系统之间的通讯⽅式两个系统不需要相互依赖了 2. 异步系统A给消息队列发送完消息之后就可以继续做其他事情了 3. 流量削峰如果使⽤消息队列的⽅式来调⽤某个系统那么消息将在队列中排队由消费者⾃⼰控制消费速度 107.死信队列是什么延时队列是什么 1. 死信队列也是⼀个消息队列它是⽤来存放那些没有成功消费的消息的通常可以⽤来作为消息重试 2. 延时队列就是⽤来存放需要在指定时间被处理的元素的队列通常可以⽤来处理⼀些具有过期性操作的业务⽐如⼗分钟内未⽀付则取消订单 108.如何保证消息的⾼效读写 零拷⻉ kafka和RocketMQ都是通过零拷⻉技术来优化⽂件读写。 传统⽂件复制⽅式 需要对⽂件在内存中进⾏四次拷⻉。 零拷⻉ 有两种⽅式 mmap和transfileJava当中对零拷⻉进⾏了封装 Mmap⽅式通过 MappedByteBuffer对象进⾏操作⽽transfile通过FileChannel来进⾏操作。Mmap 适合⽐较⼩的⽂件通常⽂件⼤⼩不要超过1.5G ~2G 之间。Transfile没有⽂件⼤⼩限制。RocketMQ当中使⽤Mmap⽅式来对他的⽂件进⾏读写。 在kafka当中他的index⽇志⽂件也是通过mmap的⽅式来读写的。在其他⽇志⽂件当中并没有使⽤零拷⻉的⽅式。Kafka使⽤transfile⽅式将硬盘数据加载到⽹卡。 109.epoll和poll的区别 1. select模型使⽤的是数组来存储Socket连接⽂件描述符容量是固定的需要通过轮询来判断是否发⽣了IO事件 2. poll模型使⽤的是链表来存储Socket连接⽂件描述符容量是不固定的同样需要通过轮询来判断是否发⽣了IO事件 3. epoll模型epoll和poll是完全不同的epoll是⼀种事件通知模型当发⽣了IO事件时应⽤程序才进⾏IO操作不需要像poll模型那样主动去轮询 110.TCP的三次握⼿和四次挥⼿ TCP协议是7层⽹络协议中的传输层协议负责数据的可靠传输。 在建⽴TCP连接时需要通过三次握⼿来建⽴过程是 1. 客户端向服务端发送⼀个SYN 2. 服务端接收到SYN后给客户端发送⼀个SYN_ACK 3. 客户端接收到SYN_ACK后再给服务端发送⼀个ACK 在断开TCP连接时需要通过四次挥⼿来断开过程是 1. 客户端向服务端发送FIN 2. 服务端接收FIN后向客户端发送ACK表示我接收到了断开连接的请求客户端你可以不发数据了不过服务端这边可能还有数据正在处理 3. 服务端处理完所有数据后向客户端发送FIN表示服务端现在可以断开连接 4. 客户端收到服务端的FIN向服务端发送ACK表示客户端也会断开连接了 111.浏览器发出⼀个请求到收到响应经历了哪些步骤 1. 浏览器解析⽤户输⼊的URL⽣成⼀个HTTP格式的请求 2. 先根据URL域名从本地hosts⽂件查找是否有映射IP如果没有就将域名发送给电脑所配置的DNS进 ⾏域名解析得到IP地址 3. 浏览器通过操作系统将请求通过四层⽹络协议发送出去 4. 途中可能会经过各种路由器、交换机最终到达服务器 5. 服务器收到请求后根据请求所指定的端⼝将请求传递给绑定了该端⼝的应⽤程序⽐如8080被tomcat占⽤了 6. tomcat接收到请求数据后按照http协议的格式进⾏解析解析得到所要访问的servlet 7. 然后servlet来处理这个请求如果是SpringMVC中的DispatcherServlet那么则会找到对应的 Controller中的⽅法并执⾏该⽅法得到结果 8. Tomcat得到响应结果后封装成HTTP响应的格式并再次通过⽹络发送给浏览器所在的服务器 9. 浏览器所在的服务器拿到结果后再传递给浏览器浏览器则负责解析并渲染 112.跨域请求是什么有什么问题怎么解决 跨域是指浏览器在发起⽹络请求时会检查该请求所对应的协议、域名、端⼝和当前⽹⻚是否⼀致如 果不⼀致则浏览器会进⾏限制⽐如在www.baidu.com的某个⽹⻚中如果使⽤ajax去访问 www.jd.com是不⾏的但是如果是img、iframe、script等标签的src属性去访问则是可以的之所以浏览器要做这层限制是为了⽤户信息安全。但是如果开发者想要绕过这层限制也是可以的 1. response添加header⽐如resp.setHeader(Access-Control-Allow-Origin, *);表示可以访问 所有⽹站不受是否同源的限制 2. jsonp的⽅式该技术底层就是基于script标签来实现的因为script标签是可以跨域的 3. 后台⾃⼰控制先访问同域名下的接⼝然后在接⼝中再去使⽤HTTPClient等⼯具去调⽤⽬标接⼝ 4. ⽹关和第三种⽅式类似都是交给后台服务来进⾏跨域访问 113.零拷⻉是什么 零拷⻉指的是应⽤程序在需要把内核中的⼀块区域数据转移到另外⼀块内核区域去时不需要经过先 复制到⽤户空间再转移到⽬标内核区域去了⽽直接实现转移。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/931631.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025 年最新推荐!小程序开发机构排行榜:覆盖定制开发 / 电商 / 预订 / 配送多场景优质服务商成都小程序开发/小程序定制开发/电商小程序开发/预订服务小程序开发公司推荐

在数字化转型浪潮下,小程序已成为政企打通线上服务、提升运营效率的关键工具,但其开发市场却乱象丛生。不少厂商以模板套用冒充定制开发,导致交付后功能与需求脱节、二次开发受阻;部分服务商技术迭代缓慢,开发的小…

CF280D k-Maximum Subsequence Sum 题解(线段树+反悔贪心维护k段最大子段和)

线段树维护区间最大子段和是好做的:每个节点维护当前最大子段和、从左端点开始的最大子段和、从右端点开始的最大子段和、当前节点的和。 这个题允许我们选择最多 \(k\) 段,于是我们可以考虑一个类似于反悔贪心的做法…

深圳网站优化公司哪家好wap建站程序合集

博客主页:誓则盟约系列专栏:IT竞赛 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ 蓝桥第14场小白入门赛T1/T2/T3 题目: T1照常还是送分题无需多…

做网站要分几部分完成广东网站建设方便

一、项目介绍 在游乐场、商场、景区等人流量较大的地方,往往存在用户需要临时存放物品的情况,例如行李箱、外套、购物袋等。为了满足用户的储物需求,并提供更加便捷的服务体验,当前设计了一款物联网智能储物柜。 该智能储物柜通…

2025年微信小程序开发:趋势、最佳实践与AI整合 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

网站点击率怎么建西安做公司网站

STM32G4系列单片机,为32位的微控制器,理论上其内部寄存器地址最多支持4GB的命名及查找(2的32次方,地址命名为0x00000000至0xFFFFFFFF)。STM32官方对4GB的地址存储进行编号时,又分割成了8个block区域&#x…

网站有哪几种类型做网站 华普花园

会计学专业学什么 会计学专业属于工商管理学科下的一个二级学科,本专业培养具备财务、管理、经济、法律等方面的知识和能力,具有分析和解决财务、金融问题的基本能力,能在企、事业单位及政府部门从事会计实务以及教学、科研方面工作的工商管…

实验课1

实验1源代码1 #include<stdio.h> 2 int main() 3 { 4 printf(" o\n"); 5 printf("<H>\n"); 6 printf("I I\n"); 7 8 return 0; 9 } View Code运行…

做自我介绍的网站的图片素材怎么用动图做网站背景

Description Input 第一行为两个整数n, m。第二行有n个整数&#xff0c;为a1&#xff0c;a2, …, an。 Output 包含n行&#xff0c;每行m个1~nm的正整数&#xff0c;各不相同&#xff0c;以空格分开。如果有多解&#xff0c;输出任意一组解&#xff1b;如果无解&#xff0c;输出…

深入解析:【LeetCode 热题100】回溯:括号生成 组合总和(力扣22 / 39 )(Go语言版)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

完整教程:基于 COM 的 XML 解析技术(MSXML) 的总结

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

asp网站开发需要什么网站建设 企业文化

来源&#xff1a;ScienceAI编辑&#xff1a;萝卜皮人类的大部分细胞中&#xff0c;每时每刻都在进行着各种复杂的转录过程&#xff1b;这一过程与后续的蛋白质合成息息相关&#xff0c;从而会影响人体中各类酶、抗体、激素、免疫因子等生物分子的产生&#xff0c;最终影响人的身…

详细介绍:Windows如何定制键盘按键

详细介绍:Windows如何定制键盘按键pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco…

台州网站建设系统江苏网站建设电话

要搭建一个标准的测量系统,需要考虑以下几个方面: 确定测量目的和需求:首先需要明确测量的目的和需求,例如测量长度、重量、体积等。同时需要考虑测量的精度和误差范围,以及测量系统的适用范围和条件等。选择合适的传感器:根据测量目的和需求,选择合适的传感器类型,例如…

TheHackersLabs Templo writeup

信息收集 nmap获取userFlag 去web看一下web上只有一个默认的index.html,通过gobuster扫一下目录 gobuster dir -u http://192.168.43.208/ -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt 有一个w…

卖花网站模板太原网站优化培训

1.rpm文件: 1.1安装rpm文件: rpm -ivh kde-select.rpm23 #--nodeps强制安装,无视环境缺少依赖的检查 rpm -ivh --nodeps kde-select.rpm #--force --replacefiles可以无视rpm的冲突去强制替换(如两个rpm的安装路径相同了会有冲突) rpm -ivh --nodeps --force --replacef…

深入解析:Oracle、PostgreSQL 与 MySQL 数据库对比分析与实践指南

深入解析:Oracle、PostgreSQL 与 MySQL 数据库对比分析与实践指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "…

PCIe扫盲——链路初始化与训练基础(三)之LTSSM

这一篇文章来简单地介绍一下链路训练状态机(Link Training and Status State Machine,LTSSM),并简要地介绍各个状态的作用和实现机制。 LTSSM有11个状态(其中又有多个子状态),分别是Detect、Polling、Configura…

嘉兴哪里可以做淘宝网站wordpress jquery异步请求

题目&#xff1a;洛谷P1850、UOJ#262、BZOJ4720、Vijos P2005。 题目大意&#xff1a;有n个时间段&#xff0c;第i个时间段只能在教室$c_i$上课&#xff0c;另一个上这门课的教室在$d_i$。现在你最多可以进行m次申请&#xff0c;对于第i个时间段的申请如果成功&#xff0c;那么…