DNS协议
DNS协议说明 如果只想关注计算机网络的应用: 熟悉:DNS协议的作用和应用 如果想深入学习计算机网络: 熟悉:DNS协议的全部内容。 概述DNS协议(Domain Name System,域名系统)是互联网的核心服务之一,主要用于实现域名与IP地址的相互映射,使人类可读的域名(如www.example.com)转换为机器可识别的IP地址(如192.0.2.1)。 作用 域名解析:将用户友好的域名转换为对应的IP地址,解决直接记忆复杂IP地址的难题。 反向解析:支持通过IP地址查询域名,用于网络管理和安全审计。 分布式数据库:采用层次化、分布式的架构,避免单点故障,提升系统的可靠性和扩展性。 域名因特网采用层次树状结构的域名结构,域名的结构有若干部分组成,各分量之间用“点”隔开,分别代表不同级别的域名: ......
FTP协议
FTP协议说明 如果只想关注计算机网络的应用: 熟悉:FTP协议的作用和应用场景 如果想深入学习计算机网络: 熟悉:本文档的全部内容。 概述FTP(File Transfer...
应用层概述
...
电子邮件
...
万维网
...
HTTP协议
...
分布式系统概述
...
Etcd网络组件
ETCD概述Etcd是一个golang编写的分布式、高可用的一致性键值存储系统,用于配置共享和服务发现等。它使用Raft一致性算法来保持集群数据的一致性,且客户端通过长连接watch功能,能够及时收到数据变化通知,相较于Zookeeper框架更加轻量化。以下是关于etcd的安装与使用方法的详细介绍。 节点配置如果是单节点集群其实就可以不用进行配置,默认etcd的集群节点通信端口为2380,客户端访问端口为2379。若需要修改,则可以配置:/etc/default/etcd 1234567891011121314151617181920212223242526272829303132333435# 节点名称,默认为 "default" ETCD_NAME="etcd1" # 数据目录,默认为 "${name}.etcd" ETCD_DATA_DIR="/var/lib/etcd/default.etcd"# 用于客户端连接的 URL。...
gflags命令行参数组件
Gflags概述gflags是Google开发的一个开源库,用于C++应用程序中命令行参数的声明、定义和解析。gflags库提供了一种简单的方式来添加、解析和文档化命令行标志(flags),使得程序可以根据不同的运行时配置进行调整。它具有如下几个特点: 易于使用:gflags 提供了一套简单直观的API 来定义和解析命令行标志,使得开发者可以轻松地为应用程序添加新的参数。 自动帮助和文档:gflags 可以自动生成每个标志的帮助信息和文档,这有助于用户理解如何使用程序及其参数。 类型安全:gflags 支持多种数据类型的标志,包括布尔值、整数、字符串等,并且提供了类型检查和转换。 多平台支持:gflags 可以在多种操作系统上使用,包括Windows、Linux 和macOS。 可扩展性:gflags 允许开发者自定义标志的注册和解析逻辑,提供了强大的扩展性。 官方文档:...
jsoncpp json解析组件
Json库概述 JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格式 JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,.NET)编程语言都支持 JSON JSON 具有自我描述性,更易理解 简而言之: JSON就是可以帮助我们对数据进行序列化和反序列化。 JSON在C++上的库为jsoncpp Jsoncpp在Ubunto 20.04上的安装1sudo apt install libjsoncpp-dev Json库文件: Json的动静态库: 带Json库的C++编译指令: Jsoncpp的使用编译选项1g++ -o $@ $^ -std=c++11 -ljsoncpp 头文件1#include...