湛江制作网站多少钱,个人网站建设策划书怎么写,景区宣传推广方案,培训班学编程1.ping底层原理
Ping 是 ICMP 的一个重要应用#xff0c;主要用来测试两台主机之间的连通性。Ping 的原理是通过向目的主机发送 ICMP Echo 请求报文#xff0c;目的主机收到之后会发送 Echo 回答报文。Ping 会根据时间和成功响应的次数估算出数据包往返时间以及丢包率。
基…1.ping底层原理
Ping 是 ICMP 的一个重要应用主要用来测试两台主机之间的连通性。Ping 的原理是通过向目的主机发送 ICMP Echo 请求报文目的主机收到之后会发送 Echo 回答报文。Ping 会根据时间和成功响应的次数估算出数据包往返时间以及丢包率。
基于ICMP实现的tracert工作原理 在这一种实现中我们不使用UDP协议而是直接发送一个ICMP回显请求echo request数据包服务器在收到回显请求的时候会向客户端发送一个ICMP回显应答echo reply数据包。流程与上面相似只是最后判断结束上为目标主机而不是中间经过的主机或路由器返回一个ICMP回显应答则结束。
2.redis和mysql不一致的问题
强一致写什么读什么 弱一致某个时间一致 最终一致一定时间内一致 Cache-Aside Pattern Read-Through/Write through Write behind 1.旁路缓存 2.cache aside 3.read-through多了一个cache-provider 用删除缓存代替更新缓存不会出现两个线程同时更新的并发问题 cache aside先操作数据库可以保证mysql和redis都是新数据
4.读binlog异步删除缓存重试删除缓存会造成业务代码入侵 canal把binlog采集发送到mq队列中通过ack机制确认更新信息
5.乐观锁防止旧覆盖新问题 用时间戳或版本号机制
3.scarpy分布式多机队列爬虫
主机:维护爬取队列 从机负责数据抓取数据处理数据存储 队列如何维护Redis队列 多个机器分成多个队列 根据机器的性能分配任务
4.mq按序消费
消息队列中的若干消息如果是对同一个数据进行操作这些操作具有前后的关系必须要按前后的顺序执行否则就会造成数据异常。举例比如通过mysql binlog进行两个数据库的数据同步由于对数据库的数据操作是具有顺序性的如果操作顺序搞反就会造成不可估量的错误
1.rabbit多消费者 2.多线程乱序 3.kafka 4.kafka 总结 1.一一对应1topic partition 消费者 线程 or 1queue 1consumer 2.多线程的话使用内存队列按序排保证顺序