摘要:
消息丢失的情况 publisher 在往rabbitmq发送消息时,可能由于网络问题导致消息丢失 rabbitmq在投递消息时,找不到匹配的队列消息时,可能导致消息丢失,rabbitmq队列存储消息在未push给消费者之前,如果服务器故障可能导致消息丢失 rabbitmq在将消息push给消费者时, 阅读全文
摘要:
目标 根本目标: 软件的可持续发展 原因:代码会随着时间腐化。每次改动都会增加软件熵,增加无序性。代码是负债,而不是资产。 解决方案: 持续清理和重构 编写单元测试进行校正 收益: 减少调试时间 改善代码质量 帮助理解功能 增加重构自信 代价:单元测试也是代码,需要消耗时间和精力,因此需要平衡成本和 阅读全文
摘要:
NAT 全称为:Network Address Translation (RFC 2663),通过在NAT路由器中添加地址转换表(Translation Table来实现)。其重要作用有两个: 1. 解决IP地址不够用的问题 2. 隐藏局域网内部的配置细节 NAT的问题: 1. NAT违反了端到端原 阅读全文
摘要:
DHCP即动态主机配置协议(Dynamic Host Configuration Protocal),可以通过DHCP服务器自动为局域网中的主机配置IP地址。 DHCP运行在UDP之上,整个过程如下: 1. 新接入局域网的主机通过UDP广播,发现DHCP服务器。主机发送DISCOVER广播报文。该广 阅读全文
摘要:
特征 面向连接:通讯双发发送数据之前要建立连接 可靠交付:提供尽可靠交付的服务,保证消息不错、不乱、不丢 面向字节流:不缺分消息边界,发送数据为字节流。使用者需要自己区分消息边界。 全双工(full-duplex service):实时的双向通讯。 TCP格式 创建连接 三次握手 为什么两次握手不行 阅读全文
摘要:
DNS 域名系统(Domain Name System)。由两部分组成: 分层的DNS服务器实现的分布式数据库,服务器通常是服务器通常运行BIND软件即Berkeley Internet Name Domain的Unix机器。 能够使主机查询分布式数据库的应用层协议(dns协议) DNS协议运行在U 阅读全文
摘要:
1. 按照官方文档进行docker容器安装,安装完成后启动报错,关键错误日志如下: apisix | 2023/05/25 06:36:35 [error] 7#7: *205 [lua] resolver.lua:80: parse_domain(): failed to parse domain 阅读全文
摘要:
Pod的功能 首先我们知道,要想在Kubernetes中部署一个容器,我们必须将其封装到Pod中再进行部署。为什么Kubernetes不直接使用容器,非要引入Pod这样一个概念来对容器进行封装呢?原因看上去好像一句废话一下:容器满足不了Kubernetes的需求。其实Pod在容器之上做了一系列的功能 阅读全文
摘要:
Pod Pod是Kubernetes集群调度的基本单元。每一个容器化的应用在Kubernetes中必须被封装为一个Pod后,才能被调度和执行。每一个Pod可以包含一个或多个Container。Pod不直接运行应用,而是通过启动容器来运行应用。 当一个Pod中包含多个容器时,这些容器共享一个Pod E 阅读全文
摘要:
What Is K8S 狭义上讲,K8S是一个应用编排器。绝大部分情况下,它被用于 编排 容器化 的云原生微服务应用。具体的,它可以实现: 自动化部署应用 按需对应用进行扩容或缩容 应用自愈(如果应用宕机,会自动重启) 实现应用不间断的滚动更新和回滚 。。。 名词解释: 容器化:容器化就是将应用或服 阅读全文