1.应用场景
主要用于学习那些日常开发中,经常听到用到的软件/服务通信协议,弄清楚协议,通信协议有哪些, 本质是什么,以及各自的应用场景。 |
2.学习/操作
1.文档阅读2.整理输出作为程序开发人员,日常开发中,听到的和用到的协议有很多。 从网络模型,四层或者七层OSI模型来划分。 他们会属于不同的层级。 协议有很多,有些已经不用了,废弃了,有些还是一如既往地发挥作用,有些也在制定当中, 但是不管如何,有些面对他们,总会感到陌生,甚至有点不知所措,他们是什么,发挥什么作用,如何使用他们,这都是问题,但是我们能做的也许就只有,去了解,学习他们,然后使用他们,发挥他们的价值,解答内心的疑问。-- 个人想法,有时候就是想到什么写什么。 TCP 网络通信时需要设定通信协议。 常见的 TCP 通用网络通信协议有:「即基于TCP的协议」
|
3.问题/补充
1. 数据库主从读写分离「一定会涉及到主从复制,也伴随着主从同步的延迟问题,然后就引出了主从同步的数据一致性问题和取舍方案」本节课,我带你了解了查询量增加时,我们如何通过主从分离和一主多从部署抵抗增加的数据库流量的,你除了掌握主从复制的技术之外,还需要了解主从分离会带来什么问题以及它们的解决办法。 这里我想让你明确的要点主要有: 1. 主从读写分离以及部署一主多从可以解决突发的数据库读流量,是一种数据库横向扩展的方法; 2. 读写分离后,主从的延迟是一个关键的监控指标,可能会造成写入数据之后立刻读的时候读取不到的情况; 3. 业界有很多的方案可以屏蔽主从分离之后数据库访问的细节,让开发人员像是访问单一数据库一样,包括有像 TDDL、Sharding-JDBC 这样的嵌入应用内部的方案,也有像 Mycat 这样的独立部署的代理方案。 其实,我们可以把主从复制引申为存储节点之间互相复制存储数据的技术,它可以实现数据的冗余,以达到备份和提升横向扩展能力的作用。 在使用主从复制这个技术点时,你一般会考虑两个问题: 1. 主从的一致性和写入性能的权衡,如果你要保证所有从节点都写入成功,那么写入性能一定会受影响;如果你只写入主节点就返回成功,那么从节点就有可能出现数据同步失败的情况,从而造成主从不一致,而在互联网的项目中,我们一般会优先考虑性能而不是数据的强一致性。 2. 主从的延迟问题,很多诡异的读取不到数据的问题都可能会和它有关,如果你遇到这类问题不妨先看看主从延迟的数据。
一课一思 我们提到,存储节点间互相复制数据是一种常见的,提升系统可用性和性能的方式,那么你还了解哪些组件有使用这种方式呢?它们的复制方式又是如何的呢?欢迎在留言区与我分享你的经验。 2, redis传输协议与http传输协议有什么区别? 不都是基于ip/tcp协议吗
实际上,Redis和HTTP都是应用层协议。 应用层协议是在网络通信中位于最高层的协议,用于定义不同应用程序之间的通信规则和数据交换格式。它们建立在传输层(如TCP)之上,使用传输层提供的可靠的数据传输服务。 Redis和HTTP都运行在应用层,而不是直接在IP/TCP协议上操作。它们定义了特定的通信规则和数据格式,以便客户端和服务器之间进行有效的交互。 总结:Redis和HTTP都是应用层协议,用于定义数据交换和通信规则,但在通信方式、数据格式和用途上有所不同。 |
4.参考
参见文档阅读列表 |
后续补充
...